我怎样才能从 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
++SHIFT
ENTER
答案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)