2017-04-19 82 views
-2

加在前面的數字我想在他們面前添加新的號碼,根據第一號通過確定第一數量的Excel

  • 如果第一個數字是3,5,7,9,然後在前面加2
  • 否則前6

添加使用微距按鈕 enter image description here

+0

re:'*我有一列電話號碼*' - 您的圖片(最近通過編輯添加)顯示5列電話號碼。 – Jeeped

+0

我的錯可以幫到您嗎? –

+0

就在我看到您自己嘗試過的代碼時。 – Jeeped

回答

0

如果用一個公式來重新創建一個新列的列表,使用這樣的:如果你想通過VBA做

=IF(OR(LEFT(A2)="3",LEFT(A2)="5",LEFT(A2)="7",LEFT(A2)="9"),2&A2,6&A2) 
+0

我正在使用這個宏函數 –

+0

我剛剛提交了使用VBA的另一個答案。看一看! –

+0

你可以看看我添加的圖片,它更難,因爲它不是一個collum。 –

3

像這樣的東西應該爲你工作:

=--(IF(OR(--LEFT(A1,1)={3,5,7,9}),2,6)&A1) 
+0

我真的很新,什麼是( - )? –

+0

這就是通常所說的[double unary](http://stackoverflow.com/questions/3286197/what-does-in-excel)。如果您願意,可以將其解讀爲「負面」。它的目的是將字符串轉換爲數字(例如,將字符串「2」轉換爲數字「2」以執行數字比較) – tigeravatar

+2

@AnGr - 當然,使用谷歌搜索[什麼是 - 在Excel中](https ://www.google.ca/webhp?sourceid = chrome-instant&rlz = 1C1CHZL_enCA733CA733&ion = 1&espv = 2&ie = UTF-8#q = what + is + - + in + excel)本來可以告訴你,輸入你的問題,更不用說[tigeravatar](http://stackoverflow.com/users/2665425/tigeravatar)回答。 – Jeeped

2

Select Case語句可輕鬆地進行多重比較。

dim rw as long 
with worksheets("sheet1") 
    for rw = 2 to .cells(.rows.count, "A").end(xlup).row 
     select case int(left(.cells(rw, "A").value2, 1)) 
      case 3, 5, 7, 9 
       .cells(rw, "A") = int(2 & .cells(rw, "A").value2) 
      case else 
       .cells(rw, "A") = int(6 & .cells(rw, "A").value2) 
     end select 
    next rw 
    .range(.cells(2, "A"), .cells(.rows.count, "A").end(xlup)).numberformat = "0 000-0000" 
end with 
0

,運行下面的代碼序列:

Sub AddNumber() 

    Dim i As Long, j As Long 
    Dim Strt As String 
     i = 2 'your first row index with data 
     j = 1 'the column index your list is located (e.g. column A) 

    Do While Cells(i, j) <> "" 
     Strt = Left(Cells(i, j), 1) 
     Select Case Strt 
     Case 3, 5, 7, 9 
      Cells(i, j) = 2 & Cells(i, j) 
     Case Else 
      Cells(i, j) = 6 & Cells(i, j) 
     End Select 
     i = i + 1 
     Loop 

End Sub 
+0

我可以使用Pic添加的圖片來調整此代碼嗎? –

相關問題