本帖最后由 dreameng 于 2015-3-27 13:32 编辑
各位,请教一个问题,K3现金流量表和利润表取数公式。
因为工作需要,报表需要取到上期数据和上年数据,这里就涉及公式里期间减1的问题,但如果关键字期间为1月份期间减1,公式不会自动给年度减1而取上年12月数据,的会造成取数错误,所以需要增加逻辑判断IF函数,同时需要用到RPTSHEETDATE这个函数,使用中发现RPTSHEETDATE镶嵌在IF中会造成错误,取不到数。所以用了一个间接方式,增加一行单元格,单元格先利用RPTSHEETDATE函数取到数据,然后IF里面直接引用这个单元格数据,这种间接方式解决。如以下公式=IF("B1=1",ACCT("6051","SY","",-1,12,13,""),ACCT("6051","SY","",0,-1,-1,""))也就是如果当然期间是1的话,上期数据应该是当然默认期间的年度-1,开始期间+12结束期间+13(这里因为有调整期间,如果没调整期间结束期间也是12),如果当前期间不是1,则年度不变,开始和结束期间各-1。这个问题已经解决。
现在问题是用同样的方法,发现现金流量表ACCTCASH函数无法正确取数,=IF("B1=1",ACCTCASH("CI1.01.01","S","RMB",-1,12,13,""),ACCTCASH("CI1.01.01","S","RMB",0,-1,-1,""))提示起止期间错误,请教各位如何解决这问题,或者其他公式实现这一目的。
经过多次实验发现只要当然关键字期间=1,则公式中起止期间不能出现期间-1,同理,如果当前期间=2,则公式不能出现-2,否则出现“起止期间错误”提示。以上公式在关键字期间和公式这个数之和大于0的情况下,不会出错,只要之和等于0,就出现“起止期间错误”提示。没搞清楚金碟是如何判断的,按道理if B1=1判断为真就直接显示("CI1.01.01","S","RMB",-1,12,13,"")这一计算结算,而不用进行B1值为假的计算。但金碟好像不管判断是否为真,都检验为假的公式。
|