Board logo

標題: 請問如何將文字轉成值,並排序? [打印本頁]

作者: gaishutsusuru    時間: 2019-3-15 23:24     標題: 請問如何將文字轉成值,並排序?

例:
編號
003
006
001
007
010
……

利用公式變成以下:

編號
001
003
006
007
010
……

有嘗試用了VALUE 和SMALL,但將公式往下拉卻有錯誤
SMALL(VALUE(A:A),ROW(1:1)*1)



請問各位大大要如何處理呢?謝謝
作者: hcm19522    時間: 2019-3-16 09:56

{=INDEX(A:A,RIGHT(SMALL(A$2:A$6/1%+ROW(A$2:A$6),ROW(A1)),2))
作者: ML089    時間: 2019-3-16 13:06

回復 1# gaishutsusuru

=SMALL(VALUE(A$2:A$6),ROW(A1))
陣列公式,要用 三鍵輸入公式(先按CTRL+SHIFT不放再按ENTER輸入)
作者: ML089    時間: 2019-3-16 13:12

不能使用 =SMALL(VALUE(A:A),ROW(A1))
因為 VALUE(A:A) 遇到文字會錯誤(前面標頭),遇到空格會轉為0,A:A整個空格變成0,用SMALL時前面全部是0。

要指定正確範圍 例如VALUE(A$2:A$9)
作者: ML089    時間: 2019-3-16 13:30

VALUE($A2:A$6)函數為某數值的文字字串轉換成數字資料

也可以用數學運算轉為數值
$A2:A$6*1  
$A2:A$6/1
$A2:A$6+0
--$A2:A$6  :負負得正
++$A2:A$6 :這不行
作者: hcm19522    時間: 2019-3-16 14:05

https://blog.xuite.net/hcm19522/twblog/587095847
作者: gaishutsusuru    時間: 2019-3-17 22:46

謝謝各位回復,但實測後發現另一個問題。
例:
003
006
001
007
010
(空白)
(空白)
……(空白)

後面的空白會先留著之後才會輸入。但用公式之後,出來的結果一開始都會是0(應該是因為空白的那些值被算入了)

請問雖然將範圍擴大,但公式如何只計算有值的部份,並從小到大排序呢?

先謝謝大家的協助
作者: gaishutsusuru    時間: 2019-3-17 23:24

回復 1# gaishutsusuru


    謝謝各位回復,但實測後發現另一個問題。
例:
003
006
001
007
010
(空白)
(空白)
……(空白)

後面的空白會先留著之後才會輸入。但用公式之後,出來的結果一開始都會是0(應該是因為空白的那些值被算入了)

請問雖然將範圍擴大,但公式如何只計算有值的部份,並從小到大排序呢?

先謝謝大家的協助
作者: ML089    時間: 2019-3-18 12:29

=SMALL(VALUE(A$2:A$6),ROW(A1))
陣列公式,要用 三鍵輸入公式(先按CTRL+SHIFT不放再按ENTER輸入)

若要擴大範圍
=SMALL((A$2:A$99="","",VALUE(A$2:A$99)),ROW(A1))

下拉若有錯誤要刪除
上述公式外圍加 IFERROR(.... , "")
=IFERROR(SMALL((A$2:A$99="","",VALUE(A$2:A$99)),ROW(A1)), "")
作者: gaishutsusuru    時間: 2019-3-18 22:05

回復 9# ML089

您好,謝謝您的回復。
但實測後,發現會跳出視窗:此公式發生問題
SMALL((A$2:A$99="","",VALUE(A$2:A$99)),ROW(A1))


再麻煩大大協助,謝謝。
作者: ML089    時間: 2019-3-18 22:42

回復 10# gaishutsusuru

少打 IF

若要擴大範圍
=SMALL(IF(A$2:A$99="","",VALUE(A$2:A$99)),ROW(A1))
作者: gaishutsusuru    時間: 2019-3-19 23:55

回復 11# ML089


   謝謝您,公式可以用了。
:)




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