匹配和排序来自另一张表的数据

时间:2016-12-26 02:36:32

标签: google-sheets

我有一个表格,可以收集人们的数据并将其转储到谷歌电子表格中。在电子表格中,我正在尝试创建一个表格来安排这些数据,以便我自己和其他人更容易理解。 以下是一般数据的样本。

https://docs.google.com/spreadsheets/d/1iFKUg9vu_kdYe5Se0Fc6I9wcJp5NLXHvCA41CtTuFhc/edit?usp=sharing

在名为“表单”的表单上,这是从谷歌表单转储数据的位置。在名为“表”的工作表上,我正在尝试对信息进行排序。每一行都是一个人的名字,每一列都是不同的汽车品牌。

我正试图让“桌子”表格中的单元格从“表格”表格中寻找匹配,并填写每个人记录的该品牌汽车的正确评级。如果这个人拥有2个相同品牌的汽车,那么还可以将两个等级放在“桌子”表的同一列中吗?

我试图使用内置的MATCH功能,但是如果发现匹配,我无法弄清楚如何让它返回品牌旁边的评级栏的值。在结合不同的功能时,我仍然是初学者,并且想知道是否有人可以帮助我。是可以使用内置函数还是仅使用脚本执行此操作?

1 个答案:

答案 0 :(得分:0)

由于您允许多次匹配(如9,10示例中所示),因此我建议您使用filterjoin。这是我的公式,为单元格B3编写,但可以复制粘贴到表格中的其他单元格:

=iferror(join(",", filter(filter(Form!$C:$I, Form!$A:$A = $A3), filter(Form!$B:$H, Form!$A:$A = $A3) = B$2)))

说明:

  1. filter(Form!$B:$H, Form!$A:$A = $A3)为具有A3
  2. 中指定名称的用户提供B-H列
  3. filter(Form!$C:$I, Form!$A:$A = $A3)执行相同的操作但是对于列C-I范围,与前一个过滤器相比,向右移动了一个单元格。
  4. 然后,另一个filter从第二个范围中选择第一个范围的相应条目是B2中的汽车模型的单元格。这相当于获取紧靠模型名称右侧的单元格。
  5. 如果有多个匹配项,则结果为join字符串,以逗号分隔。
  6. 如果没有匹配,则过滤器抛出#N / A错误;这被iferror抑制,因此单元格保持空白。