使用INDEX MATCH在Google表格中返回多行

Mar*_*rth 3 google-sheets

我目前正在尝试使用INDEX/MATCH公式将数据表中的值根据用户输入的条件返回到摘要表中.

这是我到目前为止的公式:

=INDEX(DATA!A:AF,MATCH(B1&C1&E1,DATA!AA:AA&DATA!AD:AD&DATA!AC:AC,0))
Run Code Online (Sandbox Code Playgroud)

但是它只返回与结果匹配的第一行.如何让它返回匹配MATCH结果的所有行?

谢谢!

NMA*_*ALM 8

对于几年后阅读此主题的其他人,您也可以使用查询公式。这是一篇有用的文章,可以更好地帮助学习它: https ://www.benlcollins.com/spreadsheets/google-sheets-query-sql/

在这种情况下,您可以使用:

=Query(DATA!A:AF,"select * where AA = "&B1&" AND AD = "&C1&" AC = "&E1)`
Run Code Online (Sandbox Code Playgroud)

查询公式使用 SQL 版本来帮助您过滤并返回所需的确切数据。我无法强调它有多么有用!

要引用查询公式第一个字段中标记的数据范围之外的字段,必须使用字符串分隔符和 & 符号。

  • QUERY 确实很有用,但请注意以下陷阱:在插入/删除列或将公式复制/粘贴到其他位置时,查询中的引用不会更新。每次都必须手动更新公式。实际上,我在寻找一个解决方案时发现了这个评论,该解决方案可以让我用其他东西替换我的 QUERY,并且 FILTER 给了我我想要的东西。 (4认同)

JPV*_*JPV 7

也许考虑使用FILTER():

=FILTER(DATA!A:AF, B1&C1&E1=DATA!AA:AA&DATA!AD:AD&DATA!AC:AC)
Run Code Online (Sandbox Code Playgroud)