我正在使用数组公式返回符合特定条件的值列表。它运行成功,但在条件中使用 VLOOKUP 或 INDEX MATCH 时,它失败了。我需要列出与另一个表中的某个值匹配的所有值。有人能帮我找出原因/建议不同的解决方案吗?
这是我的公式:
=IFERROR(INDEX(TBL1[Goals],SMALL(IF(INDEX(TBL2[Status],MATCH(TBL1[Goals],TBL2[Goals],0))="Planned",ROW(TBL1[Goals])-ROW(Setup!$F$7)+1), ROW(1:1))),"Empty")
样例数据如下:
目标 |
---|
目标 A |
目标 B |
目标 C |
目标 D |
另一张表:
目标 | 地位 |
---|---|
目标 A | 计划 |
目标 B | 进行中 |
目标 C | 进行中 |
目标 D | 计划 |
所需输出:
目标 |
---|
目标 A |
目标 D |
答案1
连续列
目标 | 地位 |
---|---|
目标 A | 计划 |
目标 B | 进行中 |
目标 C | 进行中 |
目标 D | 计划 |
=FILTER(TBL2[[Goals]:[Status]],
(COUNTIF(TBL1[Goals],
TBL2[Goals]))*(TBL2[Status]="Planned"))
不连续的列
目标 | 更新 | 员工 | 地位 |
---|---|---|---|
目标 A | 2022 年 11 月 20 日 | J·施莫 | 计划 |
目标 B | 2023 年 1 月 17 日 | A.巴巴 | 进行中 |
目标 C | 2023 年 1 月 19 日 | T·洛克 | 进行中 |
目标 D | 2022 年 12 月 22 日 | D. 镇 | 计划 |
=FILTER(FILTER(TBL2[[Goals]:[Status]],
(COUNTIF(TBL1[Goals],
TBL2[Goals]))*(TBL2[Status]="Planned")),
{1,0,0,1})