使用索引返回多个字符串值,在多个条件上匹配
Returning multiple string values using index,match on multiple criteria
我有一个 google 表格,其中填充了一个不断增长的传播sheet,我想从中生成一个概述 sheet 作为每日报告。
这里摘自 "Form Responses 1"
我成功地使用 index/match(匹配 属性 名称(C 列)和昨天的日期(F 列))到 return 字符串值(H 列) 但我正在努力 return 匹配 EG 的多个实例:第 416 / 417 行。
由于结果是一个字符串,我能找到的所有教程(使用 small())似乎都不起作用。我对 excel 比较陌生,所以可能遗漏了一些东西。
我尝试过的所有主要是小的()给我一个#num!错误,所以我猜 small 是错误的方法,但不能 google 另一种选择。
我正在尝试的公式是
E4 中的公式:
{=INDEX('Form Responses 1'!$H:$H,SMALL(MATCH(1,($E='Form Responses 1'!$F:$F)*($B='Form Responses 1'!$C:$C),0),ROW(1:1)))}
E5 中的公式:
{=INDEX('Form Responses 1'!$H:$H,SMALL(MATCH(1,($E='Form Responses 1'!$F:$F)*($B='Form Responses 1'!$C:$C),0),ROW(2:2)))}
它适用于第一个实例(第 4 行)但不适用于第 5 行:
2 场比赛(历史上)最多可能有 5 行左右,因此我需要能够以可读的形式呈现这些。
目前我正在使用 excel,但需要每天自动移植到 google 表格和 post。
感谢收到的任何帮助。
这里有一个示例,供您以简化的方式试用
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 列:单一条件:仅"Blue" --> 6 次出现
F5 我有
=INDEX($C:$C,SMALL(IF($B:$B=$F,ROW($B:$B)-ROW(INDEX($B:$B,1,1))+1),E5))
G 列:多个条件: "Blue" & "DE" --> 2 次出现
在 G5 我有
=INDEX($C:$C,SMALL(IF($B:$B=$F,IF($A:$A=$F, ROW($A:$A)-ROW(INDEX($A:$A,1,1))+1)),E5))`
注意:那些是数组公式->输入公式时按Ctrl + Shift + Enter
在此示例中,第 N 个值由 E 列中的 1-6 数字定义
我有一个 google 表格,其中填充了一个不断增长的传播sheet,我想从中生成一个概述 sheet 作为每日报告。
这里摘自 "Form Responses 1"
我成功地使用 index/match(匹配 属性 名称(C 列)和昨天的日期(F 列))到 return 字符串值(H 列) 但我正在努力 return 匹配 EG 的多个实例:第 416 / 417 行。
由于结果是一个字符串,我能找到的所有教程(使用 small())似乎都不起作用。我对 excel 比较陌生,所以可能遗漏了一些东西。
我尝试过的所有主要是小的()给我一个#num!错误,所以我猜 small 是错误的方法,但不能 google 另一种选择。
我正在尝试的公式是
E4 中的公式:
{=INDEX('Form Responses 1'!$H:$H,SMALL(MATCH(1,($E='Form Responses 1'!$F:$F)*($B='Form Responses 1'!$C:$C),0),ROW(1:1)))}
E5 中的公式:
{=INDEX('Form Responses 1'!$H:$H,SMALL(MATCH(1,($E='Form Responses 1'!$F:$F)*($B='Form Responses 1'!$C:$C),0),ROW(2:2)))}
它适用于第一个实例(第 4 行)但不适用于第 5 行:
2 场比赛(历史上)最多可能有 5 行左右,因此我需要能够以可读的形式呈现这些。 目前我正在使用 excel,但需要每天自动移植到 google 表格和 post。
感谢收到的任何帮助。
这里有一个示例,供您以简化的方式试用
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 列:单一条件:仅"Blue" --> 6 次出现
F5 我有
=INDEX($C:$C,SMALL(IF($B:$B=$F,ROW($B:$B)-ROW(INDEX($B:$B,1,1))+1),E5))
G 列:多个条件: "Blue" & "DE" --> 2 次出现
在 G5 我有
=INDEX($C:$C,SMALL(IF($B:$B=$F,IF($A:$A=$F, ROW($A:$A)-ROW(INDEX($A:$A,1,1))+1)),E5))`
注意:那些是数组公式->输入公式时按Ctrl + Shift + Enter
在此示例中,第 N 个值由 E 列中的 1-6 数字定义