首页 > 解决方案 > 使用数组在 Excel 中返​​回多个 ID 号

问题描述

我正在使用 Excel 中的一组数据,其中包括 ID 号和帐号。每个 ID 号包含多个帐号。我想垂直返回与每个 ID 号关联的每个帐号。

我进行了研究,并提出了一个适用于第一个 ID 号但不适用于其余部分的数组公式。我创建了一个数据样本以供分享。

{=INDEX($E$2:$E$5, SMALL(IF(($H2=$A$2:$C$5), MATCH(ROW($A$2:$C$5), ROW($A$2:$C$5)), ""), ROWS($A$1:A1)))}

我得到一个#NUM!其余单元格中的错误。任何帮助将不胜感激。

sample data - formula result - desired result

样本数据 - 公式结果 - 期望结果

标签: arraysexcelexcel-formulavlookup

解决方案


使用您提供的数据设置,如下所示:

在此处输入图像描述

在单元格 H2 中并向下复制的是这个(常规)公式(假设 ID #s 实际上是数字,如您提供的示例数据中所示):

=IF(ROW(H1)>COUNTA($A$2:$C$5),"",SMALL($A$2:$C$5,ROW(H1)))

然后在单元格 I2 中并复制下来是这个(数组)公式:

=IF(H2="","",INDEX(E:E,SMALL(IF($A$2:$C$5=H2,ROW($A$2:$C$5)),COUNTIF(H$2:H2,H2))))

推荐阅读