我正在使用 Google Sheets 文档,我需要根据多个条件查找值并在其中一列中执行部分匹配搜索。我一直在尝试将 ARRAYFORMULA 与
IF
、ISNUMBER
、SEARCH
、INDEX
和 MATCH
等函数结合使用,但我没有得到预期的结果。
我的主要数据范围是从A 列到D。
A 列:
“RE Number”
(包含唯一标识符,如 R1001、R1002 等)
B栏:
“Order ID”
(包含W-02TTNO、W-02T7M7等代码)
C 列:
“Seller”
(包含可能具有多个值或组合的名称或代码,例如“FKL & RMU”)
D 列:
“Date”
(包含日期)
我在从F 列到H 的另一个范围内有搜索条件。
F 栏:
“RE Number”
(搜索条件)
G 栏:
“Order Nr”
(搜索条件)
H 列:
“Seller”
(部分匹配的搜索条件)
我想搜索数据范围(A:D)并找到一行:
A 列 与F 列 中的值匹配。
B 列 与G 列 中的值匹配。
C 列 包含(部分匹配)H 列 中的值。
如果满足所有条件,则应从D中返回相应的日期。
如果我使用没有
ArrayFormula
的公式,它可以工作,但我想找到带有 ArrayFormula
的解决方案。
我最后尝试使用这个公式:
=ARRAYFORMULA(IF(F2:F <> ""; IFERROR(INDEX(D:D; MATCH(1; (A:A = F2:F) * (B:B = G2:G) * ISNUMBER(SEARCH(H2:H; C:C)); 0)); "No Result"); ""))
这个公式应该是:
检查F 列中的每一行是否不为空。
使用
MATCH
查找数据范围中所有条件都成立的第一行
返回D列对应的日期
如果未找到匹配,则通过返回
“No Result”
来处理错误
但是,即使数据中存在应符合条件的行,公式也始终返回
"No Result"
。
卖方列 (C) 可以包含由
“ & “
分隔的多个值(例如 “FKL & RMU”
),如果单元格的任何部分与 H 列 中的值匹配(例如 ),我想找到匹配项“RMU”
)。 • 我正在使用 Google 表格,并且更喜欢能够适应其功能和限制的解决方案。 任何帮助将不胜感激!