发布网友 发布时间:2022-04-20 20:26
共5个回答
热心网友 时间:2022-07-12 04:28
用公式把数字提取取B、C……列,再求和
注意一点:用逗号分隔的数字,逗号会被看作千位分隔符,看作一个数字
=IFNA(LOOKUP(9E+307,--RIGHT(LEFT($A2,SMALL(IF(ISNUMBER(-MID($A2,ROW($1:$99),1))*ISERR(-MID($A2,ROW($2:$100),1))*(MID($A2,ROW($2:$100),1)<>"."),ROW($1:$99)),COLUMN(A1))),ROW($1:$99))),"")
这是一个数组公式,要按Ctrl+Shift+Enterx结束,向右拖拉填充。
热心网友 时间:2022-07-12 04:28
B2公式如下,数组公式,输完按CTRL+SHIFT+ENTER生成数组,不管文本内数字有多复杂,也不管是否存在小数,更不用在逗号","后面手工加一个空格,全都能准确找出数字串,并且在一个单元格内完成提取数字并求和。
B2公式:
=SUMPRODUCT(IFERROR(--LEFT(MID(A2,ROW($1:$300),20),FIND(LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID(A2,ROW($1:$300),20),0,),1,),2,),3,),4,),5,),6,),7,),8,),9,),".",),1),MID(A2,ROW($1:$300),20))-1),0)*ISERR(-MID(SUBSTITUTE(A2,".",0),ROW($1:$300)-1,1)))
热心网友 时间:2022-07-12 04:29
你的数据结构也太不规范了啊,账务数据可不是这么玩的啊!!
给你一个数组公式,在B2单元格输入数组公式:
=EVALUATE(SUBSTITUTE(TRIM(TRIM(SUBSTITUTE(TEXTJOIN("",TRUE,IFERROR(IF(CODE(MID(A2,ROW($1:$99),1))>100," ",MID(A2,ROW($1:$99),1)),"")),"+"," ")))," ","+"))
是数组公式!!!必须是CTRL+SHIFT+ENTER这3个键同按结束,否则公式无效的哦。
或者,你可以使用比较严密一些的规范公式:
=IFERROR(EVALUATE(SUBSTITUTE(TRIM(TRIM(SUBSTITUTE(TEXTJOIN("",TRUE,IFERROR(IF(ABS(CODE(MID(A2,ROW($1:$100),1))-52)>6," ",MID(A2,ROW($1:$100),1)),"")),"+"," ")))," ","+")),"")
复制并下拉,即可…………
热心网友 时间:2022-07-12 04:29
b1加个辅助单元格,b1=SUMPRODUCT(ISERROR(--(0&MID(A1,ROW(1:999),1)))*ISNUMBER(--(0&MID(A1,ROW(2:1000),1))))回车,目的是计算出有几个连续的数字段,同时让c1公式相对简洁点
c1=SUM(--MID(A1&"a",SMALL(IF(ISERROR(--(0&MID(A1&"a",ROW(1:999),1)))*ISNUMBER(--(0&MID(A1&"a",ROW(2:1000),1))),ROW($2:$1000)),ROW(INDIRECT("1:"&B1))),SMALL(IF(ISNUMBER(--(0&MID(A1&"a",ROW(1:999),1)))*ISERROR(--(0&MID(A1&"a",ROW(2:1000),1))),ROW($1:$999)),ROW(INDIRECT("1:"&B1)))-SMALL(IF(ISERROR(--(0&MID(A1&"a",ROW(1:999),1)))*ISNUMBER(--(0&MID(A1&"a",ROW(2:1000),1))),ROW($2:$1000)),ROW(INDIRECT("1:"&B1)))+1))数组公式,同时按ctrl+shift+回车结束即可
热心网友 时间:2022-07-12 04:30
Excel中要取出一段文字内的所有的数字并求和,这个如果数字不多的情况下直接加一列,然后把所有的数字列出来直接进行求和就可以了,一般这种数字不会太多了,看这个表上。