Google sheets REGEXEXTRACT提取值并对一系列数字求和
在谷歌电子表格中,我有一行随机文本和数字,例如:Google sheets REGEXEXTRACT提取值并对一系列数字求和,google-sheets,array-formulas,google-sheets-formula,Google Sheets,Array Formulas,Google Sheets Formula,在谷歌电子表格中,我有一行随机文本和数字,例如: K、、1-3、、K、RBI-1、RBI-4 我想获得所有出现的RBI-[1-4]并对每个RBI-[1-4]的值求和。我想出了以下方法,得到了一系列我想要的东西: =ARRAYFORMULA((右(iferror(REGEXEXTRACT(A1:H1,“RBI-[1-4]”,0))) 生产: 0,0,0,0,0,0,0,1,4 但现在当我想对结果求和时,我得到了零 =ARRAYFORMULA(SUM((右)(iferror(REGEXEXTRACT
K、、1-3、、K、RBI-1、RBI-4
我想获得所有出现的RBI-[1-4]
并对每个RBI-[1-4]
的值求和。我想出了以下方法,得到了一系列我想要的东西:
=ARRAYFORMULA((右(iferror(REGEXEXTRACT(A1:H1,“RBI-[1-4]”,0)))
生产:0,0,0,0,0,0,0,1,4
但现在当我想对结果求和时,我得到了零
=ARRAYFORMULA(SUM((右)(iferror(REGEXEXTRACT(A1:H1,“RBI-[1-4]”),0())))
产生0
有什么建议吗?如果你删除公式的
右侧部分,你会看到结果实际上是0,0,0,0,0,RBI-1,RBI-4。另外,REGEXEXTRACT
返回一个文本。我们需要把结果变成数字。向公式中添加值
,我们就可以做到这一点
=ARRAYFORMULA(IFERROR(VALUE(REGEXEXTRACT(REGEXEXTRACT(A1:H1,"RBI-[0-9]+"),"[0-9]+")),0))
如果您只想得到不带零的结果,只需将其全部包装在SUM
中即可
=SUM(ARRAYFORMULA(IFERROR(VALUE(REGEXEXTRACT(REGEXEXTRACT(A1:H1,"RBI-[0-9]+"),"[0-9]+")),0)))
我相信有一种更雄辩的方法可以做到这一点,但它是有效的 公式
解释
REGEXTRACT以文本形式返回值,因此在求和之前,我们应该将它们转换为数字
有几种方法可以做到这一点。上述公式使用值函数,但我们也可以使用+0
,*1
,以及其他方法
=ARRAYFORMULA(SUM(value((RIGHT(iferror(REGEXEXTRACT(A1:H1,"RBI-[1-4]"),0))))))