如何在Google Sheets QUERY函数中设置可手动输入的空列?
Google Sheets 导入数据时预留手动编辑空列的正确方法
问题原因
你之前用双引号""标记空列的方法无效,一是因为QUERY语法中空列需要用单引号包裹的空字符串'',二是原函数里的字符串拼接存在语法错误(多余的引号导致SQL语句不合法)。另外要注意:如果用QUERY生成包含空列的数组,这些空列属于公式输出区域,默认无法直接手动编辑,需要用更合适的方案。
推荐方案(可直接手动编辑空列)
不要用一个大QUERY覆盖所有列,而是拆分导入需要的列,中间空出的列不写公式,直接留空即可手动输入内容。
示例操作:
- 目标表格A列导入原表Col1:在A1单元格输入
=QUERY(IMPORTRANGE("https://docs.google.com","Sheet1!A:T"),"Select Col1 where Col2 matches 'alfa.*|beeta.*' ") - 目标表格B列留空,直接手动输入内容
- 目标表格C列导入原表Col16:在C1单元格输入
=QUERY(IMPORTRANGE("https://docs.google.com","Sheet1!A:T"),"Select Col16 where Col2 matches 'alfa.*|beeta.*' ") - 按照这个逻辑,依次在需要导入数据的列中写入对应QUERY,空列直接留空,就能自由编辑。
备选方案(生成带空列的结构,需转成值后编辑)
如果只是需要先生成包含空列的完整结构,之后再手动编辑,可以修正QUERY语句,用''插入空列:
修正后的完整函数:
=QUERY(IMPORTRANGE("https://docs.google.com","Sheet1!A:T"),"Select Col1, '', Col16, '', Col17, Col2, '', Col3, Col19, '', Col14, '', '', Col15, '', Col17, '', '', Col19, '', '', Col11, '', Col13 where Col2 matches 'alfa.*|beeta.*' ")
- 这里每个
''对应一个空列,执行后会生成包含空值的数组 - 注意:此时空列属于公式输出区域,无法直接编辑,需要选中整个输出区域,右键选择「粘贴为值」,之后才能在空列中输入内容。
内容的提问来源于stack exchange,提问作者Pradeep Jaiswal
相关产品推荐
相关产品推荐

