Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 如何在google电子表格中使用替换函数和查询函数_Google Sheets_Google Query Language - Fatal编程技术网

Google sheets 如何在google电子表格中使用替换函数和查询函数

Google sheets 如何在google电子表格中使用替换函数和查询函数,google-sheets,google-query-language,Google Sheets,Google Query Language,我试图在查询函数中使用替换函数,但找不到正确的语法。我的用例如下 我有两列Name和Salary。这些列中的值中有“comas””,“。我想将这两列导入一个新的电子表格,但将“薪资”列中的comas替换为空字符串,并将comas保留在“姓名”列中。我还想在删除comas后将value函数应用于“Salary”列,以进行数字格式化 我尝试使用以下代码,但它正在替换两列中的comas。我想要一个代码,它只能将替换函数应用于列的子集 代码: =arrayformula(SUBSTITUTE(QUERY

我试图在查询函数中使用替换函数,但找不到正确的语法。我的用例如下

我有两列NameSalary。这些列中的值中有“comas””,“。我想将这两列导入一个新的电子表格,但将“薪资”列中的comas替换为空字符串,并将comas保留在“姓名”列中。我还想在删除comas后将value函数应用于“Salary”列,以进行数字格式化

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

代码

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

=arrayformula(SUBSTITUTE(QUERY(IMPORTRANGE(Address,"Sheet1!A2:B5"),"Select *"),",",""))
已转换的v/s预期结果

注意


我有将近10列要导入,其中3列应该删除comas。

试试这个。我单独处理这些列

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

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

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

=arrayformula(替代(进口(地址,“Sheet1!A2:B5”),“,”,”)

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

=arrayformula(从文本到转换*1的范围)

注:

  • 使用2个公式将需要额外的空间,但会加快公式的速度(
    importrange
    速度较慢)
  • 第二个公式使用数学运算(
    *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函数,这样我就可以通过删除COMA并将其更改为数字来将D列格式化为H列。

多亏了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 *"))

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

如果选择全部(
“Select*”
),则查询的目的是什么?工作正常。谢谢