我想將一張紙上兩列(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 在列中填充公式,而不是在每個單元格中使用該公式。似乎您不能將 SUMPRODUCT 與 Google Sheets 中的陣列一起使用,因此我現在使用空格分隔符拆分 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 Sheet 的副本。我已經嘗試將新的 ARRAY 公式放入單元格 Database!P3 中。資料庫表的 Q 列具有第一個似乎作業正常的公式。

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/364821.html
上一篇:Java:計算陣列中的對
