返回列表 上一主題 發帖

擷取數字

擷取數字

如何只擷取數字:

秋刀魚(AAA)(5g/Pc)
鱔魚(AAAA)(4.5g/Pc)
鰻魚(AA)(3.5g/Pc)
魚(A)(0.55g/Pc)

答案:
5
4.5
3.5
0.55

回復 1# Qin
陣列公式
=LOOKUP(9999,--MID(A1,MATCH(1,1/ISNUMBER(--MID(A1,ROW(INDIRECT("A1:A"&LEN(A1))),1)),0),ROW(INDIRECT("A1:A"&LEN(A1)))))
學海無涯_不恥下問

TOP

回復 2# Hsieh

不行, 答案是 #N/A

TOP

回復 3# Qin


  Sorry, 可以了

TOP

回復 1# Qin
假設A1儲存格的值為  秋刀魚(AAA)(5g/Pc)
B1儲存格組合函數為  =MID(A1,SEARCH(")",A1)+2,SEARCH("g",A1)-(SEARCH(")",A1)+2))

說明1_SEARCH(")",A1)+2目的在找出第二個左括弧之後數字所在位置  ---即為MID函數的start_num
說明2_找出「g」座落的位置用  SEARCH("g",A1)
說明3_說明_2的結果減去說明_1的結果SEARCH("g",A1)-(SEARCH(")",A1)+2) ---即為MID函數的num_chars

TOP

如何只擷取數字:

秋刀魚(AAA)(5g/Pc)
鱔魚(AAAA)(4.5g/Pc)
鰻魚(AA)(3.5g/Pc)
魚(A)(0.55g/Pc)

答 ...
Qin 發表於 2012-12-10 21:40


{=LOOKUP(9^9,--MID(A1,MIN(FIND(ROW($1:$10)-1,A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))}
300 字節以內
不支持自定義 Discuz! 代碼

TOP

資料擺在A列 , 使用MID+FIND作法如下
=MID(A1,FIND(")(",A1,1)+2,FIND("g/Pc",A1,1)-FIND(")(",A1,1)-2)

TOP

本帖最後由 ML089 於 2013-5-9 02:00 編輯

LOOKUP很適用於陣列公式,但多層的ROW()也推不動

將6樓公式下修改一下,就不用陣列公式輸入法(CSE輸入方式)輸入公式
  1. =-LOOKUP(,-MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&5/19)),ROW($1:$15)))
複製代碼
5/19 = 0.2631578947 數字包含 0~9都有
將ROW(1:10)-1改為{0,1,2,3,4,5,6,7,8,9}就可以免用 CSE 輸入法。
另外ROW(1:20)改為ROW(1:15),因為最大有效位數只有15位,節省一點CPU時間。
將9^9刪除,因為此公式只能找正數字,用-MID(...)變成負數再用0來找,最後用-LOOKUP(...)還原為正數。
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 慈悲沒有敵人,智慧不起煩惱。
返回列表 上一主題