|
废话这么多,还是用函数公式说话吧;表2;A4,数组,下拉- =INDIRECT("日记账!"&TEXT(RIGHT(SMALL(IF(日记账!D$7:P$17=A$1,ROW($7:$17)/1%+COLUMN(A:M)*10001),ROW(A1)),4),"r0c00"),)
复制代码 B4,数组右拉下拉- =INDIRECT("日记账!"&TEXT(RIGHT(SMALL(IF(日记账!$D$7:$P$17=$A$1,(ROW($7:$17)+33*(COLUMN($B:$N)<>COLUMN()*4-6))/1%+COLUMN($B:$N)*10001),ROW(A1)),4),"r0c00"),)
复制代码
以现金为例,写个不成熟的公式;就以这两个公式来讲:首先表1是一天的数据?这个从设计上就不好,难道一天做一个表,那引用的时候还要从无数个表去引用数据;所以表1作为源数据,最好是有一个日期列,这样表2引用的时候就可以生成流水;
其次,A列的数据是以Z字型,还是倒Z字型引用源数据为结果,决定了公式的不同,没有要求自然就不知道该怎么写,这个公式是先行后列的倒Z字型引用
第三,B列公式右拉,到E列,得到的是其他支出,为什么,因为转出这一列设计的就不合理,一定要这么设计,那公式就需要单独写了,不能一个通用公式右拉;转出和其他支出位置互换,这样B:E列的公式就通用了,但是转出和手续费的公式依然要单独写,因为规律不同所以通用公式会非常长。所以如果源数据格式设计好,对函数公式的应用是非常重要的。
|
|