我尝试在路径中间找到一个字符串。在两个反斜杠之后,我遇到了“查找”反斜杠的问题。
下面的两个公式都得到了相同的数字。我相信这是因为在第二个反斜杠之后它缺少“+1”,所以第三个从第二个开始再次计数。
如何增加以下“反斜杠计数”以访问路径更远的部分?
\path1\path2\path3\path4\path5
=FIND("\";A2;FIND("\";A2; FIND("\"; A2; FIND("\"; A2)+1)))
这从“path2”开始。
=FIND("\";A2;FIND("\";A2; FIND("\"; A2; FIND("\"; A2; FIND("\";A2)+1))))
这也让我得到了'path2'。
有没有办法根据
FIND()
的反斜杠选择部分路径?
最佳答案
你的公式(他们两个)减少到
2nd \ =FIND("\",A2,FIND("\",A2)+1)
如果要转到“下一个”反斜杠,则必须
+1
循环中的每个起始位置。如果您使用
FIND
,使用更简单SUBSTITUTE
替换所需的 \
具有独特的字符,然后是 FIND
那个角色。但更简单的方法是将字符串拆分为一个数组,然后返回适当的数组元素。
使用 Excel 2016,您可以获得
FILTERXML
可以轻松做到这一点的功能:=INDEX(FILTERXML("<t><s>" & SUBSTITUTE(A2,"\","</s><s>") & "</s></t>","//s"),3)
请注意,因为您的字符串以
\
开头,所需元素的索引号将为 n+1
而不是 n
(即 3
将返回 path2
)对于早期的 excel 版本,还有其他方法可以做到这一点。
关于excel - 在路径中间找到一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55161599/