返回列表 上一主題 發帖

請問如何將文字轉成值,並排序?

請問如何將文字轉成值,並排序?

例:
編號
003
006
001
007
010
……

利用公式變成以下:

編號
001
003
006
007
010
……

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



請問各位大大要如何處理呢?謝謝

{=INDEX(A:A,RIGHT(SMALL(A$2:A$6/1%+ROW(A$2:A$6),ROW(A1)),2))
google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

回復 1# gaishutsusuru

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

TOP

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

要指定正確範圍 例如VALUE(A$2:A$9)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

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

也可以用數學運算轉為數值
$A2:A$6*1  
$A2:A$6/1
$A2:A$6+0
--$A2:A$6  :負負得正
++$A2:A$6 :這不行
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

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

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

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

先謝謝大家的協助

TOP

回復 1# gaishutsusuru


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

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

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

先謝謝大家的協助

TOP

=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)), "")
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 9# ML089

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


再麻煩大大協助,謝謝。

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題