我正在尝试有效地“索引” - 复制具有特定条件的列表

我正在尝试有效地“索引” - 复制具有特定条件的列表

我有一列数据,旁边有一个标记。想一想:

ID#1 -- A
ID#2 -- B
ID#3 -- A

我尝试只移动带有标记 A 的 ID 号 - 因此我的最终结果是

编号1
编号3

使用 VBA 很容易做到这一点 - 过滤范围、复制、粘贴。我正在尝试找到这个问题的非 VBA 解决方案。我一直在尝试各种数组公式 - Index(range,sumproduct(row*criteria)),但我无法让它正常工作。我该如何让它工作?

计算优雅性是一个重要因素——我处理的工作表由于其大小应该是一个数据库,但当权者否决了这个想法。

答案1

使用:

=IFERROR(INDEX($A$1:$A$8,SMALL(IF($B$1:$B$8="A",ROW($B$1:$B$8),999999),ROW(A1))),"")

Small 将返回每行带有“A”的 ID(从最小到最大)
A1:A8 将其更改为对应您的 ID 列
B1:B8 将其更改为对应您的 A 列
保留 $ 作为固定引用
Ctrl+ Shift+Enter而不是Enter它是一个数组公式

相关内容