问题来源
如下图:【Excel301 | 数值重复,如何取前三名销量?】
存在两个第一名、两个第二名 , 用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):
FREQUENCY函数仅在数值出现第一次时返回数值出现的个数,其他返回0,所以,该部分返回值如下图:

- IF(FREQUENCY($B$2:$B$13,$B$2:$B$13),$B$2:$B$13):

- LARGE(IF(FREQUENCY($B$2:$B$13,$B$2:$B$13),$B$2:$B$13),ROW(A1)):
FREQUENCY函数
- 功能:
- 语法
- 中文语法:
- FREQUENCY 函数语法具有下列参数:
- Data_array 必需 。要对其频率进行计数的一组数值或对这组数值的引用 。如果 data_array 中不包含任何数值,则 FREQUENCY 返回一个零数组 。
- Bins_array 必需 。要将 data_array 中的值插入到的间隔数组或对间隔的引用 。如果 bins_array 中不包含任何数值,则 FREQUENCY 返回 data_array 中的元素个数 。
