我有一个包含使用此格式构建的列('Source'!D:D
)的文档:
Country → Name → ID
Country → Name → ID
Country → Name → ID
Country → Name → ID
在同一文档中,还有另一列('Source'!AA:AA
)带有数字。如果ColD
中的国家/地区是美国,我想对这些数字求和。我无法在Source
文档中添加列,因此我需要生成一个数组,其中的国家/地区已经过了"抛光"在公式里面。
我试过这个,但它没有用。 ARRAYFORMULA和REGEXTRACT肯定有效(独立位确实生成了一个只有国名的数组),但我认为这两个标准并没有相互交谈,他们就像是分开了比特,不再指同一行了。
=SUMIFS('Source'!$AA$100:$AA,arrayformula(REGEXEXTRACT(ARRAYFORMULA('Source'!$D$100:$D), "^(.+?)→")),"USA")
如何更改上述公式?
答案 0 :(得分:0)
你的公式的逻辑是正确的(内部数组式是不必要的,但它没有坏处)。它也适用于我的电子表格中的示例数据。问题必须出在数据中;或许国家名称后面跟着箭头前的空格?
但我也建议采用略有不同的方法,filter
和regexmatch
:
=sum(filter('Source'!$AA$100:$AA, regexmatch('Source'!$D$100:$D, "^USA\b")))
这具有更简单的逻辑(匹配vs提取),因此应该更容易调试。