我想知道是否有办法检查单元格值中的第一个字符。
例如
01999102477490 ( first char "0" )
11003200602650 (first char "1" )
我想要完成的是使用IF语句根据“0”和“1”区分单元格值并将它们分配给不同的列。我可以自己做声明,我只需要知道如何检查“0”和“1”的第一个字符。
我还应该说我要检查整列值
答案 0 :(得分:4)
尝试:
Option Explicit
Sub FirstChar()
Dim xlString As String
Dim xlFirstChar As String
xlString = "01999102477490"
xlFirstChar = Left$(xlString, 1)
MsgBox xlFirstChar
End Sub
答案 1 :(得分:2)
IF(logical_test, [value_if_true], [value_if_false])
使用上述方法,您可以执行以下操作:
IF(LEFT(A1,1)="0","0",IF(LEFT(A1,1)="1","1","Neither"))
将A1替换为您要测试的单元格
将逗号之间的“0”替换为您想要对0开头的值
将逗号之间的“1”替换为您想要对以1
开头的值进行的操作将“不要”替换为您想要对不以0或1
开头的值进行的操作答案 2 :(得分:2)
略有不同的方法。
Dim a As Long, arr As Variant
With Worksheets("Sheet1")
arr = .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
For a = LBound(arr, 1) To UBound(arr, 1)
Select Case Asc(arr(a, 1)) 'might have to be .Range("A1").Text
Case 48
Debug.Print "it's a zero"
'do something with arr(a, 1)
Case 49
Debug.Print "it's a one"
'do something with arr(a, 1)
Case Else
Debug.Print "it's something else"
End Select
Next a
End With
通过将A列中的值批量加载到变量数组并循环遍历数组,您应该在循环中使用相同的读取时间。
如果您可以同时使用所有零,然后同时使用所有零,请考虑使用AutoFilter method。