
首先自定义一个函数(如SumType)
----------------------
Function SumType(rng As Range, T As String)
ApplicationVolatile
Dim i%, mysum&, Numb, st$
st = rng
Numb = Split(st, T)
For i = 0 To UBound(Numb)
mysum = mysum + Numb(i)
Next
SumType = mysum
End Function
-----------------------
然后就可以跟内置函数一样使用了,如图:
----------------------------------
函数说明
参数有两个:
1、前一个参数为你需要求值的单元格对象,这里只能使用单个的单元格。(如图中的A1)
2、后一个参数为你需要求值的单元格中内置的分隔符号,可以是任意的符号。
3、单元格内置的符号只能一种(任意的一种都行),不能同时混有两个或两个以上的符号。
不能直接相加。数字计算只能是针对纯数值型的数字,即使把单元格里的“元”去掉,若数字的格式还是文本,也不能相加。
如果单元格数字不是很多,比如你上面的例子,只有4个,那最简单的办法就是把元去掉再相加。如果数据量很大,比如有100个这样的数字要相加,可以用公式批量 *** 作。步骤如下:
1、先用substitute函数把每个单元格里的“元”去掉。在A2单元格设置公式:=SUBSTITUTE(A1,"元","")。再复制公式到B2、B3、B4单元格……。这时所有的单元格里的元都被去掉了,但单元格格式还是文本型,要把它们都改为数值型。
2、把文本型数字改成数值型数字。方法有两种,这里介绍一种给你。插入一行空白行(假设该行尾第三行),把该行的单元格格式设为常规或者数值,在对应的该行每个单元格里都填上数字1,然后复制第二行,点击第三行,右键点击“选择性粘贴”,会d出一个小窗口,把“数值”、“乘”这两个前面的小圆圈点上,然后确定。就把所有文本型的数字改成数值型了。最后就可进行相加计算。
F5公式:
=SUMIF(C$5:C5,C5,D$5:D5)-SUMIF(C$5:C5,C5,E$5:E5)
加判断:
=IF(C5="","",SUMIF(C$5:C5,C5,D$5:D5)-SUMIF(C$5:C5,C5,E$5:E5))
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)