使用索引返回多个字符串值,多个条件匹配

时间:2019-03-25 16:49:48

标签: arrays excel indexing match formula

我有一个google表单,它填充了一个不断增长的电子表格,我希望从中生成一个概览表作为每日报告。

以下是“表格回复1”的摘录

https://pasteboard.co/I74RboO.png

我成功地使用了索引/匹配(属性名称(col C)和昨天的日期(col F)都匹配)返回一个字符串值(Col H),但是我正在努力返回一个以上的匹配的EG:第416/417行。

结果是一个字符串,我可以找到的所有教程(使用small())似乎都无效。我对Excel还是比较陌生,因此可能会缺少一些东西。

我尝试过的一切主要是small(),给我一个#num!错误,所以我猜想小是错误的做法,但无法用谷歌找到替代方案。

我正在尝试的公式是

E4中的公式:

{=INDEX('Form Responses 1'!$H:$H,SMALL(MATCH(1,($E$3='Form Responses 1'!$F:$F)*($B$4='Form Responses 1'!$C:$C),0),ROW(1:1)))}

E5中的公式:

{=INDEX('Form Responses 1'!$H:$H,SMALL(MATCH(1,($E$3='Form Responses 1'!$F:$F)*($B$4='Form Responses 1'!$C:$C),0),ROW(2:2)))}

哪个在第一个实例(第4行)上起作用,但在第5行上不起作用:

https://pasteboard.co/I74WbYE.png

2个匹配项可能最多有5行左右(历史记录),因此我需要能够以可读的形式显示这些行。 目前,我正在使用excel,但需要移植到Google表单并每天自动发布。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

以下是您以简化方式尝试的示例

      A     B        C            D        E       F          G
1     CH    Red      999
2     DE    Red      654'321                       Blue
3     FR    Green    43'213                        DE
4     CH    Green    74'123
5     DE    Green    4'651                 1       6'541      645'132
6     SA    Blue     6'541                 2       3'120      135'561
7     CH    Blue     3'120                 3       645'132    #NUM!
8     DE    Blue     645'132               4       148'085    #NUM!
9     CH    Red      179'395               5       141'823    #NUM!
10    DE    Red      173'133               6       135'561    #NUM!
11    SA    Green    166'871                
12    CH    Green    160'609
13    DE    Green    154'347
14    SO    Blue     148'085
15    CH    Blue     141'823
16    DE    Blue     135'561

F列:单个条件:仅出现“蓝色”->出现6次

在F5中我有

=INDEX($C$1:$C$18,SMALL(IF($B$1:$B$18=$F$2,ROW($B$1:$B$18)-ROW(INDEX($B$1:$B$18,1,1))+1),E5))

G列:多个条件:“蓝色”和“ DE”-> 2次出现

我在G5中

=INDEX($C$1:$C$18,SMALL(IF($B$1:$B$18=$F$2,IF($A$1:$A$18=$F$3, ROW($A$1:$A$18)-ROW(INDEX($A$1:$A$18,1,1))+1)),E5))`

小心:这些是数组公式->输入公式时按Ctrl + Shift + Enter

在此示例中,第N个值由E列中的1-6个数字定义