Excel 排序:依文字、日期、數字或色彩排序資料
在 Excel 中排序資料是一項常見又簡單的任務,能協助您根據所選的排序方式重新排列資料。一般來說,透過內建排序功能,您可以針對一個或多個欄位中的數字、文字、日期與時間進行排序;也能快速輕鬆地依照自訂列表,或依據儲存格格式(例如字體顏色、背景色彩或圖示)來排序資料。
除了這些基本排序方式外,日常工作中還常需要更實用且複雜的排序方法。本教學將介紹幾種高效排序技巧,助您輕鬆解決 Excel 中的排序難題。
目錄:
在 Excel 中存取排序選項
Excel 提供多種方式,讓您輕鬆存取排序功能及其相關選項。
1.1 功能區中的排序按鈕
最快套用排序功能的方式,就是使用功能區中的排序按鈕。
按一下欲排序欄位中的任一儲存格,接著點選資料索引標籤,在排序與篩選區段中,按下升序或 Z 到 A 排序按鈕,即可依字母順序將資料遞增或遞減排序。請參閱下圖:

注意:若數據區域中包含空白列,套用這些按鈕後,僅會對所選儲存格上方或下方、位於空白列之間的數據區域完成排序。
1.2 排序對話方塊
在排序與篩選群組的資料索引標籤中,還有另一個排序按鈕,請參閱下圖:

按一下此排序按鈕後,將會彈出如下圖所示的排序對話方塊:

接著,在排序對話方塊中,您可依需求選擇相應的排序規則。
提示:您也可以使用快速鍵開啟此排序對話方塊——只需連續按下鍵盤上的 Alt + A + S + S 鍵!
1.3 篩選功能表中的排序選項
若您已對數據區域套用篩選,排序選項也會出現在篩選功能中。只需點擊任一欄位的篩選圖示,即可在展開的清單中看到排序選項,如下圖所示:

注意:這些排序選項會根據欄位中的資料類型而變化——若欄位為文字,將顯示升序與 Z 到 A 排序;若欄位為數字,將顯示排序小到大與排序大到小;若欄位為日期,則顯示最早到最新排序與最新到最早排序。
1.4 以滑鼠右鍵存取排序選項
在 Excel 中,您也可以使用右鍵排序選項快速輕鬆地排序資料:在要排序之欄位的任一儲存格上按一下滑鼠右鍵,在出現的快捷選單中即可看到六種排序選項,請選擇您需要的那一項,請參閱截圖:

排序的基本用法
此 Excel 排序功能可協助您輕鬆執行基本排序作業,例如將數字、文字字串或日期依遞增或遞減順序排列,甚至能根據字型顏色或儲存格背景色進行排序。本節將介紹此功能的幾種基本用法。
2.1 依文字、數字或日期排序資料
若要依文字、數字或日期將資料範圍以遞增或遞減順序排序,請依照下列步驟操作:
1. 選取您要排序的資料範圍,然後點擊資料> 排序,請參閱截圖:

2. 在排序對話方塊中,進行下列操作:
- 在欄位區段中,選取您要據以排序的欄位名稱;
- 在排序依據區段中,選取儲存格值選項;
- 在排序順序區段中,指定您要的排序方式。(文字字串請選 )A 到 Z或 Z 到 A;數字清單請選小到大或大到小;日期儲存格則請選最早到最新或最新到最早。)
- 提示:若您的資料包含標題列,請務必勾選包含標題選項;若不含標題列,則請取消勾選此選項。

3. 接著,點擊確定按鈕,系統將立即根據您指定的欄位完成排序!
2.2 依儲存格顏色、字體顏色或儲存格圖示排序資料
若您希望根據儲存格顏色、字體顏色,或套用條件格式圖示來排序資料區域,排序功能可迅速完成這項任務。
假設您有一份數據區域已套用儲存格色彩格式(如下方截圖所示),若需依儲存格顏色重新排列資料,例如希望將淺紅色列置於最上方,其後依序為淺黃色與淺藍色列,請依照下列方式依儲存格顏色排序列:

1. 選取您要依儲存格顏色排序的資料範圍,然後點擊資料> 排序,即可開啟排序對話方塊。
2. 在排序對話方塊中,進行下列設定:
2.1)將第一個儲存格顏色設定在最上方,如下所示:
- 在欄區段中,選取名稱或其他包含已上色儲存格的欄位。在此範例中,所有欄位皆含有上色儲存格,您可以任選一個欄位名稱;
- 在排序依據區段中,選擇請選擇儲存格色彩選項;
- 在排序順序區段中,選擇一種您希望置於頂端或底端的儲存格色彩;
2.2)接著,點擊新增條件按鈕,以新增第二層及其他排序規則,並重複上述步驟設定其他儲存格顏色。
- 提示:若您的資料包含標題列,請務必勾選包含標題選項;若不含標題列,則請取消勾選此選項。

3. 在完成設定後,點擊確定按鈕,數據區域就會依照您指定的儲存格顏色完成排序,請參閱截圖:

提示:依照上述步驟,您還可在排序對話方塊中選擇字體顏色或使用條件格式圖示,輕鬆依字體顏色或儲存格圖示排序資料!
2.3 依多個欄位排序資料
若您擁有如下方截圖所示的大型資料集,並希望執行多層級排序以更清晰地檢視資料——例如先依「地區」欄位排序,再依「州別」欄位排序,最後依「銷售額」欄位排序——該如何在 Excel 中完成此操作?

若要依多個欄位排序資料,請依照下列步驟操作:
1. 選取您要排序的資料範圍,然後點擊資料> 排序,即可開啟排序對話方塊。
2. 在排序對話方塊中,點擊新增條件按鈕兩次(因需使用三個欄位進行排序),即可在清單框中看到已新增兩個次要排序依據規則層級:
提示:若您的資料包含標題列,請務必勾選包含標題選項;若不含標題列,請取消勾選。

3. 在主要排序依據與次要排序依據的下拉清單中,分別選取您要排序的欄位名稱,並於儲存格值的排序方式區段中,為每個選定欄位選擇「儲存格值」,最後再依需求設定排序順序。

4. 接著點擊確定,即可獲得如下方截圖所示的排序結果:

2.4 依自定義列表排序資料
除了依字母或數字順序排序外,此功能還支援自訂列表排序。例如,您可將下方資料區域依狀態排序—「未開始」、「進行中」、「已完成」(順序由您自訂)。以下說明如何執行此類排序。

1. 選取您要排序的資料範圍,然後點擊資料 > 排序,即可開啟排序對話方塊。
2. 在排序對話方塊中,先從欄位區段選取要排序的欄位,再於儲存格值的排序方式區段中,點擊順序區段下的自定義列表選項,請參閱截圖:
提示:若您的資料包含標題列,請務必勾選包含標題選項:若資料不含標題列,請取消勾選。

3. 此時會彈出一個自訂列表對話方塊,請執行下列操作:
- 按一下新增清單位於自訂清單方塊中;
- 請依照您希望的排序順序,將文字字串輸入至清單項目方塊中;(輸入時,每項文字請按下 )Enter 鍵分隔。)
- 最後,點擊新增按鈕,新清單就會立即加入至自訂列表方塊中!

4. 接著點擊確定按鈕,即可返回排序對話方塊,您自訂的項目順序將立即顯示於順序下拉列表中!

5. 接著點擊確定按鈕關閉對話方塊,數據區域便會依照您定義的自訂列表完成排序,請參閱截圖:

2.5 橫向排序資料從左到右(水平排序)
一般情況下,您會將資料表垂直排序(由上至下),但有時也可能需要根據列的值進行橫向排序(即由左至右)。例如,在下方的資料區域中,我希望依據「姓名」欄位中的值來排序。

在此情況下,排序功能內建支援由左至右的排序。請依照下列步驟操作:
1. 選取您要排序的資料範圍(不含標題列),然後點擊資料> 排序,即可開啟排序對話方塊。
2. 在彈出的排序對話方塊中,點擊選項按鈕,然後於排序選項對話方塊中選取由左至右排序選項,請參閱截圖:

3. 按一下確定以返回「排序」對話方塊。在列區段中,指定您要據以排序資料的列號;於排序依據區段中,選取儲存格值;最後,在順序區段中選擇所需的排序順序。請參閱螢幕截圖:

4. 接著,點擊確定,您的資料就會如以下螢幕截圖所示完成排序:

2.6 以區分大小寫的方式排序資料
一般來說,資料排序預設不會區分大小寫,如下方第一張螢幕截圖所示。但若您希望在排序時區分大小寫(如下方第二張螢幕截圖所示),該如何在 Excel 中實現?

若要在 Excel 中執行區分大小寫排序,請依照下列步驟操作:
1. 選取您要排序的資料範圍,然後點選資料 > 排序,即可開啟排序對話方塊。
2. 在排序對話方塊中,於欄區段指定您要據以排序資料的欄名,接著在排序依據區段中選取儲存格值,最後於順序區段選擇所需的排序順序,請參閱螢幕截圖:
提示:若您的資料包含標題,請務必勾選包含標題選項;若無標題,則請取消勾選。

3. 在出現的排序選項提示方塊中,繼續按一下此對話方塊中的選項按鈕,並勾選區分大小寫選項,請參閱螢幕截圖:

4. 按一下確定> 確定 以關閉對話方塊。資料將以區分大小寫的方式排序:當文字相同時,小寫字串會排在全大寫之前。請參閱螢幕截圖:

進階排序應用
在日常工作中,您可能會遇到更複雜、實用且具體的排序需求,本節將為您介紹 Excel 中多種排序任務。
3.1 依出現頻率排序資料
假設您有一欄資料清單,現在希望根據各筆資料的出現頻率,以遞減順序排序該欄位(如下方螢幕截圖所示)。以下將為您介紹兩種方法來完成這項任務。

使用輔助欄位依出現頻率排序資料
Excel 並未內建依出現次數排序的功能。不過,您可以透過建立輔助公式來計算每筆文字的出現頻率,再根據該輔助欄位進行排序,即可輕鬆達成所需的排序效果。
1. 在緊鄰原始資料的空白儲存格(例如 B2)中輸入下列公式,然後向下拖曳填滿控點至其他儲存格以套用此公式,請參閱螢幕截圖:
=COUNTIF($A$2:$A$16,A2)
備註:在上述公式中,A2:A16 是您要依頻率排序的資料清單,而 A2 則為該清單中的第一筆資料。

2. 接著,保持選取公式儲存格,然後按一下資料> 升序 或由大到小排序(依需求選擇)。在彈出的排序警告提示方塊中,選取擴充選取範圍,請參閱螢幕截圖:

3. 接著,點擊排序按鈕,原始欄位就會依照出現頻率自動排序,如下方螢幕截圖所示:

1. 取得結果後,您可依需求刪除輔助欄。
2. 若有文字字串出現次數相同,則相同文字可能不會被排序在一起。此時,請前往排序對話方塊,先依輔助欄位排序,再依文字排序,如下圖所示:
使用實用功能依出現頻率排序資料
若您已安裝 Kutools for Excel,只需運用其高級排序功能,即可輕鬆快速依出現頻率排序資料,無需額外使用輔助欄位!
1. 選取您要排序的資料清單,然後按一下 KUTOOLS PLUS> 排序> 高級排序,請參閱下方螢幕截圖:

2. 在高級排序對話方塊中,先從欄區段選取您要排序的欄位,接著於頻率的排序依據下拉清單中進行選擇,最後在順序區段指定排序順序,請參閱螢幕截圖:
提示:如果您的資料包含標題,請務必勾選包含標題選項;若資料不含標題,則請取消勾選。

3. 接著,按一下確定按鈕,資料清單便會立即依出現次數完成排序,詳情請參閱螢幕截圖:

3.2 依字元長度排序資料
若您有一份包含不同長度文字字串的資料清單,現在或許想依字元數排序,讓欄位看起來更整齊美觀。本節將說明如何依字元數量排序資料。
使用輔助欄位依字元長度排序資料
若要依字元長度排序欄位,請先使用 LEN 函數計算每個儲存格的字元數,再套用排序功能對資料清單進行排序。請依照下列步驟操作:
1. 在緊鄰原始資料的空白儲存格(例如 B2)中輸入公式 =LEN(A2),再向下拖曳填滿控點至其他儲存格以套用此公式,請參閱螢幕截圖:

2. 接著,保持選取公式儲存格,然後按一下資料> 升序 或由大到小排序(依需求選擇)。在彈出的排序警告提示方塊中,選取擴充選取範圍,請參閱螢幕截圖:

3. 接著,按一下排序按鈕,字串便會依字元長度完成排序。您可視需要刪除輔助欄位 B。請參閱螢幕截圖:

使用簡易選項依字元長度排序資料
想要快速又輕鬆地依字元數量排序資料?我強力推薦這款實用工具——Kutools for Excel!透過其高級排序功能,您能輕鬆搞定這項任務。
1. 選取您要排序的資料清單,然後按一下 KUTOOLS PLUS> 排序> 高級排序。
2. 在高級排序對話方塊中,於欄區段選取您要排序的欄,從排序依據下拉清單中選擇文字長度,並在順序區段指定所需的排序順序。請參閱以下截圖:
提示:若您的資料包含標題列,請務必勾選包含標題列選項;若不含標題列,請取消勾選。

3. 接著,按一下確定按鈕,清單中的文字字串便會依字元長度排序,如下方截圖所示:

3.3 依姓氏排序全名
當您在 Excel 中排序一組全名時,Excel 會根據姓名的第一個字元進行排序;但若您希望改依姓氏來排序資料,該怎麼做呢?這裡為您介紹幾個簡單技巧,讓您輕鬆在 Excel 中依姓氏排序全名。
使用輔助欄依姓氏排序全名
若要依姓氏對全名進行字母排序,請先將姓氏提取至新欄,再使用排序功能。請依照下列步驟操作:
1. 在原始資料旁的空白儲存格(例如 B2)中輸入或複製下方公式,再向下拖曳填滿控點,即可將公式套用至其他儲存格。詳情請參閱以下截圖:
=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))

2. 繼續選取包含公式的儲存格,然後點選資料 > 升序 或由大到小排序(依您的需求)。在跳出的排序警告提示方塊中,請選擇擴充選取範圍。請參閱以下截圖:

3. 接著,按一下排序按鈕,即可取得依姓氏排序完成的全名。完成後,您可視需要刪除輔助欄位。請參閱以下截圖:

使用快速方法依姓氏排序全名
若您不熟悉公式,卻又希望在不使用任何公式的情況下依姓氏排序全名,可善用高級排序功能——透過 Kutools for Excel 輕鬆達成目標!
1. 選取您要排序的全名儲存格,然後按一下 KUTOOLS PLUS> 排序> 高級排序。
2. 在高級排序對話方塊中,於欄區段選取您要排序的欄位,並從姓氏的排序依據下拉式清單中選擇排序方式,最後在順序區段指定所需的排序順序。請參閱以下截圖:
提示:若您的資料包含標題列,請務必勾選包含標題選項;若不含標題列,請取消勾選。

3. 接著,按一下確定按鈕,全名欄位將立即依姓氏完成排序。

3.4 依網域排序郵箱地址
若您有一組電子信箱地址,想依網域名稱(而非僅依地址開頭字母)排序,該如何在 Excel 中輕鬆達成?本節將為您介紹幾種快速實用的方法,協助您依網域對電子信箱地址進行排序。
使用輔助欄依網域排序郵箱地址
在此,您可以建立一個公式,將郵箱地址的網域提取至另一欄,再依據這個新網域欄位對原始郵箱地址進行排序。
1. 在郵箱地址旁的空白儲存格中輸入下列公式(本例為 C2 儲存格),然後向下拖曳填滿控點,將公式套用至所需範圍,即可自動提取所有郵箱地址的域名。請參閱以下截圖:
=RIGHT(B2,LEN(B2)-FIND("@",B2))

2. 保持選取含公式的儲存格,然後按一下資料> 升序 或由大到小排序(依您所需)。在排序警告對話方塊中,勾選擴充選取範圍。請參閱以下截圖:

3. 接著,按一下排序按鈕,即可依郵箱地址的域名,按照您指定的遞增或遞減順序對資料進行排序。

4. 排序完成後,您可依需求刪除輔助欄。
只需幾次點擊即可依網域排序郵箱地址
若您已安裝 Kutools for Excel,只需點擊幾下,即可透過其高級排序功能,依網域名稱對郵箱地址進行字母排序!
1. 選取您要排序的整個資料區域,然後按一下 KUTOOLS PLUS> 排序> 高級排序。
2. 在高級排序對話方塊中,於欄區段選取您要排序的欄位,並從郵箱域名的排序依據下拉式選單中選擇排序方式,最後在順序區段指定所需的排序順序。請參閱以下截圖:
提示:若您的資料包含標題列,請務必勾選包含標題選項。若您的資料不含標題列,請取消勾選。

3. 點擊確定後,數據區域已依郵箱地址的域名完成排序,如下方截圖所示:

3.5 將一欄排序以對應另一欄
當您有兩欄資料內容完全相同或幾乎一致,卻因排序不同而未能對齊時,可能需要重新排序,讓相同的數值在兩欄中對應至同一列。本節將介紹處理此類排序需求的兩種情境。
對兩欄含有完全相同項目者進行排序以相互對應
例如,我有兩欄資料包含相同的項目,但排序不同;現在我希望對第二欄進行排序,使其與第一欄的順序一致,如下方截圖所示。

1. 在原始資料旁的空白儲存格中輸入下列公式,然後向下拖曳填滿控點,將公式套用至清單中的所有儲存格,即可取得 B 欄各數值在 A 欄中的對應位置。請參閱以下截圖:
=MATCH(B2,$A$2:$A$10,0)

2. 接著,選取 B 欄與新的輔助欄,然後點選資料 > 排序,開啟排序對話方塊。在排序對話方塊中,請執行下列操作:
- 從欄區段中,選取您要用來排序資料的輔助欄;
- 接著,在儲存格值的排序依據區段中選擇;
- 最後,在小到大的排序順序區段中選擇選項。

3. 接著,按一下確定按鈕,即可獲得與下方截圖完全相符的兩欄資料。如有需要,您也可刪除公式欄。

對兩欄含有不完全相同項目者進行排序以相互對應
有時,兩欄中的項目可能不完全一致。例如,我希望將第二欄的資料排序,使其與第一欄對齊,讓相同的數值如截圖所示,整齊排列在同一列上。

1. 在兩欄之間插入一個新的空白列。
2. 在儲存格 B2 中輸入下列公式,並拖曳填滿控點,將公式套用至所需儲存格。現在,您即可看到 C 欄資料已排序完成,並與 A 欄資料完美對齊!
=IF(ISNA(MATCH(A2,$C$2:$C$8,0)),"",INDEX($C$2:$C$8,MATCH(A2,$C$2:$C$8,0)))

3.6 從資料清單中排序並提取唯一值
如果您有一份包含部分重複值的清單,現在只想提取唯一值並依字母順序排序(如下方截圖所示),我將為您介紹幾種處理此類排序的實用公式。

1. 請在空白儲存格(例如 C2)中輸入下列公式,然後按下 Ctrl + Shift + Enter 鍵以取得第一個結果,詳情請參閱截圖:
=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,"<"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")
注意:在公式中,A2:A12 是您要從中提取唯一值的資料清單,C1 是輸入公式所在儲存格的上方儲存格。請根據實際需求調整這些參照。

2. 接著拖曳填滿控點以提取值,直到出現空白儲存格為止,所有唯一值將自動依遞增順序排序並提取完成,詳情請參閱截圖:

1. 如果您希望提取的唯一值以遞減順序排序,請套用下方公式:(記得按下 )Ctrl + Shift + Enter 鍵)
=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,">"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")
2. 若資料清單包含空白儲存格或數值,上述公式將無法運作,此時請改用下列公式:(記得按下 )Ctrl + Shift + Enter 鍵)
=IFERROR(SMALL(IF((COUNTIF($C$1:C1,$A$2:$A$12)=0)*ISNUMBER($A$2:$A$12),$A$2:$A$12,"A"),1),INDEX($A$2:$A$12,MATCH(SMALL(IF(ISTEXT($A$2:$A$12)*(COUNTIF(C1:$C$1,$A$2:$A$12)=0),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),1),IF(ISTEXT($A$2:$A$12),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),0)))

3.7 同時獨立排序多列或多欄
我們通常能輕鬆地根據某一行或某一欄對資料範圍進行排序,但有時您可能希望對範圍內的每一行或每一欄各自獨立進行字母排序。該如何在 Excel 中完成這項操作?
分別對多列資料進行排序
假設您有一組資料,需如以下截圖所示,對每一列進行字母排序。針對此需求,我們提供兩個快速技巧:

使用公式一次獨立排序多個列
1. 將欄位標題複製到您希望顯示排序結果的其他位置。
2. 接著,在空白儲存格(例如 H2)中複製或輸入下方公式,然後同時按下 Ctrl + Shift + Enter 鍵,即可取得第一個結果,請參閱截圖:
=INDEX($B2:$E2, MATCH(COLUMNS($B2:B2), COUNTIF($B2:$E2, "<="&$B2:$E2), 0))

3. 接著選取公式儲存格 H2,向右拖曳填滿控點,將公式複製到第一列的其他儲存格(在此範例中,拖曳至 K2 儲存格),請參閱截圖:

4. 選取第一列中的公式儲存格(H2:K2),向下拖曳填滿控點,將公式複製至其他列,即可看到每列數值皆已依遞增順序自動排序!

使用 VBA 程式碼一次獨立排序多個列
下列 VBA 程式碼可協助您輕鬆對每一列資料進行字母排序。請依照以下步驟操作:
1. 選取您要在每一列中進行排序的資料。
2. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。
3. 接著,點選插入> 模組,並將下列程式碼貼到模組視窗中。
VBA 程式碼:一次獨立排序多個列
Sub SortIndividualR()
'Updateby Extendoffice
Dim xRg As Range, yRg As Range
If TypeName(Selection) <> "Range" Then Exit Sub
Set xRg = Selection
If xRg.Count = 1 Then
MsgBox "Select multiple cells!", vbExclamation, "Kutools for Excel"
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Application.ScreenUpdating = False
For Each yRg In xRg.Rows
yRg.Sort Key1:=yRg.Cells(1, 1), _
Order1:=xlAscending, _
Header:=xlNo, _
Orientation:=xlSortRows
Next yRg
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
Application.ScreenUpdating = True
End Sub
。接著,按下F5 鍵執行此程式碼,每一列的資料將立即依遞增順序排序,請參閱截圖:

分別對多欄資料進行排序
若要對每一欄資料分別進行排序,以下兩種方法可助您輕鬆達成目標。
使用公式一次獨立排序多個欄
1. 將欄標籤複製到您希望顯示排序結果的其他位置。
2. 接著,在空白儲存格(例如 F3)中輸入下列公式,並同時按下 Ctrl + Shift + Enter 鍵以取得第一筆結果,再向下拖曳填滿控點,將公式套用至其他列,請參閱截圖:
=INDEX(A$3:A$6,MATCH(ROWS(A$3:A3),COUNTIF(A$3:A$6,"<="&A$3:A$6),0))

3. 繼續選取第一列中的公式儲存格(F3:F6),向右拖曳填滿控點,將公式複製至其他欄位。現在,各欄數值均已依遞增順序個別排序,如下方截圖所示:

使用 VBA 程式碼一次獨立排序多個欄
若要獨立排序多個欄的資料,下列 VBA 程式碼也能協助您達成目標,請依照以下步驟操作:
1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。
2. 接著,點選插入> 模組,並將下列程式碼貼到模組視窗中。
VBA 程式碼:一次獨立排序多個欄
Sub SortIndividualJR()
'Updateby Extendoffice
Dim xRg As Range
Dim yRg As Range
Dim ws As Worksheet
Set ws = ActiveSheet
On Error Resume Next
Set xRg = Application.InputBox(Prompt:="Range Selection:", _
Title:="Kutools for excel", Type:=8)
Application.ScreenUpdating = False
For Each yRg In xRg
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=yRg, Order:=xlAscending
.SetRange ws.Range(yRg, yRg.End(xlDown))
.Header = xlNo
.MatchCase = False
.Apply
End With
Next yRg
Application.ScreenUpdating = True
End Sub
3. 接著,按下 F5 鍵執行此程式碼,系統將彈出提示方塊,請選擇您要排序的資料區域,詳情請參閱截圖:

4. 接著,按一下確定,各欄將立即完成排序。

3.8 在 Excel 中隨機排序資料
我們通常會以遞增或遞減的字母順序對資料進行排序,但您是否曾試過以隨機方式重新排列資料?在本節中,我將說明如何將儲存格範圍以隨機順序重新排序。
使用輔助欄位隨機排序一欄資料
一般而言,您可以使用 RAND 函數產生隨機數字,再根據此隨機清單對資料進行排序,請依照以下步驟操作:
1. 在資料旁的空白儲存格中輸入公式:=RAND(),並向下拖曳填滿控點,即可產生如下方截圖所示的隨機數字清單:

2. 保持選取包含公式的儲存格,然後依需求點選「資料」>「升序」或「遞減排序」。在彈出的「排序警告」對話框中,選取「擴充選取範圍」,請參閱下方截圖:

3. 接著,點擊排序按鈕,資料清單將立即被打亂,請參閱截圖:

使用強大功能隨機排序儲存格、列或欄
Kutools for Excel 支援一項強大功能——隨機排序,讓您能輕鬆隨機打亂儲存格範圍、範圍內各欄/列的資料,甚至一次隨機重排整欄或整列!
1. 選取您要隨機排序的資料區域,然後點選 KUTOOLS PLUS> 排序> 隨機排序。請參閱截圖:

2. 在隨機排序或選擇對話方塊的排序索引標籤下,選擇下列其中一個您需要的選項:
- 整行:隨機打亂整行中所選內容。
- 整欄排序:隨機打亂整欄中的項目順序,實現隨機選擇。
- 排序在每一列:將每一列的內容分別進行隨機打亂排序。
- 排序在每一欄:分別對每一欄進行隨機打亂排序。
- 排序所有儲存格:隨機打亂所選區域中的所有儲存格。

3. 按一下確定按鈕,資料將立即隨機重排。
3.9 根據月份、日期,或月份與日期來排序日期清單
在 Excel 中排序日期時,「排序」功能預設會依年份、月份和日期來排列日期清單;但在某些情況下,您可能希望忽略年份,僅依據月份、日期,或月份與日期的組合進行排序。該如何在 Excel 中實現這種排序方式?
使用輔助欄位依月份或日期對日期清單進行排序
若要僅依月份或日期排序,可先從日期中提取對應的月份或日期數字,再依據這些提取出的數字欄位進行排序。
1. 請在資料旁的空白儲存格中輸入下列公式,並向下拖曳填滿控點,將公式複製至其他儲存格,詳情請參閱截圖:
=MONTH(B2) (extract month number)
=DAY(B2)(提取日期數字)

2. 提取出月份或日期數字後,保持選取公式儲存格,點擊資料> 升序 或遞減排序(依需求選擇)。在跳出的排序警告提示方塊中,選取擴充選取範圍,請參閱截圖:

3. 接著,點擊排序按鈕,日期便會依月份排序(忽略年份與日期)。請參閱截圖:

只需幾次點擊即可依月份或日期對日期清單進行排序
若您已安裝 Kutools for Excel,只需點擊幾下,即可透過其高級排序功能,輕鬆依月份或日期排序日期清單!
Kutools for Excel-內含超過 300 項 Excel 必備工具,讓您的 Excel 作業更快速、更簡單、更高效!立即下載!
1. 選取您要排序的資料區域,然後按一下 KUTOOLS PLUS> 排序> 高級排序。
2. 在高級排序對話方塊中,於欄位區段選取您要排序的欄位,並從排序依據下拉清單中選擇月份或日期,最後在順序區段指定所需的排序順序。
提示:若您的資料包含標題列,請務必勾選包含標題選項;若無標題列,請取消勾選。

3. 接著,按一下確定按鈕,資料就會依照您指定的月份或日期(忽略年份)完成排序,請參閱截圖:

使用輔助欄位依月份與日期對日期清單進行排序
現在,若您需要僅依月份與日期(不含年份)對日期清單進行排序,可運用 TEXT 函數將日期轉換為指定格式的文字字串,再依需求套用排序功能。
1. 在資料旁的空白儲存格中輸入下列公式,並將公式向下複製至資料底部,即可如以下截圖所示,將月份與日期提取為文字字串:
=TEXT(B2,"MMDD")

2. 保持選取包含公式的儲存格,然後點選資料 > 升序 或遞減排序(依需求選擇)。在跳出的排序警告提示方塊中,選取擴充選取範圍,請參閱截圖:

3. 接著,按一下排序按鈕,您的資料就會依月份與日期排序。

3.10 根據週內天統計排序日期清單
若要根據週內天數對日期清單進行排序(例如從星期一到星期日,或從星期日到星期六),本節將介紹兩種在 Excel 中實現此操作的方法。
使用輔助欄位依週內天統計排序日期清單
當您在依週內天數對日期進行排序時,同樣需要一個輔助欄位來傳回對應星期的數字,並依據該輔助欄位對日期排序。
1. 請在空白儲存格中輸入或貼上下列公式,再向下拖曳填滿控點,即可將公式套用至其他儲存格,詳情請參閱截圖:
=WEEKDAY(B2) (Start from Sunday (1) to Saturday(7))
=WEEKDAY(B2,2)(從星期一(1)到星期日(7))

2. 保持選取公式儲存格,然後按一下資料> 升序 或遞減排序(依需求選擇),在跳出的排序警告提示方塊中,選取擴充選取範圍,請參閱截圖:

3. 接著,點擊排序按鈕,即可立即取得所需的排序結果,詳情請參閱截圖:

使用簡易選項依週內天統計排序日期清單
透過 Kutools for Excel 的高級排序功能,您無需任何輔助公式,即可輕鬆快速解決此問題!
1 選取您要排序的數據區域,然後按一下。KUTOOLS PLUS> 排序> 高級排序。
2. 在高級排序對話方塊中,於欄位區段選取您要排序的欄位,從星期選單的排序依據下拉列表中選擇項目,並在順序區段指定所需的排序順序。
提示:若您的資料包含標題列,請務必勾選包含標題選項;若無標題列,請取消勾選。

3. 接著,按一下確定按鈕,資料就會依照您指定的週內天數完成統計排序。請參閱截圖:

3.11 根據季度排序日期清單
本節將說明如何忽略年份,僅依季度排序日期清單,並提供兩種實用技巧供您運用。
使用輔助欄位依季度對日期清單進行排序
如同上述方法,您應建立一個公式輔助欄位,從指定日期中提取季度數字,並依據此新輔助欄位對日期進行排序。
1 請在空白儲存格中輸入或貼上下列公式,然後向下拖曳填滿控點,將公式複製至其他儲存格,詳情請參閱截圖:
=ROUNDUP(MONTH(B2)/3,0)

2. 繼續選取包含公式的儲存格,然後依需求點選資料 > 升序 或 遞減排序(Z 到 A)。在彈出的排序警告提示方塊中,請選取擴充選取範圍,詳情請參閱截圖:

3. 接著,點擊排序按鈕,即可看到數據區域已依季度排序,如下方截圖所示:

使用實用功能依季度對日期清單進行排序
若您已安裝 Kutools for Excel,即可使用內建的高級排序功能,只需點擊幾下,輕鬆完成此任務!
1 選取您要排序的數據區域,然後按一下。KUTOOLS PLUS> 排序> 高級排序。
2. 在高級排序對話方塊中,於欄區段選取您要排序的欄位,並在季度的排序依據下拉清單中選擇「季度」,最後於順序區段指定您所需的排序方式。
提示:若您的資料包含標題列,請務必勾選包含標題選項:若資料不含標題列,請取消勾選。

3. 最後,點擊確定按鈕,即可依需求將選取區域按季度排序完成。
3.12 依月份名稱或星期名稱排序資料
如果您有一份以文字列出的月份名稱清單,直接排序會依字母順序排列,而非按照一月至十二月的時間順序。若希望將月份名稱依一月到十二月的正確時序排列,可透過排序功能中的「自訂排序」輕鬆達成。
1. 選取您要依月份名稱排序的資料範圍,然後點選資料> 排序,即可開啟排序對話方塊。
2. 在排序對話方塊中,於欄區段選取包含月份名稱的欄位名稱;在排序依據區段選擇儲存格值;最後,在順序區段選取自定義列表,請參閱截圖:
提示:若您的資料包含標題列,請務必勾選包含標題選項:若資料不含標題列,請取消勾選。

3. 接著,在彈出的自定義列表對話方塊中,請根據工作表中月份的顯示格式,選取完整月份名稱(January、February、March……)或縮寫名稱(Jan、Feb、Mar……),詳情請參閱截圖:

4. 接著,按一下確定> 確定 以關閉對話方塊,此時您的資料已依月份名稱完成時間順序排序,如下方截圖所示:

提示:若要依星期名稱排序,請在自訂列表對話方塊中,依需求選取完整星期名稱(Sunday、Monday、Tuesday……)或縮寫名稱(Sun、Mon、Tue……)。
3.13 依奇數或偶數排序資料
在 Excel 中,將數字依遞增或遞減順序排序相當簡單,但您是否曾想過將數字清單依奇數到偶數(或偶數到奇數)的方式排序?本節將為您介紹幾種實現此操作的實用方法。
使用輔助欄位依奇數或偶數對資料進行排序
若要依奇數或偶數對數字清單進行排序,請先建立公式以識別奇數與偶數,再套用排序功能。
1. 在數字清單旁的空白儲存格中輸入公式 =ISODD(A2),然後向下拖曳以複製公式至其他儲存格。您將立即看到 TRUE 與 FALSE 的結果:TRUE 代表奇數,FALSE 代表偶數!

2. 繼續選取包含公式的儲存格,然後按一下資料> 升序 或 遞減排序(Z 到 A)(依需求選擇)。在彈出的排序警告提示方塊中,選取擴充選取範圍,請參閱截圖:

3. 接著點擊排序按鈕,所有偶數將自動歸類在一起,緊接其後為奇數(或反之亦然),詳情請參閱截圖:

使用實用功能依奇數或偶數對資料進行排序
藉助 Kutools for Excel 的高級排序功能,您也能快速將數字依奇數到偶數(或反之)排序!
1 選取您要排序的數據區域,然後按一下。KUTOOLS PLUS> 排序> 高級排序。
2. 在高級排序對話方塊中,於欄區段點選您要排序的欄位,然後在奇偶數的排序依據區段中選擇「奇偶性」。接著指定排序順序(A 到 Z為從偶數到奇數,Z 到 A為從奇數到偶數),請參閱截圖:
提示:若您的資料包含標題列,請務必勾選包含標題選項:若資料不含標題列,請取消勾選。

3. 接著點擊確定按鈕,即可獲得以下結果:

3.14 依絕對值排序資料
若某欄同時包含正數與負數,Excel 預設會直接依數值大小進行遞增或遞減排序。然而在某些情況下,您可能希望忽略負號,改以絕對值排序。該如何在 Excel 中實現此需求?
使用輔助欄依絕對值排序資料
若要依絕對值排序數字,建議先建立一個公式,將所有數值轉換為絕對值,再套用排序功能進行排序。
1. 在相鄰的空白儲存格 B2 中輸入公式 =ABS(A2),再拖曳填滿控點將公式複製至其他儲存格,即可立即將所有數值轉換為絕對值:

2. 保持選取包含公式的儲存格,然後點擊資料 > 升序或由大到小排序(依需求而定)。在彈出的排序警告提示方塊中,選取擴充選取範圍,如截圖所示:

3. 接著點擊排序按鈕,所有數字將依照絕對值排序,如下方截圖所示:

使用便捷選項,依絕對值排序資料
如果您厭倦了建立輔助欄位,強力推薦您使用 Kutools for Excel!透過其高級排序功能,即可直接又輕鬆地依絕對值對數字進行排序。
Kutools for Excel-內含超過 300 項 Excel 必備工具,讓您的 Excel 作業更快速、更簡單、更高效!立即下載!
1. 選取您要排序的資料範圍,然後點擊 KUTOOLS PLUS> 排序> 高級排序。
2. 在高級排序對話方塊中,於欄區段點選您要排序的欄位,接著在絕對值選項中選擇排序依據區段,並指定排序順序,如截圖所示:
提示:若您的資料包含標題列,請務必勾選「包含標題」;若無標題列,請取消勾選。

3. 接著點擊確定,所有數字將忽略負號,依由小到大或由大到小排序。
輸入或變更資料時自動排序資料
Excel 的排序功能並非動態,每次變更或新增資料後都必須手動重新排序。本節將說明如何在您的數據區域中,於每次新增數值時自動對資料進行排序。
4.1 使用公式自動排序欄中的數值
若要自動將數字清單依遞增或遞減順序排序,可運用結合 LARGE、SMALL 與 ROW 函數的公式。
1. 請在您的原始數據旁的空白儲存格中輸入或複製下方公式,再向下拖曳填滿控點至欲套用此公式的儲存格,數字將依由小到大的順序自動排列,如截圖所示:
=IFERROR(SMALL($A$2:$A$100,ROWS(B$2:B2)),"")
注意:在此公式中,A2:A100 是您要自動排序的數字清單,其中包含若干空白儲存格,以便日後新增項目;B2 則為輸入公式的儲存格。

2. 現在,當您變更原始資料或輸入新資料時,排序清單將自動更新,如下方示範所示:

提示:若要自動將數字以遞減順序排序,請套用下方公式:
=IFERROR(LARGE($A$2:$A$100,ROWS(B$2:B2)),"")
4.2 使用公式自動排序欄中的文字值
如果您想自動排序欄中的文字值,上述公式將無法運作,此時可使用另一個公式,請照以下步驟操作:
1. 在資料欄旁的空白儲存格中輸入或複製下方公式,接著同時按下 Ctrl + Shift + Enter 鍵以取得第一筆文字,再選取該公式儲存格,並向下拖曳填滿控點至需排序的儲存格範圍,如截圖所示:
=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")

2. 從現在起,當您在 A 欄輸入數值或變更原始資料後,B 欄的文字字串將自動依遞增順序排序,如下方示範所示:

提示:若要自動將文字字串以遞減順序排序,請套用下方公式(記得按下 )Ctrl + Shift + Enter 鍵):
=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")
4.3 使用 VBA 程式碼自動排序欄中混合的數值與文字值
若欄位中同時包含數值與文字,以下 VBA 程式碼或許能協助您自動排序資料清單。
1. 在您要自動排序資料的工作表分頁上按一下滑鼠右鍵,並選取檢視程式碼。於彈出的 Microsoft Visual Basic for Applications 視窗中,請將下列程式碼複製並貼至空白的模組視窗中,如截圖所示:
VBA 程式碼:當資料輸入或變更時自動依遞增順序排序:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
注意:在上述程式碼中,輸入的資料將會於 A 欄自動排序。A1 為標題,而 A2 是資料清單的第一個儲存格。

2. 接著,儲存並關閉程式碼視窗。日後當您在 A 欄輸入新資料或修改既有資料時,資料將自動依遞增順序排序,如下方示範所示:

提示:如果您希望將資料清單以遞減順序排序,請套用下列程式碼:
VBA 程式碼:當資料輸入或變更時自動以遞減順序排序:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
On Error Resume Next
If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Range("A1").Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
其他排序情境
日常工作中,您可能會遇到各式各樣的排序需求。本節將介紹其他實用的排序類型,例如儲存格內資料排序、欄或列資料反向排序等。
5.1 儲存格內資料排序
若要將單一儲存格中的文字字串依字母順序排序,例如將「HDAW」排序為「ADHW」;或將以逗號分隔的多個單字排序,例如將「word, outlook, excel, access」排序為「access, excel, outlook, word」,本節將說明如何在 Excel 中輕鬆完成此類排序。
將儲存格內的字串值按字母順序排序
若要在儲存格內將字串值依字母順序排序,您需要建立使用者自訂函數。請依照下列步驟操作:
1. 按住 ALT + F11 鍵以開啟 Microsoft Visual Basic for Applications 視窗。
2. 點選插入> 模組,並將下列程式碼貼上至模組視窗中。
VBA 程式碼:儲存格內文字值排序
Function SortCellContents(xRange As Range)
'Updateby Extendoffice
Dim xArr
Dim xF1, xF2 As Integer
Dim xStrValue As String
Dim xStrT As String
If xRange.Count <> 1 Then
Exit Function
End If
xStrValue = xRange.Value
ReDim xArr(1 To Len(xStrValue))
For xF1 = 1 To UBound(xArr)
xArr(xF1) = Mid(xStrValue, xF1, 1)
Next
For xF1 = 1 To UBound(xArr)
For xF2 = xF1 To UBound(xArr)
If Asc(xArr(xF2)) < Asc(xArr(xF1)) Then
xStrT = xArr(xF2)
xArr(xF2) = xArr(xF1)
xArr(xF1) = xStrT
End If
Next xF2
Next xF1
SortCellContents = Join(xArr, "")
End Function
3. 接著保存並關閉此程式碼,返回工作表。在要顯示結果的空白儲存格中輸入公式 =SortCellContents(A2),再向下拖曳填滿控點以將公式複製到其他儲存格,即可依字母順序自動排序所有儲存格中的文字值,如截圖所示:

將儲存格內以分隔符分隔的文字字串按字母順序排序
若儲存格內含有以特定分隔符分隔的多個單字,可透過下方的自訂函數將其依字母順序排序。
1. 按住 ALT + F11 鍵以開啟 Microsoft Visual Basic for Applications 視窗。
2. 點選插入> 模組,並將下列程式碼貼到模組視窗中。
VBA 程式碼:儲存格內以逗號分隔的文字字串排序
Function SortCellWithSeparator(CellAddress As Range, DelimiterChar As String, IncludeSpaces As Boolean) As String
'Updateby Extendoffice
Dim xRg As Range
Dim xString As String
Dim xF1, xF2 As Integer
Dim xSArr
Dim xStrT As String
Dim xStrValue As String
Set xRg = CellAddress
xStrValue = WorksheetFunction.Substitute(xRg.Value, " ", "")
xSArr = Split(xStrValue, DelimiterChar)
For xF1 = 0 To UBound(xSArr)
For xF2 = xF1 + 1 To UBound(xSArr)
If xSArr(xF2) < xSArr(xF1) Then
xStrT = xSArr(xF2)
xSArr(xF2) = xSArr(xF1)
xSArr(xF1) = xStrT
End If
Next xF2
Next xF1
xStrValue = ""
For xF1 = 0 To UBound(xSArr)
xStrValue = xStrValue & xSArr(xF1) & DelimiterChar
Next xF1
SortCellWithSeparator = xStrValue
SortCellWithSeparator = Left(SortCellWithSeparator, Len(SortCellWithSeparator) - 1)
If IncludeSpaces = True Then SortCellWithSeparator = WorksheetFunction.Substitute(SortCellWithSeparator, ",", ", ")
End Function
3. 接著保存並關閉此程式碼,返回工作表,在要顯示結果的空白儲存格中輸入公式 =SortCellWithSeparator(A2,",",TRUE),然後向下拖曳填滿控點,將公式複製到其他儲存格,即可讓所有儲存格中的文字字串依字母順序自動排序,如截圖所示:
注意:若您的文字字串使用其他分隔符,只需將此公式中的逗號替換為您所用的分隔符即可。

5.2 反轉/翻轉欄或列中資料的順序
有時,您可能需要將垂直資料區域上下顛倒,或將水平資料區域左右翻轉。本節將為您介紹三種在 Excel 中輕鬆完成此操作的方法。
使用公式反轉/翻轉欄或列中資料的順序
下列公式可協助您翻轉欄或列中資料的順序,請照以下步驟操作:
翻轉欄中資料的順序
請在要放置結果的空白儲存格中輸入或複製下列公式,然後向下拖曳填滿控點至其他儲存格,即可依反向順序傳回儲存格值,請參閱螢幕截圖:
=OFFSET($A$10,-(ROW(A1)-1),0)
注意:在上述公式中,A1 為該欄的第一個儲存格,A10 則為該欄的最後一個儲存格。

翻轉列中資料的順序
請套用下列公式,以水平翻轉列中資料的順序:
=OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),)
注意:在上述公式中,A1 是該列的第一個儲存格,而 1:1 為資料所在的列號。若資料位於第 10 列,請將其改為 10:10.
接著,向右拖曳填滿控點至其他儲存格,直到所有值都被提取出來,您將獲得水平翻轉後的所有資料,請參閱螢幕截圖:

使用 VBA 程式碼反轉/翻轉多個欄或列中資料的順序
上述公式僅適用於單一欄或列;若需翻轉包含多個欄或列的資料,可使用下列 VBA 程式碼協助您輕鬆完成。
垂直翻轉選區內的資料儲存格的順序
1. 首先,請備份原始資料,再按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。
2. 按一下插入> 模組,並將下列程式碼貼到模組視窗中。
VBA 程式碼:垂直反向翻轉儲存格範圍
Sub Flipvertically()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
k = UBound(Arr, 1)
For i = 1 To UBound(Arr, 1) / 2
xTemp = Arr(i, j)
Arr(i, j) = Arr(k, j)
Arr(k, j) = xTemp
k = k - 1
Next
Next
WorkRng.Formula = Arr
End Sub
3. 接著,按下 F5 鍵執行此程式碼,系統將彈出提示方塊,要求您選取欲垂直翻轉的資料區域,請參閱螢幕截圖:

4. 接著,按一下確定按鈕,數據區域將如以下螢幕截圖所示垂直翻轉:

水平翻轉選區內的資料儲存格的順序
若要水平翻轉數據區域的順序,請套用下列 VBA 程式碼:
VBA 程式碼:垂直反向翻轉儲存格範圍
Sub Fliphorizontally()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
k = UBound(Arr, 2)
For j = 1 To UBound(Arr, 2) / 2
xTemp = Arr(i, j)
Arr(i, j) = Arr(i, k)
Arr(i, k) = xTemp
k = k - 1
Next
Next
WorkRng.Formula = Arr
End Sub
執行此程式碼後,列中的資料將被水平翻轉,請參閱螢幕截圖:

只需一次點擊即可反轉/翻轉欄或列中資料的順序
若您已安裝 Kutools for Excel,並搭配其垂直翻轉範圍與水平翻轉選區功能,只需一鍵即可輕鬆完成儲存格範圍的垂直與水平翻轉!
垂直翻轉選區內的資料儲存格的順序
1. 選取您要翻轉的數據區域,然後點選 Kutools > 範圍 > 垂直翻轉範圍,再選擇全部或僅翻轉內容,請參閱螢幕截圖:
提示:若您選擇全部選項,將一併翻轉所有儲存格格式;若選擇僅翻轉內容,則僅翻轉儲存格的值。

2. 接著,數據區域將立即垂直翻轉。

水平翻轉選區內的資料儲存格的順序
1. 選取資料區域,然後按一下 Kutools> 範圍> 水平翻轉選區> 全部/僅翻轉內容,請參閱螢幕截圖:
提示:若您選擇全部選項,所有儲存格格式將同時被翻轉;若您選擇僅翻轉內容,則僅會翻轉儲存格值。

2. 接著,選取範圍內的所有儲存格值將立即水平翻轉,如下方螢幕截圖所示:

5.3 在 Excel 中依字母順序或分頁色彩排序工作表分頁
假設您的活頁簿包含大量工作表,若想依字母順序或頁籤顏色對工作表標籤進行排序,使用傳統的拖放方式將耗費大量時間。本節將介紹幾種實用技巧,協助您快速將工作表標籤依遞增或遞減順序排列。
使用 VBA 程式碼將工作表分頁按字母順序排序
下列 VBA 程式碼可協助您將工作表標籤依字母順序進行遞增或遞減排序,請照以下步驟操作:
1. 按住 ALT + F11 鍵以開啟 Microsoft Visual Basic for Applications 視窗。
2. 點選插入> 模組,並將下列巨集貼到模組視窗中。
VBA:將所有工作表依字母順序排序
Sub SortWorkBook()
'Updateby Extendoffice
Dim xResult As VbMsgBoxResult
xTitleId = "KutoolsforExcel"
xResult = MsgBox("Click Yes to sort sheets in ascending order;" & Chr(10) & "Click No will sort in descending order", vbYesNoCancel + vbQuestion + vbDefaultButton1, xTitleId)
For i = 1 To Application.Sheets.Count
For j = 1 To Application.Sheets.Count - 1
If xResult = vbYes Then
If UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then
Sheets(j).Move after:=Sheets(j + 1)
End If
ElseIf xResult = vbNo Then
If UCase$(Application.Sheets(j).Name) < UCase$(Application.Sheets(j + 1).Name) Then
Application.Sheets(j).Move after:=Application.Sheets(j + 1)
End If
End If
Next
Next
End Sub
3. 接著,按下 F5 鍵執行此巨集,隨後出現提示方塊時,按一下是,所有工作表將依遞增字母順序排序;按一下否,則依您所需的遞減字母順序排序。

使用強大功能將工作表分頁按字母/字母數字順序排序
Kutools for Excel 提供強大功能——排序所有工作表,讓您輕鬆依字母或字母數字順序、頁籤顏色排序,或依需求反轉工作表標籤!
Kutools for Excel-內含超過 300 項 Excel 必備工具,讓您的 Excel 作業更快速、更簡單、更高效!立即下載!
1. 開啟您要排序工作表標籤的活頁簿,然後按一下 KUTOOLS PLUS > 工作表 > 排序所有表,請參閱螢幕截圖:

2. 在排序所有表對話方塊中,於右側窗格選取您所需的排序類型,例如字母排序、精確排序。請參閱螢幕截圖:

3. 接著,點擊確定按鈕,所有工作表將依照您指定的排序類型自動排序。請參閱螢幕截圖:

使用 VBA 程式碼依分頁色彩對工作表分頁進行排序
在 Excel 中,我們通常會依字母順序排列工作表標籤,但您是否曾想過根據頁籤顏色來排序?以下 VBA 程式碼或許能幫您達成此目標,請依照下列步驟操作:
1. 按住 ALT + F11 鍵以開啟 Microsoft Visual Basic for Applications 視窗。
2. 按一下插入> 模組,然後將下列巨集貼到模組視窗中。
VBA:根據頁籤顏色排序所有工作表
Sub SortWorkBookByColor()
'Updateby20140624
Dim xArray1() As Long
Dim xArray2() As String
Dim n As Integer
Application.ScreenUpdating = False
If Val(Application.Version) >= 10 Then
For i = 1 To Application.ActiveWorkbook.Worksheets.Count
If Application.ActiveWorkbook.Worksheets(i).Visible = -1 Then
n = n + 1
ReDim Preserve xArray1(1 To n)
ReDim Preserve xArray2(1 To n)
xArray1(n) = Application.ActiveWorkbook.Worksheets(i).Tab.Color
xArray2(n) = Application.ActiveWorkbook.Worksheets(i).Name
End If
Next
For i = 1 To n
For j = i To n
If xArray1(j) < xArray1(i) Then
temp = xArray2(i)
xArray2(i) = xArray2(j)
xArray2(j) = temp
temp = xArray1(i)
xArray1(i) = xArray1(j)
xArray1(j) = temp
End If
Next
Next
For i = n To 1 Step -1
Application.ActiveWorkbook.Worksheets(CStr(xArray2(i))).Move after:=Application.ActiveWorkbook.Worksheets(Application.ActiveWorkbook.Worksheets.Count)
Next
End If
Application.ScreenUpdating = True
End Sub
3. 接著,按下 F5 鍵執行此程式碼,相同頁籤顏色的工作表將自動歸類並排序。請參閱螢幕截圖:

使用驚豔功能依分頁色彩對工作表分頁進行排序
透過 Kutools for Excel 的排序所有表功能,您還能快速輕鬆地依顏色對工作表分頁進行排序!
1. 按一下 Kutools Plus > 工作表 > 排序所有表,開啟排序所有表對話方塊;在該對話方塊中,按一下右側窗格的顏色排序按鈕,如下圖所示:

2. 接著,按一下確定按鈕,相同分頁顏色的工作表就會如以下截圖所示整齊排列在一起:

最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用