【发布时间】:2021-11-23 17:55:55
【问题描述】:
我想将一张纸上两列(J 和 O)中的文本字符串与另一张纸上的项目列表($N$5:$N$23)进行比较。我希望比较能够搜索 J 和列表或 O 和列表之间是否有任何单词匹配(一些字符串是多词)。当我在我想要结果的列中的每个单元格中使用它时,这个公式对我有用(从第 3 行开始):
=IF(SUMPRODUCT(ISNUMBER(SEARCH(TRANSPOSE(Lists!$N$5:$N$23),J3&O3)))>0,"YES","NO")
但是,我现在想使用 ARRAYFORMULA 将公式填充到列中,而不是每个单元格中都有该公式。看来您不能在 Google 表格中将 SUMPRODUCT 与数组一起使用,因此我现在使用空格分隔符将 J 和 O 列中的文本分开,并使用 ARRAYFORMULA 将其与列表 $N$5:$N$23 中的值进行比较-- 数组中的数组。我将两个结果相加,看看它们的总和是否大于 0,在这种情况下,我返回“YES”。
ARRAYFORMULA(IF(
SUM(ARRAYFORMULA(IFERROR({SEARCH(SPLIT(J3:J," "),Lists!$N$5:$N$23)},0)))+
SUM(ARRAYFORMULA(IFERROR({SEARCH(SPLIT(O3:O," "),Lists!$N$5:$N$23)},0)))
>0,"YES","NO"))
此数组公式不想向下填充(从第 3 行开始)。它在第 3 行给了我一个值,但没有更多。
问题:
- 为什么这个数组公式没有填写?
- 是否有更好/更有效的方法来进行这种比较? (也许有查询?)
这是 Google 表格的副本。我试图将新的数组公式放入单元格数据库!P3。数据库表的 Q 列有第一个似乎工作正常的公式。 https://docs.google.com/spreadsheets/d/1QlAVv1FuvfXgD4QvCoSFR9Cycf87lJUk33eFWfoe404/edit?usp=sharing
【问题讨论】:
-
分享您的工作表副本/样本
-
感谢您的建议。完成。
标签: arrays regex google-sheets google-sheets-formula textjoin