返回列表 上一主題 發帖

[發問] 文字轉數字(試過很多方法都是失敗)

[發問] 文字轉數字(試過很多方法都是失敗)

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

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

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

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

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

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

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

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

我已經把「  」都取消了

謝謝各位大大出手幫助∼

text.rar (8.29 KB)

text

回復 1# jomeow


    取代後為數值型態,詳下圖:
TEST.gif
2018-2-5 12:26
*YC的筆記鋪 - Excel、Word教學
http://lyc017.pixnet.net/blog

TOP

回復 2# joblyc017


   謝謝你.. 我成功了..
請問為何要這樣才可以[取代"隔隔" ] 呢?

TOP

{=-LOOKUP(,-MID(A2,MATCH(0,0/MID(A2,ROW($1:$66),1),),ROW($1:$16)))       }
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

網路或E-mail 所獲得的數字資料,通常會有不可見字元,可用LEN函數檢查即可知道。

TOP

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


   你說得對.. 我用LEN.. 就看到得出來的結果是很大的
不過.. 要找出是多出了什麼就難找了..

TOP

拷貝一個字元用code函數查看就知道了,但不可見知道也沒啥意思。因不可見字元有好多個。

TOP

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
複製代碼

TOP

        靜思自在 : 虛空有盡.我願無窮,發願容易行願難。
返回列表 上一主題