文字或備忘欄位中儲存的數值及字串是按字母順序排序的。換句話說,數值會依據組成它的個別數字而不是數值進行排序的。例如,數值 11 會顯示在 2 的前面,數值 12 會顯示在 3 的前面,如下表所示。
學生姓名 |
學號 |
John |
1 |
Maria |
10 |
William |
11 |
Mary |
12 |
Jane |
2 |
Lynn |
3 |
Jason |
4 |
Mary |
5 |
若要確保讓以上數字是依據其數值而不是依據字母順序來排序,請執行下列其中一項:
-
如果欄位只包含數值,可以考慮將欄位的資料類型變更為 [數字] 或 [貨幣]。
-
以下兩種情況可以使用下列程序:
-
欄位只包含數值,但是又不想變更欄位的資料類型。
-
欄位包含數值及字串值,但是想在排序時忽略字串值。
-
此程序使用 Val 函數,取得以文字進行儲存之數字的數值。其中的運算式還使用 IIf 函數,來處理排序欄位中可能會存在的 Null 值。
-
在 [常用] 索引標籤的 [排序與篩選] 群組中,按一下 [進階],再按一下快顯功能表上的 [進階篩選/排序]。
-
在第一欄的 [欄位] 列中輸入運算式 Expr1: IIf([Fieldname] Is Null, 0, Val([Fieldname]))。
IIf 函數會檢查欄位值是否為 Null,如果是,會將其視為 0。如果該值不為 Null,則 IIf 函數會呼叫 Val 函數,以取得相等數值。
-
選取 [排序] 儲存格中的 [遞增] 或 [遞減]。
遞增排序會將具有最小值的記錄顯示在頂端,而將具有最大值的記錄顯示在底端。遞減排序則完全相反。
-
在 [常用] 索引標籤的 [排序與篩選] 群組中,按一下 [切換篩選]。
如果對您來說,前面的程序並不適用,可以嘗試另一種方法,避免改變表格的結構。具體作法是在位數較少的值之前「填補」零。例如,套用排序之前,可以將值 11、2、2000 及 3 變更為 0011、0002、2000 及 0003。