如图,1.横向需要计算空粒乘10与其他项对应数字之和,如空粒是8残处是2,其他都是零,则需计算8*10+2是多少;2.纵向需计算每相同文字项对应数字之和,如纵项所有的空粒对应数字之和,如纵项所有异物对应数字之和,3.请问一格只一个文字对应一个数字,但文字数字均不同,可以只对数字进行求和吗,如何实现请问如何实现,能实现吗。
我举个实际的例子,我会根据需要在括号写数,有没有括号不重要,一个项目对应一个数字,数字为零的我一般省略,也可以都写上,写成零。
单元格内计算(就是横向红字数字)有空粒项的对应的数需要乘以10再相加;其他种类的都是对应数字直接相加,纵向是每项相同文字对应后面的数字之和。
不知道大大们懂了吗
因为比较复杂,直接用公式书写麻烦、不易实现,建议使用VBA
Alt+F11,调出VBA,然后“插入”——“模块”
问题1:
Function Suma(Rng As Range) As Integer如果数据在A1,在B1可以输入公式:=Suma(A1) 就可以得到和,82
问题2: 也可以用VBA循环得到,但是建议将数据先单独取出来再计算。用VBA:
Function EachData(Rng As Range, n) As Integer使用方法:
如果这样,其实问题一的求和不用单独写一个VBA。得到每个项的数字,在后面直接计算就行。纵向计算也方便。
问题3:没看懂
追问第一个问题就是我要的意思,请问看我的追加图片后,这两项要求有没有好的实现方法,谢谢。第二项不管在一个单元格还是多个,只要能计算出每个相同项目对应的和值就可以了
追答你实际的单元格内容里面没有数量的项都不显示?
如果那样的话建议用公式吧,虽然比较麻烦,并且不容易看懂:
首先B1~I1复制上各项内容,【括号、标点、空格要与A列的完全一样】
B2输入公式:
=INT(IF(ISERR(FIND(B$1,$A2)),0,MID($A2,FIND(B$1,$A2)+LEN(B$1)+1,FIND(")",$A2,FIND(B$1,$A2)+LEN(B$1)+1)-FIND(B$1,$A2)-LEN(B$1)-1)))
注意:$符号的运用
将公式向后拖到I列,向下拖到行尾。
得到了每种的数量,后面的横向、纵向求和 比较简单,自己写公式吧
试了一下,真大神也,但分出的列我不需要打印,可以放在打印外的部分就是换到别的列吗
分列是简单,但怕不利于打印呀
追答使用函数也很简单,无非复杂一些。把带数据的内容发上来,结果如何显示也说清楚。