Return Excel 中的多个唯一匹配项没有数组公式

Return Multiple Unique Matches in Excel without Array Formula

给定一个 Excel table 的形状

Col. A   Col B   Col. C   Col. D   Col. E
x        2       x        2        3
x        3       y        7
y        7       z        -5
x        2
z        -5 

我想 return B 列中 D 列中参数“x”的第一个唯一命中, B 列中 E 列中参数“x”的第二个唯一命中,依此类推。

我目前在单元格 D1 中为此使用的公式是

{=IFERROR(INDEX($B:$B,MATCH(0,COUNTIF($C1:C1,$B:$B)+($A:$A<>$C1),0)),"")}

正在运行。

我遇到的问题是,因为这是一个数组公式,而且我正在分析大量数据,所以我的 sheet 计算时间太长了。

这个功能是否有替代方法来避免数组公式?

谢谢!

没有时间正确测试,但如果你有 Excel 365,你可以每行使用一个公式,它可能会更快:

=TRANSPOSE(UNIQUE(FILTER(B1:B10,A1:A10=C1)))

D1.

编辑

如 OP 所指出的,要下拉公式,您需要静态引用。可能还应该检查 C 列中的空单元格,因此公式变为:

=IF(C1="","",TRANSPOSE(UNIQUE(FILTER(B:B,A:A=C1))))