首页 > 解决方案 > 有多个匹配行时的索引匹配

问题描述

我有一个示例数据集(如下),它在 A 列中有重复的条目 - 当主键在 A 列中匹配时,我试图从 B:D 列中提取所有匹配值。

首要的关键 值 1 价值 2 价值 3
一个 1
一个 2
一个 2 3
1
3
C 2

期望的结果:

首要的关键 值 1 价值 2 价值 3
一个 1 2 3
1 3
C 2

我已经尝试了多次索引(匹配)、Vlookup 和数组公式的迭代——我完全被难住了。

使用的示例公式:=index(Data!B:B,match(A2,Data!A:A,0))

标签: google-sheets

解决方案


由于每列只需要一个值,因此可以query()像这样聚合数据:

=query( 
  A1:D, 
  "select A, max(B), max(C), max(D) 
   where A is not null 
   group by A", 
  1 
)

select要添加另一列,请调整范围引用并在子句中添加列,如下所示:

=query( 
  A1:E, 
  "select A, max(B), max(C), max(D), max(E) 
   where A is not null 
   group by A", 
  1 
)

要美化列名,请添加一个label子句。请参阅查询语言帮助页面


推荐阅读