日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Excel 表格自动排序的两种方法

發(fā)布時間:2023/12/15 综合教程 21 生活家
生活随笔 收集整理的這篇文章主要介紹了 Excel 表格自动排序的两种方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文標(biāo)題:《Excel 表格還能自動排序?這 2 種方法讓你豎起大拇指!》

你知道嗎?365 版 Excel 新增了一個神級函數(shù),SORT!

它是一個專門用于排序的函數(shù)。

然而問題是,很多小伙伴所使用的的 Excel 并非 365 版,而是 19 版甚至更早期的版本。

沒有神級函數(shù)加持,能不能實現(xiàn)對數(shù)據(jù)的自動排序呢?

今天小花就分享兩個低版本 Excel 專用的排序公式給大家。

LOOKUP+RANK 法

LOOKUP 函數(shù)的兩分法幾乎能解決查詢相關(guān)的所有問題,而自動排序,可以認(rèn)為是按排序值查詢,自然也不在話下!

=LOOKUP(1,0/(RANK($B$2:$B$8,$B$2:$B$8)=ROW()-1),$A$2:$A$8)

①公式說明:

RANK($B$2:$B$8,$B$2:$B$8)

顯然,這是一個數(shù)組公式,由于 LOOKUP 自帶數(shù)組運算屬性,所以無需按【Ctrl+Shift+Enter】來執(zhí)行運算也可以使得排名函數(shù) RANK 返回一組排名值。

RANK 函數(shù)的排序值和排序范圍參數(shù)都是 B2:B8,通過數(shù)組運算,返回表示 B2:B8 中的每一個值對應(yīng)排序大小的序數(shù)值組 {2;3;1;5;4;6;7}。

② 公式說明:

0/(①=ROW()-1)

ROW-1 表示當(dāng)前行號-1,從 E2 到 E8 依次為 1-7,即 E2 所要查找的排名值為 1。

將①中結(jié)果 {2;3;1;5;4;6;7} 與之比對,相等返回 TRUE,不相等返回 FALSE,即:

{FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE};

再使用 0 除以這組數(shù),除法運算中,TRUE=1,F(xiàn)ALSE=0,即得出:

0/{0;0;1;0;0;0;0},

由于 0 不能作為除數(shù),進一步得到:

{#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}。

注意:該數(shù)組僅在當(dāng)前所要查找的排名值 1 所對應(yīng)位置處為 0,其余均為錯誤值。

這是我們構(gòu)建 0/(①=ROW ()-1) 這一查詢范圍的核心目的,只有這樣,LOOKUP 函數(shù)才能正確查找。

③ 公式說明:

LOOKUP(1②,$A$2:$A$8)

LOOKUP 通過將查詢范圍②與查詢值 1 匹配,找到②中小于且最接近于查詢值的數(shù)值位置,返回結(jié)果范圍 A2:A8 對應(yīng)位置的值,且過程中自動忽略②中的錯誤值。

由于②中僅有第三個值為 0,其余均為錯誤值#DIV / 0!,所以 LOOKUP 返回 A2:A8 中的第三個值,即 A4 單元格「陶海波」。

LOOKUP+RANK 法中的核心是查詢范圍(公式片段②)的構(gòu)建,使用 RANK 函數(shù)生成一組排名值,再套用 LOOKUP 的兩分法來完成查詢計算,你學(xué)會了嗎?

INDEX+LARGE 法

使用 LOOKUP+RANK 法進行自動排序,有一個明顯的漏洞,那就是當(dāng)出現(xiàn)相同排名時,公式結(jié)果就會出錯。

這時候,我們可以用 INDEX+LARGE 函數(shù)來構(gòu)建另一個數(shù)組公式。

PS. 數(shù)組公式輸入后,需按【Ctrl+Shift+Enter】才能正確計算。

{=INDEX($A$2:$A$8,MOD(LARGE($B$2:$B$8+ROW($1:$7)%,ROW()-1),1)*100)}

①公式說明:

$B$2:$B$8+ROW($1:$7)%

ROW ($1:$7) 返回一組 1 到 7 的有序數(shù)組,表示每一個數(shù)值的序號,該序號值最終還將作為 INDEX 的索引值。

「%」是 "/100" 的簡寫,于是 $B$2:$B$8+ROW ($1:$7)% 相當(dāng)于給 B2:B8 的每個數(shù)以此加上尾數(shù) 0.01-0.07,得到:

{64.01;74.02;74.03;37.04;46.05;19.06;2.07}

由于案例中的數(shù)值都為整數(shù),加上不同的尾數(shù)可以確保這些數(shù)值彼此不等。

PS. 事實上,只需保證所加的尾數(shù)始終小于需要排序數(shù)值的有效數(shù)位,就能避免數(shù)值相等導(dǎo)致公式錯誤。

② 公式說明:

LARGE①,ROW()-1)

LARGE 函數(shù)用于返回數(shù)據(jù)組從大到小排列中指定位次的數(shù)值。

E2 單元格公式中的 ROW ()-1 返回當(dāng)前行號減 1,即為 1,表示通過 LARGE 函數(shù)返回 {64.01;74.02;74.03;37.04;46.05;19.06;2.07} 中第 1 大的數(shù)值 74.03,E3:E8 單元格則以此類推,取第 2 到第 7 大的數(shù)值。

③ 公式說明:

INDEX($A$2:$A$8,MOD②1)*100

MOD 函數(shù)為取余函數(shù),MOD (②,1),即對②除以 1 取余數(shù),得到我們在片段①中通過 ROW ($1:$7)% 給 B2:B8 加上的尾數(shù),將這個尾數(shù)乘以 100,可還原為 ROW ($1:$7) 本身,它表示 B2:B8 中每一個數(shù)值的序號。

E2 單元格中,對 74.03 除以 1 取余數(shù)為 0.03,乘以 100,得到 3,它表示最大的數(shù)是 B2:B8 的第 3 個數(shù)。

此時再用 INDEX 提取 A2:A8 的第 3 個數(shù)即可。

我們知道,第二個數(shù) B3 和第三個數(shù) B4 都是 74,都最大。

但由于 ROW ($1:$7)% 為二者所加上的尾數(shù)分別為 0.02 和 0.03,于是 B3 作為最大的數(shù)排列在 E2 單元格,B4 被處理為第 2 大的數(shù)排列在 E3 單元格中。

由此解決了數(shù)值相等無法依次排序的問題,這就是 INDEX+LARGE 法的秘訣,你學(xué)會了嗎?

以上,就是小花分享的兩個低版本 Excel 專用排序公式,要點如下:

? 通過 RANK 函數(shù)的數(shù)組運算生成一組排名值,再構(gòu)建 LOOKUP 的 1/0 查詢結(jié)構(gòu),實現(xiàn)對數(shù)據(jù)的自動排序;

? 通過 ROW% 來為原數(shù)據(jù)添加表示其序數(shù)的尾數(shù),使數(shù)據(jù)彼此不等,然后用 LARGE 取指定位次的數(shù)值,再用 MOD 函數(shù)取余 * 100 還原序數(shù)值,最后用 INDEX 實現(xiàn)排序。

以上公式雖略顯復(fù)雜,但經(jīng)過小花詳細(xì)解析,相信小伙伴們一定能理清吃透,收入囊中。

本文來自微信公眾號:秋葉 Excel (ID:excel100),作者:小花

總結(jié)

以上是生活随笔為你收集整理的Excel 表格自动排序的两种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。