返回列表 上一主題 發帖

[發問] 關於第2位元非數字則自動補1個0

回復 1# starry1314


請舉出幾個不同狀況實例及希望的結果!
最好上附檔!

TOP

回復 3# starry1314

若只是要取出〔月份〕的英文代碼
B2公式:=MID(A3,2+COUNT(-LEFT(A3,2)),1)

這公式非陣列運算,應還可以,
若不想留太多公式,可保留B2公式,下拉一格,再以B3右下角黑十字下刷到底,然後選擇性貼上〔值〕!

或以VBA刷公式:
Sub TEST()
Dim R&
R = Cells(Rows.Count, 1).End(xlUp).Row
If R < 3 Then Exit Sub
With Range("B3:B" & R)
   .Formula = "=MID(A3,2+COUNT(-LEFT(A3,2)),1)"
   .Value = .Value
End With
End Sub

注意:附檔中A欄下方的說明文字要先清除,以免 End(xlUp).Row 多抓了幾行!
 

TOP

回復 3# starry1314

將原編號〔月份〕為個位數的加〔前導0〕:
Sub TEST2()
Dim R&, Arr, i&
R = Cells(Rows.Count, 1).End(xlUp).Row
If R < 3 Then Exit Sub
With Range("A3:A" & R)
   Arr = .Cells
   For i = 1 To UBound(Arr)
     If Not IsNumeric(Left(Arr(i, 1), 2)) Then Arr(i, 1) = 0 & Arr(i, 1)
   Next i
   .Cells = Arr
End With
End Sub

TOP

回復 7# starry1314


=COUNT(-LEFT(A3,2)) 是判斷〔前2位〕是否為〔數值〕,
9A???? 不是,為0,用MID("9A???",2,1)
12A??? 是,為1,用MID("12A???",3,1)

MID 第2參數,就用 2+COUNT(-LEFT(A3,2)) 來判斷!
 

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題