匿名使用者
匿名使用者 發問時間: 電腦與網際網路軟體 · 9 年前

請問 excel 的排序

以下各產品要以 excel 依業績排序, 要用 excel 的公式, 而不是土法煉鋼的傻方式, 因為, 要有時效性. 排序後同時要保有數量這個資料.

客戶代號客戶名稱項目a 產品b 產品合計1001AA業績3,0217,84210,863數量44661101002BB業績7,5223,92111,443數量5633891003CC業績6,6536,43213,085數量50601101004DD業績1,13214,98716,119數量111201311005EE業績2,89748,97051,867數量303804101006FF業績10,9871,20912,196數量8010901007GG業績67,54387,655155,198數量5007401,2401008HH業績98,76538,765137,530數量8763801,2561009II業績2,0112,4314,442數量2822501010JJ業績100,64440,924141,568數量9992101,209

請協助告知排序的方法, 謝謝幫忙.

( 想像這是一份上百筆的資料, 所以, 請不要有耗費時間需逐筆登錄任何資料等方式)

已更新項目:

Sorry, 不太了解 KK 的方法, 請問是否可以一步一步詳細教 ? 最好能說明步驟, 謝謝.

2 個已更新項目:

謝謝 KK 這麼詳盡的附件說明, 也謝謝您的耐心.

再請教您, 若要加一行排名 ( 如下所示 ), 請問要如何設公式 ? (因排名只顯示在業績那一列, 數量那一列為空白, 請分別告知公式, 謝謝).

客戶代號項目a 產品排名

1004業績1,1321

數量11

1009業績2,0112

數量28

1005業績2,8973

數量30

1001業績3,0214

數量44

1003業績6,6535

數量50

3 個已更新項目:

Sorry, 是否可請 KK 解釋序號、排名大至小、排名小至大這三個公式 ? 因為, 了解公式內容之後才懂得使用 ( 可將講解內容詳述於範例檔測試 ). 感謝您.

3 個解答

評分
  • KK
    Lv 7
    9 年前
    最佳解答

    排序輔助欄公式

    H2 =IF(C2="業績",F2*1000+ROW(),H1)

    I2 =IF(C2="業績",1,2)

    往下複製

    排序

    H欄 遞增或遞減 自選

    I欄 必須選遞增

    2011-08-03 16:07:25 補充:

    准大,遞增OK,遞減會有問題

    「加個〔序號欄〕以便將資料排序回來」 這個主意讚

    我都習慣另外複製工作表

    2011-08-03 23:20:02 補充:

    H2儲存格公式如下

    =IF(C2="業績",F2*1000+ROW(),H1)

    I2儲存格公式如下

    =IF(C2="業績",1,2)

    選取H2:I2 - 按右鍵 - 複製

    選取下方儲存格 - 按右鍵 - 貼上

    選取2列~最後一列

    工具列 - 排序

    主要鍵 選H欄 遞增或遞減 自選

    次要鍵 選I欄 必須選遞增

    2011-08-04 09:07:27 補充:

    文字說明不容易清楚,請下載範例檔內有詳細說明

    http://www.funp.net/127564

    2011-08-04 09:26:10 補充:

    007式需TEST合計相同與客戶相同時之情況

    2式合併為一式也是不錯的主意 ^^

    2011-08-04 14:40:24 補充:

    有序號、排名大至小、排名小至大 三個公式

    請下載範例檔測試,哪一個是你要的

    http://www.funp.net/124512

    PS 有個公式為陣列輸入,請按照說明方式輸入,不然公式不會正確執行

    ,正確輸入後公式會顯示為 { 公式 }

    2011-08-04 19:31:31 補充:

    公式說明詳附件

    http://www.funp.net/438080

    2011-08-05 23:45:55 補充:

    一 資料畫面

    圖片參考:http://imgcld.yimg.com/8/n/AF02741245/o/1611080303...

    二 排序方式

      1增加 H I 欄作為排序輔助欄

        H2 =IF(C2="業績",F2*1000+ROW(),H1)

        I2 =IF(C2="業績",1,2)

     

        J2 =IF(C2="業績",MAX(J$1:J1)+1,"")

        序號(固定序號,經過排序也不會動)

     

        往下複製公式

     

      2資料排序 (2003版說明)

        選擇A~I欄(於A欄字上按左鍵不放,往右拉至I欄)

        工具列 - 資料 - 排序

        勾選『有標題列』

        主要鍵選『主排序』(H欄),選遞增或遞減(2個都測試看看)

        次要鍵選『次排序』(I欄),選遞增

     

    三 排名(由大至小 及 由小至大)

        K2 =IF(C2="業績",COUNT(1/N((F$2:F$23-F2)*(C$2:C$23="業績")>0))+1,"")

        L2 =IF(C2="業績",COUNT(1/N((F$2:F$23-F2)*(C$2:C$23="業績")<0))+1,"")

        陣列輸入(先按CTRL SHIFT 不放,,再按ENTER)

        往下複製公式

    四 範例檔案

    http://www.funp.net/849334

  • Kubi
    Lv 5
    9 年前

    若不用公式,改用VBA的話,請試試看吧。

    檔案下載:http://ge.tt/8HZ5hU6

  • 9 年前

    <範例檔>

    http://www.funp.net/663116

    ※加個〔輔助欄〕以函數值排序

    ※加個〔序號欄〕以便將資料排序回來

    2011-08-03 16:29:40 補充:

    沒想到〔遞減〕!^ ^

    又要加個輔助欄,或加一個選項。!!

    都不好用!

    2011-08-03 23:38:33 補充:

    再參考一下:

    http://www.funp.net/827087

    在 i1 輸入任何數字即可〔遞減〕排序

    若 i1 空白,可〔遞增〕排序

還有問題?馬上發問,尋求解答。