【问题标题】:VBA/Formula, Parse Parent of of PathVBA/公式,解析路径的父级
【发布时间】:2016-05-21 17:44:04
【问题描述】:

我无法从 Get parent folder path from file path using cell formula 获得答案以处理我的数据。

使用下面的方法,我的路径只有一部分被修剪。

=LEFT(A1,FIND("?",SUBSTITUTE(A1,"\","?",LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))))

我在 A1 中有 /stack/over/flow/today/is/friday,上面的公式会给我 /stack/over/flow/today/is/

我想要的结果是 /stack 或 stack/ 或者只是从我的路径中堆叠。

欢迎使用任何 VBA、函数或公式。

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    这将返回前两个“/”之间的第一个文本

    =TRIM(MID(SUBSTITUTE(A1,"/",REPT(" ",999)),998,999))
    

    【讨论】:

    • @Jonnyboi 答案旁边有一个复选标记,将其标记为正确答案,这是只有您可以做的事情。请点击它。我还注意到,您的所有问题都没有正确答案,您可能应该回去解决这个问题。
    【解决方案2】:

    UDF(用户定义函数) 当您的路径在 A1 中时,您可以使用如下功能。

    =GetFirstFolder(A1, "/", 1) 将返回:堆栈

    Function GetFirstFolder(sPath As String, sDiv As String, Optional lOrder As Long = 0) As String
            Application.Volatile 'This will make your function recalculate wherever the function is put.
    
            GetFirstFolder = Split(sPath, sDiv)(lOrder)
    End Function
    

    希望这会有所帮助。 哈迪

    【讨论】:

      【解决方案3】:

      还有一种稍微不同的方法,公式更短:

      =MID(A1,2,FIND("/",A1,2)-2)
      

      start2 跳过第一个 /

      长度中的-2 导致不返回第二个/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-03
        • 2011-04-19
        • 2019-03-12
        • 2011-12-06
        • 1970-01-01
        • 2019-01-26
        • 1970-01-01
        相关资源
        最近更新 更多