→ JieJuen:對了,因為是數字,可用rank.如果不是的話..再想想(用CODE?) 11/03 00:13
即使要每列每列單獨的排序,
似乎也不需VBA~
---------------------------------------
A B C D E F G H I J K L M N O
1 1 7 5 E1 . . I1 J1 , M1 ; ;
2 3 6 3 . . . ^ , , ; ; ;
3 2 5 7 . . . ^ , , ; ; ;
4 3 7 2 . . . ^ , , ; ; ;
5
6 1 2 3
---------------------------------------
同樣記號表拖曳範圍
E1 =RANK(A1,$A1:$C1,1)
I1 =E1 拉至I4
J1 =COUNTIF($E1:E1,F1)+F1
M1 =INDEX($A1:$C1,MATCH(M$6,$I1:$K1,0))
M6 N6 O6是打上您想要排的順序
IJK部分是當值相同時,照先後順序定出不同的名次。
結果:
M N O
1 5 7
3 3 6
2 5 7
2 3 7
就算有100列也是一次完成~(雖然是比較辛苦的一次XD)
※ 引述《nube3315 (寫os作業)》之銘言:
: 標題: Re: [問題] Excel的排序問題
: 時間: Mon Aug 21 00:24:15 2006
:
: ※ 引述《NhStory (任思念隨心所欲.....)》之銘言:
: : (若是和其他不同軟體互動之問題 請記得一併填寫)
: : 您所使用的軟體為: office excel
: : 版本:2003
: : 問題: 一般排序都是由上向下排
: : ex. 1 7 5 1 7 5
: : 3 6 3 → 2 5 7
: : 2 5 7 3 6 3
: : 3 7 2 3 7 2
: : 若要由左向右排 則要怎麼設定?
: : ex. 1 7 5 1 5 7
: : 3 6 3 → 3 3 6
: : 2 5 7 2 5 7
: : 3 7 2 2 3 7
: : 剛用一個檔案想排序 就發現了這問題...
: : 一列一列排序是可以 但大量套用就沒辦法了
:
: 就程式的想法來說,應該是把你每一行每一行都看成是同一類型的資料
: 比如像 成績啊 年齡之類的,
: 所以不管是你要直的排還是橫的排 他都不會把資料打散
所以直排若要每列單獨排,也可用上面的方法~
: 其實如果要做 橫的排序 excel的排序是做的出來的啊
: 只要把<依欄排序>改成<依列排序>就好了
: 以你的例子 做出來的結果就會是
: 1 5 7
: 3 3 6
: 2 7 5
: 3 2 7
: 不過就像你講的,有100列你就要做100次。
:
: 只是你的期望 比較不太一樣 所以就沒有辦法用比較一般的方法
:
: 我想到的方法是,你可以用excel vba 去寫一個function
: 這個function的工作就是去吃每一列的數字
: 然後把每一列排序好
: 全部排完以後,再做輸出的動作
:
: 再把這個function錄製成macro (做成一個按鈕之類的)
: 這樣做這件事情就會方便一點。
:
: 如果你對excel vba 有興趣的話,可以去書店買書來研究
: 我覺得學會的話 對使用excel處理文書滿有幫助的
: 我再這邊也教不了多少,
: 只是稍微分享一下我的想法這樣
:
: --
: █◣█ █ █ ██◣ ███ ███ ███ ███ ███ ╭══╮
: █◥█ █ █ █▅█ █▇▇ ▇▇█ ▇▇█ ███ █▇▇ 好人!
: █ █ ███ █▅█ █▇▇ ▇▇█ ▇▇█ ███ ▇▇█ ╰══╯
: telnet://ptt2.cc───┐┌──────────────────────────
: ───────────┘└ 悶 是空氣不夠主動吧. . . . . . .... ──────
: ────────────────────────────────────Plague
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 59.117.208.240
: 推 NhStory:謝謝 ^^ 09/02 12:35
: 推 martinccu:太複雜了...直接「轉置、排序,再轉置」就好了.... 11/15 01:40
: → martinccu:這樣也不需使用複雜的功能 11/15 01:41
: 推 martinccu:抱歉,看錯了,果然是需要以VBA才能快速進行 11/15 01:56
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.48.216