我想知道是否有方法检查单元格值中的第一个字符。如何检查单元格值中的第一个字符
E.g
01999102477490 (first char "0")
11003200602650 (first char "1")
我试图做到的是用IF语句按“0”和“1”来区分单元格的值,并将它们分配到不同的列。我可以自己发表声明,我只需要知道如何检查“0”和“1”的第一个字符。
我还要说,我有值的整列检查
我想知道是否有方法检查单元格值中的第一个字符。如何检查单元格值中的第一个字符
E.g
01999102477490 (first char "0")
11003200602650 (first char "1")
我试图做到的是用IF语句按“0”和“1”来区分单元格的值,并将它们分配到不同的列。我可以自己发表声明,我只需要知道如何检查“0”和“1”的第一个字符。
我还要说,我有值的整列检查
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开头的那些值替换“无论是”还是“无”
fwiw,本地工作表[左函数] (https://support.office.com/en-us/article/LEFT-function-BE3191EA-D332-43E4-BAC3-810C97773A22)不需要* number_of_characters *参数(如果只需要最左侧的一个)。 – Jeeped
尝试:
Option Explicit
Sub FirstChar()
Dim xlString As String
Dim xlFirstChar As String
xlString = "01999102477490"
xlFirstChar = Left$(xlString, 1)
MsgBox xlFirstChar
End Sub
如果我有一整列值来检查,该怎么办? – mrwave
稍微不同的方法。
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。
[VBA excel - 复制工作簿之间的单元格]的可能副本(http://stackoverflow.com/questions/6287405/vba-excel-copy-cells-between-workbooks) – Jeeped