大神你好,请问Excel表里面记账凭证的求和您这边是怎么弄得呀?我看了您的解答方式但是没有看懂

如题所述

我之前的回答你应该试过吧:

《记账凭证》

G13的原公式:

=LEFT(RIGHT(" ¥"&SUMPRODUCT($G$5:$P$12*10^(10-COLUMN($A:$J))),11-COLUMN(A:A)))

基本公式用乘积和函数SUMPRODUCT():

=SUMPRODUCT($G$5:$P$12*10^(10-COLUMN($A:$J)))

即分别汇总G5:G12、H5:H12、……、O5:O12、P5:P12的数值。但由于数值是从“分”~“百万”大小不同的位数,G5:G12、H5:H12等不能直接相加,故要分别扩大不同位数,从“分”~“百万”供9位数,用10的1次幂10的9次幂使个列的汇总值分开,以便于相加。用列号函数COLUMN()——(10-COLUMN($A:$J)))即以10减去从1~10依次得9、8、7、6、5、4、3、2、1、0。如G5:G12*10^9+H5:H12*10^8+……,这样就得出了一组实数。再用=LEFT(RIGHT(" ¥"&基本公式,11-列号函数))把一组实数一个个返回到相应位置。

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-21

    公式如下:

    =IF(OR($E7="",$G7=""),"",LEFT(RIGHT(" ¥"&$E7*$G7/1%,COLUMNS(H6:$O6))))

    请点击输入图片描述

    公式解释:

    OR($E7="",$G7="") 判断前面的单元格是否有数据输入(为空),如果为空返回空值。

    LEFT(RIGHT(" ¥"&$E7*$G7/1%,COLUMNS(H6:$O6)))把E7*G7计算的值乘以100,目的是去除小数点,然后前面加上一个空格和货币符号,加空格的目的是在取数时,前面不应该有的位置能取空值,right函数取右边N位数值,这个N位是动态的,由列数的相对和绝对引用控制COLUMNS(H6:$O6),使取到的数随着公式向右拖动逐渐减少。然后再用left把最左边的一位取出来填上。

本回答被提问者和网友采纳