Board logo

標題: 擷取數字 [打印本頁]

作者: Qin    時間: 2012-12-10 21:40     標題: 擷取數字

如何只擷取數字:

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

答案:
5
4.5
3.5
0.55
作者: Hsieh    時間: 2012-12-10 22:14

回復 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)))))
作者: Qin    時間: 2012-12-10 22:39

回復 2# Hsieh

不行, 答案是 #N/A
作者: Qin    時間: 2012-12-10 22:41

回復 3# Qin


  Sorry, 可以了
作者: p212    時間: 2012-12-11 14:44

回復 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
作者: zz5151353    時間: 2012-12-13 16:18

如何只擷取數字:

秋刀魚(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)))))}
作者: alex_wu    時間: 2012-12-13 18:35

資料擺在A列 , 使用MID+FIND作法如下
=MID(A1,FIND(")(",A1,1)+2,FIND("g/Pc",A1,1)-FIND(")(",A1,1)-2)
作者: ML089    時間: 2013-5-9 01:57

本帖最後由 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(...)還原為正數。




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