Board logo

標題: [發問] 文字轉數字(試過很多方法都是失敗) [打印本頁]

作者: jomeow    時間: 2018-2-5 12:03     標題: 文字轉數字(試過很多方法都是失敗)

本帖最後由 jomeow 於 2018-2-5 12:05 編輯

我是從客戶給我郵件抄下來的數字型文字

我想把這一串文字轉換成數字

但是我用函數 value 結果會顯示 #VALUE!

或者是使用強制數值「--」 結果還是顯示 #VALUE!

且使用選擇性貼上運算值為乘 顯示的還是文字

只有我重新輸入才會變成數值

請問有什麼方法可以一次把數字型文字轉換成數值呢?

我已經把「  」都取消了

謝謝各位大大出手幫助∼
作者: joblyc017    時間: 2018-2-5 12:26

回復 1# jomeow


    取代後為數值型態,詳下圖:
[attach]28326[/attach]
作者: jomeow    時間: 2018-2-5 14:50

回復 2# joblyc017


   謝謝你.. 我成功了..
請問為何要這樣才可以[取代"隔隔" ] 呢?
作者: ML089    時間: 2018-2-7 07:11

{=-LOOKUP(,-MID(A2,MATCH(0,0/MID(A2,ROW($1:$66),1),),ROW($1:$16)))       }
作者: ANGELA    時間: 2018-2-9 12:29

網路或E-mail 所獲得的數字資料,通常會有不可見字元,可用LEN函數檢查即可知道。
作者: jomeow    時間: 2018-2-12 16:14

網路或E-mail 所獲得的數字資料,通常會有不可見字元,可用LEN函數檢查即可知道。
ANGELA 發表於 2018-2-9 12:29


   你說得對.. 我用LEN.. 就看到得出來的結果是很大的
不過.. 要找出是多出了什麼就難找了..
作者: ANGELA    時間: 2018-2-13 22:42

拷貝一個字元用code函數查看就知道了,但不可見知道也沒啥意思。因不可見字元有好多個。
作者: ikboy    時間: 2018-2-14 09:53

try this:
  1. Sub zz()
  2. Dim a, rg As Object
  3. Set rg = CreateObject("vbscript.regexp")
  4. a = Range("a1:a" & [a1048576].End(3).Row).Value
  5. rg.Pattern = "[^\d+\.]"
  6. For i = 2 To UBound(a)
  7.     a(i, 1) = CDbl(rg.Replace(a(i, 1), ""))
  8. Next
  9. [b1].Resize(i - 1, 1) = a
  10. End Sub
複製代碼
  1. Function z#(rng As Range)
  2. Dim a, rg As Object
  3. Set rg = CreateObject("vbscript.regexp")
  4. a = rng.Value
  5. With rg
  6.     .Pattern = "[^\d+\.]"
  7.     z = .Replace(a, "")
  8. End With
  9. End Function
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)