【问题标题】:Outputting multiple VLookup values in Excel在 Excel 中输出多个 VLookup 值
【发布时间】:2021-07-22 14:18:15
【问题描述】:

我希望创建一个公式,将与 ID 关联的大量值输出到一个单元格中。值的数量不同,例如一个 ID 可能有 3 个与之关联的值,另一个可能只有 1 个。

我知道如果我使用 VBA,我可以使用循环来输出所有值,但在此示例中我只使用 Excel。到目前为止,我只有一个简单的查找,它只输出一个值

=VLOOKUP(B2,'Customer Tape'!A:B,2,0)

(B2 是单元格;对于 Customer Tape,A 列是 ID,B 列是值)

有没有办法获取与 ID 关联的所有值(例如其他行上的值)并将其输出到同一个单元格?

【问题讨论】:

  • 您拥有/需要支持哪个版本的 Excel?
  • 使用 Excel 2013
  • 如果必须是公式,您将需要代码。

标签: excel


【解决方案1】:

对于旧版本,它是 vba 或辅助列。

使用辅助列将其放入 C2 并复制下来:

=B2&IFERROR(","&VLOOKUP(A2,A3:C$1040000,3,FALSE),"")

然后您可以使用普通的 VLOOKUP 仅返回 C 列的第一个结果:

=VLOOKUP(E2,A:C,3,FALSE)

如果您想要 vba 版本,请参见此处:

EXCEL return range of values based on criteria

或这里:

Merge values of column B based on common values on column A

或者这里:

TextJoin UDF For Excel 2013


对于 Office 365 Excel,不需要帮助列:

=TEXTJOIN(",",TRUE,FILTER(B:B,A:A=E2,""))

【讨论】:

  • 谢谢斯科特。尽管我正在输入您的公式并且只得到一个值 - 即使在接下来的几行中显然有更多相同的值。
  • 它只会显示一个值,直到您用公式填充整列。它取决于下面公式的输出。
  • 是的,我已将公式向下拖动,但每个 ID 仍然只能得到一个值。
  • 请发布一个链接,指向在第一个单元格中显示公式的工作表图片。如您所见,它对我有用。
  • B$2:C$88 应该是A3:C$88
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多