带有部分匹配和多个条件的 Google Sheets ARRAYFORMULA 未返回预期结果

问题描述 投票:0回答:1

我正在使用 Google Sheets 文档,我需要根据多个条件查找值并在其中一列中执行部分匹配搜索。我一直在尝试将 ARRAYFORMULA 与

IF
ISNUMBER
SEARCH
INDEX
MATCH
等函数结合使用,但我没有得到预期的结果。

enter image description here

  1. 我的主要数据范围是从A 列到D

    1. A 列

      “RE Number”
      (包含唯一标识符,如 R1001、R1002 等)

    2. B栏

      “Order ID”
      (包含W-02TTNO、W-02T7M7等代码)

    3. C 列

      “Seller”
      (包含可能具有多个值或组合的名称或代码,例如“FKL & RMU”)

    4. D 列

      “Date”
      (包含日期)

  2. 我在从F 列到H 的另一个范围内有搜索条件。

    1. F 栏

      “RE Number”
      (搜索条件)

    2. G 栏

      “Order Nr”
      (搜索条件)

    3. H 列

      “Seller”
      (部分匹配的搜索条件)

  3. 我想搜索数据范围(A:D)并找到一行:

    1. A 列F 列 中的值匹配。

    2. B 列G 列 中的值匹配。

    3. C 列 包含(部分匹配)H 列 中的值。

    4. 如果满足所有条件,则应从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 表格,并且更喜欢能够适应其功能和限制的解决方案。 任何帮助将不胜感激!

google-sheets-formula match vlookup array-formulas partial-matches
1个回答
0
投票

数组公式的替代方法

Arrayformula 不适用于您当前的公式。请尝试这个。

示例配方:

=MAP(F2:F26,G2:G26,H2:H26, LAMBDA(x,y,z, IF(ISBLANK(x)," ",IFERROR(CHOOSECOLS(FILTER(A2:D , A2:A=x,B2:B=y,REGEXMATCH(C2:C,z)=TRUE),4), "No Result"))))

示例输出:

Sample Output

注意:如果您对如何实现这一点有任何疑问,请随时发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.