SMALL函數怎么用?SMALL函數求一組數值中第幾小的數值,其第1個參數指定數據組,第2個參數指定要求的第幾小的值,其基本用法如圖1所示。
圖1
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函數忽略邏輯值。
在很多公式中都使用了該示例的原理,來獲取想要的數據的位置,然后獲取該數據。