在 Excel 的工作表裡有一個成績表,你想建立一個依指定欄位「自動」排序成績表?
如下圖,在下拉式清單中選取一個欄位,成績表就自動依這個欄位排序。
建立自動排序的成績表,就不用重覆手動操作排序了。
【設計與解析】
1. 依欄位定義名稱
選取儲存格A4:G24,按 Ctrl+Shfit+F3 鍵,勾選「頂端列」,定義名稱:座號、國文、英文、數學、社會、自然、總分。
2. 設計下拉式清單
(1) 選取儲存格J3。
(2) 選取「資料/資料工具」功能表裡的「資料驗證」。
(3) 在儲存格內允許選取:清單。
(4) 在「來源」方塊中設定「=$A$4:$G$4」。
3. 輸入排序公式
儲存格I5:=SORTBY(A5:G24,INDIRECT(J3),-1)
(1) INDIRECT(J3)
利用 INDIRECT 函數將儲存格J3內容的文字轉換為儲存格
(2) SORTBY(A5:G24,INDIRECT(J3),-1)
在 SORTBY 函數中利用 INDIRECT(J3) 所指定的欄位內容(已定義好名稱)進行排序。
參數「-1」表示進行遞減排序。
如此,只要選取不同欄位即可進行依該欄位排序。
如果,你想在公式中控制「遞增/遞減」:
儲存格I5:=SORTBY(A5:G24,INDIRECT(J3),(K3="遞增")*2-1)
(1) K3="遞增" 會傳回 TRUE/FALSE=1/0
(2) (K3="遞增")*2 會傳回 2/0
(3) (K3="遞增")*2-1 會傳回 1/-1
用以控制遞增(1)或遞減(-1)。
【參考資料】
![](https://imageproxy.pixnet.cc/imgproxy?url=https://pic.pimg.tw/isvincent/1654417637-1933265109-g.png&width=16)
【延伸學習】
文章標籤
全站熱搜