Google Sheets Query如何将(姓,名)格式的姓名列拆分为两个独立列
Google Sheets Query 单语句拆分姓名列实现方案
QUERY 本身不支持在查询语句内部直接调用 SPLIT、REGEXEXTRACT 这类工作表函数,所以需要先通过数组构造预处理源数据,把姓名字段拆分为姓氏、名字两列后再传入 QUERY 做后续处理,即可在单条公式内完成所有需求。
可用公式
直接替换你现有的 QUERY 语句即可:
=QUERY( { 'Raw Invoice'!A:C, ARRAYFORMULA(IFERROR(SPLIT('Raw Invoice'!D:D," ",,TRUE))), 'Raw Invoice'!E:I }, "SELECT Col7, Col2, Col4, Col5, 'Bobs Diner', Col8, Col10, Col12 WHERE Col3 IS NOT NULL LABEL 'Bobs Diner' 'Company', Col4 'Last Name', Col5 'First Name' FORMAT Col7 'M/DD/YYYY'", 1 )
说明
- 公式先用数组
{}拼接预处理后的源数据:保留Raw Invoice的A-C列不变,将D列(学生姓名列)按空格拆分为姓氏、名字两列插入,再接上E-I列的原始数据 - SPLIT 外层加
IFERROR是为了处理姓名为空的异常场景,避免拆分报错 - 数组内的列统一用
Col+序号格式在 QUERY 中调用,如果你需要处理带中间名、特殊分隔符的姓名,可以把 SPLIT 替换为 REGEXEXTRACT 实现更复杂的匹配逻辑 - 输出列顺序已按需求设置:第3列(C列)为姓氏,第4列(D列)为名字,其余列对应你原 QUERY 的要求依次后移
内容的提问来源于stack exchange,提问作者DuckSqueezer
相关产品推荐
相关产品推荐

