*EXCEL* 如果一系列单元格包含*字符串*,则从正单元格中提取十进制数的总和



我现在花了很长时间试图解决这个问题,到目前为止没有任何进展。所以我要做的是在表列中的一系列字符串中找到的所有十进制数的总和,这可以使用以下公式单独完成:

=LOOKUP(9.9E+307,--LEFT(MID(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A2&"1023456789")),999),ROW(INDIRECT("1:999"))))

我不想在表格中添加专用列的原因是,这仅用于金融跟踪器上非常具体的用例,其中订单包含多个项目,并且单个项目后来已退款,然后表格将更新如下:

预退款:Amazon Marketplace // £110

退款后:Amazon Marketplace [R-50.20] // £110

因此,使用上述公式,我将能够从字符串中提取 50.20。现在,我需要做的是类似于下面的事情,这不起作用,但我不确定什么公式可以帮助解决这个问题:

SUM(SUMIF(AprilActivity[ITEM],"*[R-*",LOOKUP(9.9E+307,--LEFT(MID(AprilActivity[ITEM],MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $AprilActivity[ITEM]&"1023456789")),999),ROW(INDIRECT("1:999"))))))

您只提供了一个示例,其中似乎您希望返回的数字是两个子字符串之间的数字:

  • [R-
  • ]

如果这是您真正想要的,那么:

=SUM(--MID(myRange,FIND("[R-",myRange)+3, FIND("]",myRange)-FIND("[R-",myRange)-3))

myRange中符合这些规范的所有数字相加。

你可以用AprilActivity[ITEM]替换myRange,例如。

最新更新