【发布时间】:2015-04-21 15:09:29
【问题描述】:
我目前正在尝试使用 INDEX/MATCH 公式根据用户输入的条件将数据表中的值返回到摘要表中。
这是我目前的公式:
=INDEX(DATA!A:AF,MATCH(B1&C1&E1,DATA!AA:AA&DATA!AD:AD&DATA!AC:AC,0))
但是它只返回与结果匹配的第一行。如何让它返回与 MATCH 的结果匹配的所有行?
谢谢!
【问题讨论】:
标签: google-sheets
我目前正在尝试使用 INDEX/MATCH 公式根据用户输入的条件将数据表中的值返回到摘要表中。
这是我目前的公式:
=INDEX(DATA!A:AF,MATCH(B1&C1&E1,DATA!AA:AA&DATA!AD:AD&DATA!AC:AC,0))
但是它只返回与结果匹配的第一行。如何让它返回与 MATCH 的结果匹配的所有行?
谢谢!
【问题讨论】:
标签: google-sheets
或许可以考虑使用 FILTER():
=FILTER(DATA!A:AF, B1&C1&E1=DATA!AA:AA&DATA!AD:AD&DATA!AC:AC)
【讨论】:
TRANSPOSE 以将其从一列“切换”为一行)正是我所需要的,谢谢!
对于几年后阅读此主题的其他人,您也可以使用查询公式。这是一篇有用的文章,可以更好地帮助学习它: https://www.benlcollins.com/spreadsheets/google-sheets-query-sql/
在这种情况下,你可以使用:
=Query(DATA!A:AF,"select * where AA = "&B1&" AND AD = "&C1&" AC = "&E1)`
查询公式使用 SQL 的一个版本来帮助您过滤并返回您需要的确切数据。我不能强调它有多么有用!
要引用查询公式的第一个字段中标注的数据范围之外的字段,必须使用字符串分隔符和与号。
【讨论】: