在 Google 表格中,如何对字符串中的逗号分隔列表求和?

In Google Sheets, How do I sumif(s) over a comma separated list in string?

在我们的学校里,我们有同一作者的同名书籍,但 ISBN # 不同。我正在处理库存清单,以便我们可以扫描不同的 ISBN,然后找出书名的现有内容。

这是我的 working spreadsheet 演示。实时版本将被分开(A-D 列由来自另一个 sheet 的数据(可能由 Google 表格)和一个单独的 sheet (F-J) 完成所有数学运算。为了方便/ 测试,他们都在一个 sheet.

基本上,在 F 列中,我想将 A 中的所有数量相加,其中 C 中的 ISBN 与 G 中的任何值相匹配,并将其放入 F 中。

我在 F 中使用的公式似乎并不完全有效:

=SUMIF(C:C,arrayformula(split(G2,",")),A:A)

它捕获第一个匹配但忽略/不循环其余的。我看过 Sumifs 和 Match,但我似乎无法进一步了解语法。如果有人能帮我解决这个难题,我将不胜感激。

此外,我知道如何使用自定义脚本执行此操作,但我需要避免这种情况,因为最终用户出于某种原因破坏了东西,而我无法以这种方式处理调试负载可能会被部署。

提前感谢任何愿意看一看的人!

~艾伦

在 F2 中尝试

=sum(query(A:D,"select A where C matches '"& textjoin("|",,split(G2,",")) &"' ",0))

删除 F2:F & J2:J 中的所有内容并使用 F2:

=INDEX(IF(G2:G="",,MMULT(IFERROR(VLOOKUP(SPLIT(G2:G, ","), {C:C, A:A}, 2, ), 0),
 SEQUENCE(COLUMNS(SPLIT(G2:G, ",")), 1, 1, ))))

在 J2 中使用:

=ARRAYFORMULA(IF(G2:G="",,F2:F*I2:I))