【问题标题】:Can I pull out a single cell with query in google sheets?我可以在谷歌表格中提取一个带有查询的单元格吗?
【发布时间】:2021-07-19 10:22:26
【问题描述】:

我正在尝试找到一种方法来(我认为)将单个单元格作为查询的一部分,该查询还返回列,我什至不知道这是否可能。简要说明 - 每个季度,我们都会通过 google 表格在 6 个电子表格中获得详细的审计报告,每个电子表格包含 20-45 个案例文件,每个文件中都有自己单独的选项卡/表格。我已经设法使用查询从所有问题中提取和整理主要问题,并在新工作表中使用

进行分析

=QUERY({IMPORTRANGE(A3,"案例文件 1!F18:M");IMPORTRANGE(A3,"案例文件 2!F18:M");IMPORTRANGE(A3,"案例文件 3!F18:M" )},"选择 Col1,Col4,Col7 其中 Col4 包含“关注”")

这为我提供了所有关注点叙述的简洁清单,对照它们所遵循的特定标准,做一些时髦的事情,但我没有设法做的是实际上得到任何说“这些关注点来自案例文件 1' 或类似文件。可能有 0、1、5 个关注点,所以我永远不知道它会返回多少行。有没有一种简单的方法可以“选择这个单元格(带有组织名称)以及关注位并将名称贴在所有这些单元格旁边?我对此表示怀疑,但欢迎任何想法,我不想单独运行查询并稍后整理它们。不幸的是,无法附上表格的副本,这都是机密信息。我已经尝试将 Col3 添加到组合中,它是带有名称的那个(以及其他一些看起来很乱的无关信息,但是很好),但这只会返回顶部第一张表的名称位 - 我没有t 掌握了标题,所以这可能是为什么? 干杯,对不起,第一个问题的长度,我不确定你需要知道什么。 梅格

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    试试:

    =arrayformula(
    query({
    query({iferror(IMPORTRANGE(A3,"Case File 1!F18:F")/0,"Case File 1"),IMPORTRANGE(A3,"Case File 1!F18:M")},"where Col5 contains 'concern'",0);
    query({iferror(IMPORTRANGE(A3,"Case File 1!F18:F")/0,"Case File 2"),IMPORTRANGE(A3,"Case File 2!F18:M")},"where Col5 contains 'concern'",0);
    query({iferror(IMPORTRANGE(A3,"Case File 1!F18:F")/0,"Case File 3"),IMPORTRANGE(A3,"Case File 3!F18:M")},"where Col5 contains 'concern'",0)
    },"select Col1,Col2,Col5,Col8",0)
    )
    

    此选项将文本列放在末尾(并且只有一个查询):

    =arrayformula(
        query({
        IMPORTRANGE(A3,"Case File 1!F18:M"),iferror(IMPORTRANGE(A3,"Case File 1!F18:F")/0,"Case File 1");
        IMPORTRANGE(A3,"Case File 2!F18:M"),iferror(IMPORTRANGE(A3,"Case File 2!F18:F")/0,"Case File 2");
        IMPORTRANGE(A3,"Case File 3!F18:M"),iferror(IMPORTRANGE(A3,"Case File 3!F18:F")/0,"Case File 3")
        },"select Col1,Col4,Col7,Col9 where Col4 contains 'concern' ",0))
    

    【讨论】:

    • 太棒了,成功了,谢谢!这是以某种方式指向工作表名称吗?有没有办法将整个事情包装在 iferror 而不是每个查询中?我需要为多达 45 个案例文件复制它,但是如果我只需要花一个下午的时间将副本粘贴到公式栏中,它仍然比全部查找要好。非常感谢:)
    • 我还可以看到列号已经移到了一个,我不是 100% 为什么但我猜我们已经以某种方式在前面添加了一个虚拟工作表名称列?
    • 乐于助人。根据您的初始示例,我假设工作表名称位于单元格 A3 中。每个 iferror 负责获取工作表名称 - 我认为它不会仅适用于一个 iferror。 col 编号移动了一个,因为开头有一个新列,带有案例文件名。如果您想要 col 编号,那么案例文件名可以放在最后。我将使用此选项更新解决方案。如果您对解决方案感到满意,请参阅 stackoverflow.com/help/someone-answers 以接受答案 - Stack Overflow 是基于积分寻求帮助。
    • 啊,有道理,谢谢 :) 是的,工作表 URL 在 A3 中,移动的列号绝对没问题,不用担心,只是记录一些我的东西'已经学习了以供将来参考,我会这样做的,干杯!
    • 遇到另一个问题,抱歉。该公式本身仍然可以正常工作,但是当我将其扩展为涵盖最多 45 个案例文件时,它给了我一个数组文字错误。我很确定这是因为其中一些案例文件没有任何关注点,因此列的大小不匹配并且不会跨越。我知道我可以解决这个问题,如果它本身出现在带有 iferror 的基本查询公式中,然后添加三个带有 "","","" 的假列,但我不知道这个公式是否可行,因为它已经使用 iferror。欢迎任何想法!干杯。
    猜你喜欢
    • 1970-01-01
    • 2021-10-18
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    相关资源
    最近更新 更多