作业帮 > 综合 > 作业

含文字的单元格如何计算数字的和

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/16 04:21:18
含文字的单元格如何计算数字的和
=SUMPRODUCT(--(0&MIDB(C4:C35,SEARCHB("?",C4:C35&0,1),2*LEN(C4:C35)-LENB(C4:C35))))可以对含文字的单元格的数字进行计算,
但是如果每个单元格内部止一个数字呢,如果将同一个单元格里的也相加得数呢?可以实现一个单元格内的所有数据筛选求和么?
含文字的单元格如何计算数字的和
略说几个,以供参考.
方法一:=B2+SUBSTITUTE(C2,LEFT(C2,FIND("=",C2)),"")+D2(引用,以示尊重,特放第一)
方法二:=B2+RIGHT(C2,LEN(C2)-FIND("=",C2))+D2(可以不用那个很长的函数了)
方法三:=B2+MID(C2,FIND("=",C2)+1,10)+D2(又短了一点,节约是美德!只用两个函数,10表示取值的长度,多写点没事,加班费估计没人会达到10位数吧!也可以用LEN(C2)代替,要精确表示的话就用LEN(C2)-FIND("=",C2),是不是感觉跟上面方法二有点像了啊!)
方法四:公式里不便反向查找,但VBA里有,用InStrRev(C2,"=")就可以得到第一个“=”出现的位置,效果相当于LEN(C2)-FIND("=",C2),如果非要用1 to i的话有点麻烦了,但也不复杂,就是一个从右向左的取值比较的循环,直到取到“=”结束,就不用一步步说了吧,完整写一下:
Sub jlgz()
Dim T$,I%,J%,K%
T = "C"&ROW()
I = Len(T)
For J = 1 To I
If Right(T,1) = "=" Then
K = I - J + 1
Exit For
Else
T = Left(T,I- J)
End If
Next
MsgBox K
End Sub
方法五:上面都考虑反向或者是从后面某位截取,其实取第一位不也可以嘛!=B2+LEFT(C2,FIND("*",C2)-1)*250+D2,其实并不是每件事都要逆向思考的!
方法六:其实EXCEL里有个分列法,分隔符号用“=”,左边的忽略,把值放在空列(比如F),可以隐藏,则E2=B2+D2+F2,看似很简单,可用的人很少!不过如果数据要更新的话,分列后的数据是不会自动更新的,要重新分列,其实分列的效果也可以写成公式的,可以用几个公式,也可以只并成一个,还可以用“*”和“=”同时分列,可以思考下!
方法七:可以将4*250=1000分成两列,中间的线为虚不打印,左边(C列)靠右对齐,右边(D列,原图中D、E各向后移一列)靠左对齐,要更美观可以再缩进一点,C列只填数字(4),D2="*250="&C2*250,F2=B2+C2*250+E2.当然,如果还是可以用隐藏列的,比如还是将4填在F2,那么C2=F2&"*250="&F2*250,E2=B2+F2*250+D2