Google Sheet:如何按特定条件将不同单元格合并至同一列
提取含斜杠(/)的单元格到同一列的方法
方法1:Excel公式组合实现
- 假设你的数据在A1:D10这类连续区域里
- 在空白单元格输入以下公式:
旧版Excel按=FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,IF(ISNUMBER(SEARCH("/",A1:D10)),A1:D10,""))&"</s></t>","//s")Ctrl+Shift+Enter触发数组公式,365/2021版本直接回车即可,公式会自动把所有含"/"的单元格内容提取到同一列。 - 逻辑:先用
SEARCH识别带斜杠的单元格,TEXTJOIN把符合条件的内容拼成XML格式,最后用FILTERXML拆分成单列。
方法2:Power Query快速处理
- 选中数据区域,点击「数据」选项卡→「从表格/区域」(记得勾选「我的表格有标题」)
- 在Power Query编辑器里按步骤操作:
- 点击「转换」→「逆透视列」→「逆透视其他列」,把所有列转成"属性"和"值"两列
- 给"值"列添加筛选:点击筛选按钮→「文本筛选」→「包含」,输入"/"后确定
- 删除"属性"列,只保留"值"列
- 点击「关闭并上载」,结果会自动放到新工作表的单列中
方法3:VBA批量提取
- 按
Alt+F11打开VBA编辑器,插入新模块,粘贴这段代码:Sub ExtractSlashCells() Dim rng As Range, cell As Range Dim outputRng As Range Set rng = Application.InputBox("请选择数据区域", Type:=8) Set outputRng = Application.InputBox("请选择输出起始单元格", Type:=8) For Each cell In rng If InStr(cell.Value, "/") > 0 Then outputRng.Value = cell.Value Set outputRng = outputRng.Offset(1, 0) End If Next cell End Sub - 运行宏,跟着提示选择数据区域和输出的起始单元格,就能自动把带斜杠的内容提取到指定列。
内容的提问来源于stack exchange,提问作者jenna_3108
相关产品推荐
相关产品推荐

