excel数据透视表,如何取前三名销量?
如下图:
存在两个第一名、两个第二名,用LARGE函数来取前三名的销售量时,就会出错。要想去除前三位销量数据,要借助FREQUENCY函数。
公式实现
在F2输入公式:
=LARGE(IF(FREQUENCY($B$2:$B$13,$B$2:$B$13),$B$2:$B$13),ROW(A1))
确定,可提取最大销量,公式向下填充,可得第二、第三销量。
公式解析
FREQUENCY($B$2:$B$13,$B$2:$B$13):
返回B2:B13区域中各单元格出现的频率。
FREQUENCY函数仅在数值出现第一次时返回数值出现的个数,其他返回0,所以,该部分返回值如下图:
IF(FREQUENCY($B$2:$B$13,$B$2:$B$13),$B$2:$B$13):
用IF函数,判断上一步结果,如果不是0,则返回对应数值,如果是0,则返回FLASE,所以,此部分返回由重复值和FLASE组成的数组,如下图:
LARGE(IF(FREQUENCY($B$2:$B$13,$B$2:$B$13),$B$2:$B$13),ROW(A1)):
在上一步公式中返回最大值,即最大销量。公式向下填充,返回第二、第三的销量。
FREQUENCY函数
功能:
计算数值在某个区域内的出现频率,然后返回一个垂直数组。
语法
FREQUENCY(data_array, bins_array)
中文语法:
FREQUENCY(要统计的数组, 间隔点数组)
FREQUENCY 函数语法具有下列参数:
- Data_array 必需。要对其频率进行计数的一组数值或对这组数值的引用。如果 data_array 中不包含任何数值,则 FREQUENCY 返回一个零数组。
- Bins_array 必需。要将 data_array 中的值插入到的间隔数组或对间隔的引用。如果 bins_array 中不包含任何数值,则 FREQUENCY 返回 data_array 中的元素个数。