【问题标题】:QUERY with cell reference containing a number带有包含数字的单元格引用的 QUERY
【发布时间】:2021-02-19 13:56:01
【问题描述】:

单元格 H2 中的公式可以正常工作,但单元格 F2 中的公式不能正常工作。

它们的区别在于,在 F2 中,查询的第二个参数取自带有数字的单元格。

=QUERY($A$3:$D;"SELECT A,B,C,D
WHERE 
A = '"&$A$1&"'
AND
B = '"&$B$1&"'")

Filter() 不是一个选项,因为我不需要显示所有列。 我将不胜感激。

【问题讨论】:

    标签: arrays google-sheets filter google-sheets-formula google-query-language


    【解决方案1】:

    查询中的数字不需要单引号

    =QUERY(A3:D;
     "select A,B,C,D
      where A = '"&A1&"'
        and B = "&B1)
    

    通过过滤器,您可以使用构造的 {} 数组

    =FILTER({A3:B\ D3:D}; A3:A=A1; B3:B=B1)
    

    另请注意,如果您将 B 列的格式设置为 纯文本

    ,您的 F2 公式将起作用
    =QUERY(A2:D; 
     "select A,B,D 
      where "&TEXTJOIN(" and "; 1; "1=1";
        IF(A1="";; "A = '"&A1&"'");
        IF(B1="House";; "B = "&B1);
        IF(D1="";; "D = '"&D1&"'")); 1)
    

    spreadsheet demo

    【讨论】:

    • 一个详尽的答案。非常感谢!
    • 我更进一步使用answer 目标是相同的,只是我有“街道”和“房子”而不是“全部”。 QUERY($A$3:$D;"选择 A、B、C、D" & IF( OR(A1 "街道"; B1 "房子"); "where " & TEXTJOIN( "and "; TRUE ; IF(A1 "街道"; "A = '" & A1 & "' "; ""); IF(B1 "房子"; "B = " & B1; "") ); "") & "order by C asc" ) 不幸的是,我得到了一个无限循环,开始快速添加行。我哪里错了?
    • 你能分享一份你的工作表吗?
    • 是的,当然,原谅我反应不快,我才到电脑link
    • @BorisBaublys 回答并更新了工作表。看看现在能不能用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多