【问题标题】:Returning multiple string values using index,match on multiple criteria使用索引返回多个字符串值,匹配多个条件
【发布时间】:2019-03-25 16:49:48
【问题描述】:

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

这是“表单回复 1”的摘录

我成功地使用索引/匹配(匹配属性名称 (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 行:

2 场比赛(历史上)最多可能有 5 行左右,所以我需要能够以可读的形式呈现这些。 目前我正在使用 excel,但需要移植到谷歌表单并在每天自动发布。

感谢您的帮助。

【问题讨论】:

  • 您的Match 将只能存储一个数字,而不是数组 - 您需要的是这样的公式:stackoverflow.com/questions/43760533/…
  • 非常感谢 - 将尝试。
  • 对不起,我觉得没用,但是那里列出的示例被 excel 拒绝(“这个公式有问题”),所以我无法开始理解。所以我知道我使用的是 IF 语句而不是 MATCH 但没有遵循 2 x ROW() 部分 - 它们都只是为了计数吗? (对于小)?谢谢
  • 别担心,我们会到达那里。我在下面做了一个示例供您试用 - 只需将数组和目标值替换为您的,不要忘记 Ctrl+Shift+Enter 公式

标签: arrays excel indexing match formula


【解决方案1】:

这里有一个简单的例子供你尝试

      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 列:多个标准:“Blue”和“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 位数字定义

【讨论】:

  • 这太棒了! - 感谢您花时间帮助我
  • 如果它有助于解决您的问题,请不要犹豫,将其标记为答案并点赞 :)
猜你喜欢
  • 2017-04-21
  • 2015-12-08
  • 2019-01-11
  • 1970-01-01
  • 2021-06-08
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 2019-12-28
相关资源
最近更新 更多