首页 > 解决方案 > 同一公式中的替代查询

问题描述

我需要一个基于先前下拉选择的替代查询公式。

A1 单元格具有下拉选项:“Nome”或“CPF”。

在 A2 中输入查询参数。

如果 A1 等于“Nome”,则查询应该是:

=IFERROR(IF(QUERY({IMPORTRANGE("18aQSi4NHgSxwNYMktJXd3hBK-uDI7dZL8xToTStgaeQ";"Base!A:L")};"Select Col5 where Col1 = '"&B1&"'";0)="Sim";"";"Problema:");"Não está na base de dados")

如果 A1 等于“CPF”,则查询应该是:

=IFERROR(IF(QUERY({IMPORTRANGE("18aQSi4NHgSxwNYMktJXd3hBK-uDI7dZL8xToTStgaeQ";"Base!A:L")};"Select Col5 where Col4 = '"&B1&"'";0)="Sim";"";"Problema:");"Não está na base de dados")

查询之间的唯一区别在于 WHERE 子句。第一个指向Col1,最后一个指向Col4

我需要将两个查询合并到一个公式中。可能吗?

数据表在这里,搜索框在这里

标签: google-sheetsgoogle-sheets-formula

解决方案


如果您确认您query的两个都正常工作,并且您想在基于单元格的查询之间进行交换,那么通过组合两个' 添加一个if 语句query就可以了,这样您就可以query成为 if 的值true。请尝试一下。这很简单:

=if(A1="Nome",(IFERROR(IF(QUERY({IMPORTRANGE("18aQSi4NHgSxwNYMktJXd3hBK-uDI7dZL8xToTStgaeQ","Base!A:L")},"Select Col5 where Col1 = '"&B1&"'",0)="Sim","","Problema:"),"Não está na base de dados")),
IF(A1="CPF",(IFERROR(IF(QUERY({IMPORTRANGE("18aQSi4NHgSxwNYMktJXd3hBK-uDI7dZL8xToTStgaeQ","Base!A:L")},"Select Col5 where Col4 = '"&B1&"'",0)="Sim","","Problema:"),"Não está na base de dados")),""))

推荐阅读