我现在花了很长时间想弄明白这个问题,至今没有进展。所以,我想做的是收集在表格列中的字符串范围内发现的所有十进制数的总和,这可以使用下面的公式在单个基础上完成。
=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"))))
我之所以不在表格中添加一个专门的列是因为这只用于财务跟踪器中非常特殊的使用情况,即一个订单有多个项目,而一个项目后来被退款了,那么这个表格就会被更新,如图所示:
PRE REFUND: Amazon Marketplace // £110
POST REFUND: 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
符合这些规格。
而且你可以替换 myRange
与 AprilActivity[ITEM]
比如说: