Excel中提取文件路径最后子项父级内容的公式求助
Excel提取路径最后子项的父级名称公式
需求说明
A列标题为filepaths,对应B列parent需要提取最后子项的父级名称,示例如下:
- A1:
/page1/page2/page3→ B1返回page2 - A2:
/page4/page5→ B2返回page4 - A3:
/page6/page7/page8/page9→ B3返回page8 - A4:
/page10→ B4返回空值
方案1:适用于Excel 365/2021及以上版本
利用TEXTSPLIT和LET简化逻辑,直接拆分路径后取目标项:
=LET( path, A1, parts, TEXTSPLIT(path, "/",,TRUE), count, COUNTA(parts), IF(count < 2, "", INDEX(parts, count - 1)) )
逻辑拆解:
TEXTSPLIT(path, "/",,TRUE)按/拆分路径,自动忽略开头的空值(因为路径以/起始)- 统计拆分后的有效项数量,若数量不足2(比如仅单个子项的路径),返回空值;否则取倒数第二个有效项,就是最后子项的父级名称
方案2:兼容旧版Excel(无TEXTSPLIT功能)
用基础函数组合实现,无需依赖新功能:
=IF( LEN(A1)-LEN(SUBSTITUTE(A1,"/","")) < 2, "", MID( A1, FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1)) + 1, FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))) - FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1)) - 1 ) )
逻辑拆解:
- 先判断路径中
/的数量:如果少于2个(对应仅单个子项的路径),直接返回空值 - 通过
SUBSTITUTE定位倒数第二个和倒数第一个/的位置,用MID截取两个位置之间的内容,得到父级名称
内容的提问来源于stack exchange,提问作者McHunkerson
相关产品推荐
相关产品推荐

