Excel公式與函數之美11:小而美的函數之SMALL函數
SMALL函數求一組數值中第幾小的數值,其第1個參數指定數據組,第2個參數指定要求的第幾小的值,其基本用法如圖1所示。
圖1
一鍵直達 >> Excel函數學習37:SMALL函數
SMALL函數之美
SMALL函數的原理很簡單,但將其組合在公式中,能夠幫助我們按順序獲取數據,這可能就是SMALL函數的美妙之處。
結合ROW函數對數據排序
如圖2所示,在單元格C1中輸入公式:
=SMALL($A$1:$A$6,ROW(A1))
下拉至單元格C6,即將單元格區域A1:A6中的數字由小到大排列。
圖2
也可以選擇單元格C1:C6,輸入數組公式:
=SMALL(A1:A6,ROW(1:6))
結果相同,如圖3所示。
圖3
這樣,原數據區域A1:A6中的數據改變時,排序區域C1:C6會實時更新。
結合IF函數獲取數據的位置
如圖4所示,單元格區域A1:A6中放置示例數據,想要得到「完美Excel」在該區域第3次出現的位置,使用數組公式:
=SMALL(IF($A$1:$A$6="完美Excel",ROW($A$1:$A$6)-ROW($A$1) 1),3)
公式中:
$A$1:$A$6="完美Excel"表示單元格區域中的值與「完美Excel」相比較,得到邏輯值組成的數組{TRUE;FALSE;TRUE;FALSE;FALSE;TRUE}。
ROW($A$1:$A$6)-ROW($A$1) 1生成由單元格區域的行號組成的數字數組{1;2;3;4;5;6}。
IF函數得到數組{1;FALSE;3;FALSE;FALSE;6},作為SMALL函數的數據值參數,取第3個最小值即為6,表明「完美Excel」第3次出現在第6行。
圖4
注意到,SMALL函數忽略邏輯值。
在很多公式中都使用了該示例的原理,來獲取想要的數據的位置,然後獲取該數據。
結語
SMALL函數能夠實現數值動態排序,能夠在公式中提供數據的位置從而提取相應的數據,是這類問題的必備函數。
LARGE函數用法相同。
本文屬原創文章,轉載請註明出處。
歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。
推薦閱讀:
※八字的排序和計算公式其實並不神秘!
※六大財務公式——投資項目財務可行性分析
※如何才能看懂論文里的公式?
※使用excel 數組公式的注意事項