如图A1出现x1 x2 x3字符串,则B2计算出6

解决方案 »

  1.   

    设置B1为=Val(Mid(A1,3,1))+Val(Mid(A1,7,1))+Val(Mid(A1,11,1))
    然后按住B1右下角的■向下拖到B3右下角。
      

  2.   

    感谢回复!但没出现结果呢,WPS不适用?
    主要是统计A列单元格x后面的字符串之和,前面的字符串数量不确定
      

  3.   

    纠正:
    =INT(MID(A1,3,1))+INT(MID(A1,7,1))+INT(MID(A1,11,1))
      

  4.   

    =INT(MID(A1,FIND("x",A1,1)+1,1))+INT(MID(A1,FIND("x",A1,FIND("x",A1,1)+1)+1,1))+INT(MID(A1,FIND("x",A1,FIND("x",A1,FIND("x",A1,1)+1)+1)+1,1))
      

  5.   

    楼主你好,如果字符串中的数字只有一位,请试试我的代码
    在B1中输入=SUM(IFERROR(--MID(A1, ROW(INDIRECT("1:" & LEN(A1))), 1), 0)), 然后用Ctrl + Shift + Enter来组成数组公式,就可以达到楼主的要求了。但是如果有些是一位数字,有些是一位以上数字的情况,上面的公式就不可以了,容我想一下,这类问题,不用VBA也是可以办到的
      

  6.   

    终于找到一个通用的公式了,假设数据在A1中,然后在B1中输入下列公式
    =SUMPRODUCT(TEXT(LEFT(TEXT(MID(A1 & "a", ROW(INDIRECT("1:" & LEN(A1))), COLUMN($A:$J)), ), COLUMN($A:$J) - 1), "0;;0;\0") * ISERR(-MID(A1, ROW(INDIRECT("1:" & LEN(A1))) - 1, 2)))
    其中用了INDIRECT这个公式,用于动态的获取字符串的长度,然后COLUMN($A:$J)这个公式,用于动态生成1,2,....这个数字序列,如果字符串中的数字的位数特别大,超过10位了,就需要将J向后调整