从 Excel 中的字符串中提取日期

从 Excel 中的字符串中提取日期

我怎样才能从 Excel 中的此类字符串中提取日期?

John8/11/12
Jackson09/11/2013

期望结果:

John     8/11/12
Jackson  09/11/2013

我可以仅使用 Excel 公式和 Excel 函数来做到这一点吗?

答案1

提取名称:

=LEFT(A1, MATCH(TRUE,ISNUMBER(1*MID(A1,{1,2,3,4,5,6,7,8,9},1)),0)-1)

提取日期:

=RIGHT(A1, LEN(A1) - MATCH(TRUE,ISNUMBER(1*MID(A1,{1,2,3,4,5,6,7,8,9},1)),0)+1)

注意:两者都必须作为数组公式输入CTRL++SHIFTENTER

答案2

=LEFT(A1,MIN(FIND(0,SUBSTITUTE(A1,{1,2,3,4,5,6,7,8,9},0)&0))-1)在字符串右侧的列中直接使用并=SUBSTITUTE(A1,B1,"")作为下面的列...然后将公式复制下来。

第一的

第二

答案3

您可能需要使用正则表达式来实现这一点。我对 Excel 不太熟悉,但这里有一个链接可能会有所帮助http://www.dzone.com/snippets/regular-expressions-excel-2007

答案4

Excel 函数:

Function FindNumeric( pvsString As String ) As Integer
    Dim viPosition As Integer
    Dim viFoundAt As Integer
    viFoundAt = 0
    For viPosition = 1 To Len(pvsString)
        If IsNumeric(Mid(pvsString, viPosition, 1)) Then
            viFoundAt = viPosition
            Exit For
        End If 
    Next viPosition
End Function

然后在您的工作表单元格中:

姓名:=Mid( A1, 1, FindNumeric(A1)-1)

日期:=Mid( A1, FindNumeric(A1), 10)

相关内容