【问题标题】:How to use substitute function with query function in google spreadsheet如何在谷歌电子表格中使用带有查询功能的替代功能
【发布时间】:2023-04-01 17:16:01
【问题描述】:

我正在尝试在查询函数中使用替代函数,但无法找到正确的语法来执行此操作。我的用例如下。

我有两列 NameSalary。这些列中的值包含 逗号 ','。我想将这两列导入新的电子表格,但用空字符串替换“Salary”列中的逗号,并在“Name”列中保留逗号。在删除逗号进行数字格式化后,我还想将值函数应用于“Salary”列。

我尝试使用以下代码,但它正在替换两列中的昏迷。我想要一个只能将替代函数应用于列子集的代码。

代码

=arrayformula(SUBSTITUTE(QUERY(IMPORTRANGE(Address,"Sheet1!A2:B5"),"Select *"),",",""))

结果

转换后的 v/s 预期结果

注意

我有将近 10 列要导入,应该从其中的 3 列中删除逗号。

【问题讨论】:

  • 如果查询全选("Select *"),查询的目的是什么?

标签: google-sheets google-query-language


【解决方案1】:

根据您的建议,我能够通过单独处理列来实现目标。下面是代码。

=QUERY({IMPORTRANGE(Address,"Sheet1!A3:A5"),arrayformula(VALUE(SUBSTITUTE(IMPORTRANGE(Address,"Sheet1!B3:B5"),",","")))},"Select * where Col2 is not null")

基本上,每列都有两个 IMPORTRANGE 函数。

对具有 10 列的实际数据的相同查询将如下所示。

=QUERY({IMPORTRANGE(Address,"Sheet1!A3:C"),arrayformula(VALUE(SUBSTITUTE(IMPORTRANGE(Address,"Sheet1!D3:H"),",",""))),IMPORTRANGE(Address,"Sheet1!I3:J")},"Select * where Col2 is not null")

我使用了 3 个 IMPORTRANGE 函数,以便我可以通过删除逗号并将它们更改为数字来格式化列 D 到 H。

【讨论】:

    【解决方案2】:

    我的建议是在工作表中使用 2 个公式和更多空间。

    公式#1:获取数据并替换逗号:

    =arrayformula(SUBSTITUTE(IMPORTRANGE(Address,"Sheet1!A2:B5"),",",""))

    公式#2:将文本转换为数字:

    =arrayformula (range_of_text_to_convert * 1)

    注意事项:

    • 使用 2 个公式需要额外空间,但会加快公式速度(importrange 很慢)
    • 第二个公式使用数学运算 (*1),与 value 公式相同。

    【讨论】:

    • 完美运行。谢谢
    【解决方案3】:

    试试这个。我将列分开处理。

    =arrayformula(QUERY({Sheet1!A2:A5,SUBSTITUTE(Sheet1!B2:B5,",","")},"Select *"))
    

    【讨论】:

      【解决方案4】:

      感谢 Ed Nelson,我能够弄清楚这一点:

      =arrayformula(QUERY({'Accepted Connections'!A:R,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE('Accepted Connections'!A:R,"AIF®",""),"APA",""),"APMA®",""),"ASA",""),"C(k)P®",""),"C(k)PS",""),"CAIA",""),"CBA",""),"CBI",""),"CCIM",""),"","")},"Select *"))
      

      这删除了特定列中我不需要的所有文本。

      【讨论】:

        猜你喜欢
        • 2021-05-20
        • 1970-01-01
        • 1970-01-01
        • 2022-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多