0

我正在处理一个简单的 excel 查询,我试图Name根据

  1. 首先,如果ID两个表列值之间的匹配
  2. 其次,如果Status列的值为Pick,则从Name列中获取值。否则Do nothingempty

这是我的桌子-

表 2

ID.    Name
1001   Chris
1002   Leoe
1003   Nyle

表格1

ID.    Status
1001   Pick
1002    No
1003   Pick
1004   Pick

预期结果

ID.    Status.  Name
1001   Pick     Chris
1002    No     
1003   Pick     Nyle
1004   Pick

我正在尝试这个查询,但这里出了点问题 -

=IF(ISNUMBER(MATCH([ID];Table2[ID];0));IF([Status]="Pick";Table2[Name];""))

但我收到此错误错误

在此处输入图像描述

谁能帮我解决这个问题!

4

2 回答 2

1

您需要使用@ 符号来引用直接表的单行。您还应该再次使用 Match 结果来引用第二个表中的单行:

=IF(ISNUMBER(MATCH([@ID]; Table2[ID]; 0)); IF([@Status]="Pick"; INDEX(Table2[Name]; MATCH([@ID]; Table2[ID]; 0)); ""); "")

于 2020-12-11T10:27:35.407 回答
1

假设您的 Table1 和 Table2 是 Excel 表,您可以使用以下公式将结果表构建为 A11:C14 中的普通电子表格范围。

  1. [A11] =Table2[ID.] 这将自动将自身复制到 A14
  2. [B11] =Table2[Status] 这会自动复制到 B14
  3. [C11]=IF(B11="Pick",IFERROR(VLOOKUP(A11,Table1,2,FALSE),""),"")请手动复制到C14。

结果将如您所描述的那样,但不是您的示例所示,因为 ID 1003 与Nyle相关联,而不是Leoe

于 2020-12-11T10:39:24.787 回答