我正在处理 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 表格,希望找到一个能够适应其功能和限制的解决方案。任何帮助都将不胜感激!
Arrayformula 的替代方法
Arrayformula 不适用于您当前的公式。请尝试此方法。
示例公式:
示例输出:
注意:如果您对如何实现此功能有任何疑问,请随时发表评论。
参考:
地图
选择