Excel怎么统计文字后面的数字

问题描述:

Excel怎么统计文字后面的数字

当我在A2中输入:小明12、小贾14、小孙43、小刚19,在B2中输入小明时,在C2中自动出现小明后面的数字,当B2中改为小贾时,C2中也自动更改为小贾后面的数字14,
1个回答 分类:综合 2014-11-17

问题解答:

我来补答
把下面的公式复制到C2单元格即可.=IF(ISERR(FIND("、",RIGHT(A2,LEN(A2)-FIND(B2,A2)+1-LEN(B2)))),RIGHT(A2,LEN(A2)-FIND(B2,A2)+1-LEN(B2)),LEFT(RIGHT(A2,LEN(A2)-FIND(B2,A2)+1-LEN(B2)),FIND("、",RIGHT(A2,LEN(A2)-FIND(B2,A2)+1-LEN(B2)))-1)) 说明:如果A2单元格内容中找不到B2单元格内容,C2返回错误值#VALUE!;否则返回B2单元格对应的数字. 备注:一般的,不能像你这样设计使用表格,不符合表格设计的习惯和特点.而是应这样设计:
再问: 呵呵,谢谢您的答案与见解。我这样设计表格,是也因为一个格子里要有很多项目,而每个项目又是独立的数量,这样设计是挺少见的……您的这个答案挺好的,不过不是我这题想要的结果……不过还是要谢谢您……
再答: 嗯。。看了你的所有追问以及其他知友的回答,虽然说下面的公式很复杂,但个人觉得最合适了! 为什么说最合适呢?比如A2单元格中的名称为:小明12、小贾14、大明63、小刚19 那么,当在B2中输入“明”,用其他知友的公式会返回最先出现的明后面的12, 而不是大明后面的63 。显然,这个结果不够精确! 而我下面的公式,只有准确输入统计项目后,才会出现正确的统计数字,否则全部返回0 =IF(ISERR(FIND(B2,A2)),0,IF(AND(IF(FIND(B2,A2)>1,IF(MID(A2,FIND(B2,A2)-1,1)="、",1,0),1)=1,IF(LEN(MID(A2,FIND(B2,A2)+LEN(B2),1))=LENB(MID(A2,FIND(B2,A2)+LEN(B2),1)),1,0)=1),IF(LEN(RIGHT(A2,LEN(A2)-FIND(B2,A2)-LEN(B2)+1))=LENB(RIGHT(A2,LEN(A2)-FIND(B2,A2)-LEN(B2)+1)),RIGHT(A2,LEN(A2)-FIND(B2,A2)-LEN(B2)+1),MID(A2,FIND(B2,A2)+LEN(B2),FIND("、",RIGHT(A2,LEN(A2)-FIND(B2,A2)-LEN(B2)+1))-1)),0)) 当然,如果你的要求不像上面我提到的那么高,可以用下面的公式: =IF(ISNA(LOOKUP(,-MID(A2,FIND(B2,A2)+LEN(B2),ROW(1:9)))),0,-LOOKUP(,-MID(A2,FIND(B2,A2)+LEN(B2),ROW(1:9)))) 用下面的这个公式需要注意的是: 应当把两处ROW(1:9)中的数字9更改为不低于你要统计数字的最高位数! 比如A2单元格中的名称为:小明12、小贾14、小孙63112864570、小刚19 上面小孙后面的数字63112864570共有11位 那么,就要把两处ROW(1:9)更改为ROW(1:11) 当然,你也可以改成更高的位数,比如改为:ROW(1:100) 至于公式中函数的解释及具体用法,解释起来是非常复杂和费事的! 建议你在EXCEL提供的帮助中搜索学习,里面有语法和示例,简单易懂。
 
 
展开全文阅读
剩余:2000
下一页:先解十一题