Excel301 | 数值重复,如何取前三名销量?

问题来源

如下图:
【Excel301 | 数值重复,如何取前三名销量?】
Excel301 | 数值重复,如何取前三名销量?

存在两个第一名、两个第二名 , 用LARGE函数来取前三名的销售量时,就会出错 。要想去除前三位销量数据,要借助FREQUENCY函数 。

公式实现

在F2输入公式:
=LARGE(IF(FREQUENCY($B$2:$B$13,$B$2:$B$13),$B$2:$B$13),ROW(A1))
确定 , 可提取最大销量,公式向下填充,可得第二、第三销量 。
Excel301 | 数值重复,如何取前三名销量?

公式解析

  • FREQUENCY($B$2:$B$13,$B$2:$B$13):
返回B2:B13区域中各单元格出现的频率 。
FREQUENCY函数仅在数值出现第一次时返回数值出现的个数,其他返回0,所以,该部分返回值如下图:
Excel301 | 数值重复,如何取前三名销量?

  • IF(FREQUENCY($B$2:$B$13,$B$2:$B$13),$B$2:$B$13):
用IF函数,判断上一步结果,如果不是0,则返回对应数值,如果是0 , 则返回FLASE,所以,此部分返回由重复值和FLASE组成的数组,如下图:
Excel301 | 数值重复,如何取前三名销量?

  • 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 函数语法具有下列参数:
  1. Data_array 必需 。要对其频率进行计数的一组数值或对这组数值的引用 。如果 data_array 中不包含任何数值,则 FREQUENCY 返回一个零数组 。
  2. Bins_array 必需 。要将 data_array 中的值插入到的间隔数组或对间隔的引用 。如果 bins_array 中不包含任何数值,则 FREQUENCY 返回 data_array 中的元素个数 。

相关经验推荐