Excel一列中有很多数据,有以字母开头的,也有以数字开头的,如何将以字母开头的筛选出来,

请用以下VBA编程,先跪谢大虾们
Function abc(S As String)
For i = 1 To Len(S)
If Mid(S, i, 1) Like "#" Then
abc = "包括数字"
Exit
For
Else
abc =
"不含数字"
End If
Next
End Function

function abc(s as string)
if left(s,1) like "#" then
abc="数字开头"
else
abc="字母开头"
end if
end function

其实可以直接使用现成的函数来解决这个问题
假设数据在A列
在B1输入公式
=if(and(left(a1)>="0",left(a1)<="9"),"数字开头","其它")
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-25
函数编得挺好,若数据在A列,则在A列后增加一辅助列,B2中输入公式=abc(A1),而后可以B2的值自动筛选。
第2个回答  2012-12-25
你直接将楼上的公式粘贴到单元格就行了
第3个回答  2012-12-25
=IF(AND(LEFT(A1,1)>=48,LEFT(A1,1)<=57),"数字",IF(OR(AND(LEFT(A1,1)>=65,LEFT(A1,1)<=90),AND(LEFT(A1,1)>=97,LEFT(A1,1)<=122)),"字母","其他"))
第4个回答  2012-12-25
'方法1
Function abc(S As String)
Dim I%, Y%
For I = 1 To Len(S)
If Mid(S, I, 1) Like "[0-9]" Then
Y = Y + 1
End If
Next
If Y > 0 Then
abc = "存在数字"
Else
abc = "不存在数字"
End If
End Function
'方法2
Function abc2(S As String)
With CreateObject("VBScript.regexp") '正则表达式
.Global = True
.Pattern = "\d+"
If .test(S) Then
abc2 = "存在数字"
Else
abc2 = "不存在数字"
End If
End With
End Function
相似回答