如何将完整路径中的各文件夹名分别放入Excel单个单元格?
我来给你几个亲测有效的解决办法,帮你把路径拆到Excel的单个单元格里:
方法1:用TEXTSPLIT函数(Excel 365/2021及以上版本)
这是最简单快捷的方式,直接用内置函数一键拆分:
- 先把完整路径粘贴到单元格A1(比如
C:\Users\TimCOOK\Downloads\mysql-shell-8.0.31-windows-x86-64bit\lib\mysqlsh\plugins\plugins_plugin) - 在单元格B1输入公式:
=TEXTSPLIT(A1, "\") - 按下回车后,公式会自动把路径按反斜杠
\拆分,横向填充到B1、C1、D1……每个单元格对应一个文件夹/盘符名称
方法2:旧版Excel用组合公式(无TEXTSPLIT时)
如果你用的是Excel 2019及更早版本,没有TEXTSPLIT,试试这个组合公式:
- 先在B1单元格提取盘符:
=LEFT(A1, FIND("\", A1)-1),回车后得到C: - 在C1单元格输入公式:
=MID($A1, FIND("^", SUBSTITUTE($A1, "\", "^", COLUMN(B:B)))+1, FIND("^", SUBSTITUTE($A1, "\", "^", COLUMN(C:C)))-FIND("^", SUBSTITUTE($A1, "\", "^", COLUMN(B:B)))-1) - 选中C1单元格,鼠标移到单元格右下角的填充柄,按住左键向右拖动,直到所有路径部分都被拆分出来
方法3:用Power Query批量拆分
如果需要处理大量路径,Power Query是更高效的选择:
- 把路径粘贴到Excel的某一列(比如A列,A1是路径)
- 点击「数据」选项卡 → 「从表格/区域」(如果路径不在表格里,先选中A列,点击「从文本/CSV」,然后选择当前工作表的数据源)
- 在Power Query编辑器里,选中路径所在列,点击「转换」选项卡 → 「拆分列」→ 「按分隔符」
- 分隔符选择「自定义」,输入
\,拆分方式选「拆分为列」(匹配你需要的横向拆分到单元格的需求) - 点击「关闭并上载」,拆分后的内容就会自动导入到新的工作表中
方法4:修正VBA宏(之前宏无效的话)
如果你之前的宏没起作用,试试这个简单的宏代码:
- 按下
Alt + F11打开VBA编辑器 - 右键点击左侧的工作簿名称 → 「插入」→ 「模块」
- 粘贴以下代码:
Sub SplitPathToCells() Dim pathContent As String Dim pathSegments As Variant Dim idx As Integer ' 获取当前选中单元格的路径内容 pathContent = ActiveCell.Value ' 按反斜杠拆分路径 pathSegments = Split(pathContent, "\") ' 把拆分后的内容依次写入右侧单元格 For idx = LBound(pathSegments) To UBound(pathSegments) ActiveCell.Offset(0, idx + 1).Value = pathSegments(idx) Next idx End Sub
- 回到Excel,选中包含路径的单元格,按下
Alt + F8,选择SplitPathToCells宏并执行,路径就会拆分到右侧的单元格里
补充:Flash Fill没生效的可能原因
你之前用Flash Fill没效果,大概率是没给足够的示例:
- 先在B1手动输入
C:,C1手动输入Users - 选中B1到你需要填充的所有空白单元格
- 按下
Ctrl + E,Flash Fill应该就能识别规律,自动填充剩下的路径部分了
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

