Excel:返回第一至第四最常用价格的公式

Excel:返回第一至第四最常用价格的公式,excel,max,lookup,mode,Excel,Max,Lookup,Mode,我花了相当多的时间试图找到一种方法,以返回每个城市购买量最多的价格。请参阅以下实体模型工作簿: City, Purchases, Price New York City, 10, $6 Boston, 8, $8 Chicago, 12, $6 Boston, 7, $9 New York City,

我花了相当多的时间试图找到一种方法,以返回每个城市购买量最多的价格。请参阅以下实体模型工作簿:

City,           Purchases,     Price  
New York City,      10,         $6  
Boston,             8,          $8  
Chicago,            12,         $6  
Boston,             7,          $9  
New York City,      9,          $5  
New York City,     16,         $3  
Houston,            4,          $12  
例如,我需要三个excel公式来为我返回纽约市购买量最多的是3美元,其次是6美元,第三是5美元。对于波士顿、芝加哥和休斯顿,我也需要同样的东西,因为Excel认识到波士顿没有第三大,芝加哥和休斯顿只有第一大。在任何情况下,同一个城市的价格都不会相同。我能够用这个公式得到最多的购买量:
=MAX(如果((A:A=“纽约市”),C:C))
,但是,我不确定如何使用类似的公式来获得可能的第二和第三大价格

任何帮助或想法都将不胜感激

更新

谢谢你们的回答,他们非常感谢,肯定会帮助解决这个问题。我还从另一个论坛收到了下面的公式。此公式不需要排序,我不熟悉IFNA,这就是我选择使用此公式的原因,但由于它是一个数组公式,必须单击ctrl+shift+enter才能正常工作

更新

我遇到了一个问题:如果同一个城市以不同的价格购买相同数量的商品,那么上次更新的公式就不能正常工作。下面的公式解决了这个问题


{=Index(C:C,MATCH(大的(如果(A:A=“纽约市”,B:B+C:C*000000000 1),1),如果(A:A=“纽约市”,B:B+C:C*000000000 1),0))

编辑:这个答案返回最大的购买数量,但不是请求者所寻找的那些最常见购买的价格

LARGE是为您所寻找的部分内容而设计的,因此下一个任务可能只是为LARGE匹配和创建数组。以下要求根据匹配公式的设置方式,按升序对“城市”列进行排序,但这将有助于您顺利完成任务

我从LARGE开始,使用两个索引匹配公式为LARGE创建一个数组,并将公式复制粘贴到城市与“最大数量”索引的矩阵中,从而解决了这个问题

我把它放在一个表格中,我有a范围内的独特城市(从A13美元开始),在“12”行中,大公式的索引号从B$12开始。我最终得到了一个城市矩阵,以及第一、第二和第三大销售价格

A     B     C     D
      1     2     3
B    f(x)  f(x)  f(x)
C    f(x)  f(x)  f(x)
H    f(x)  f(x)  f(x)
NYC  f(x)  f(x)  f(x)
公式将返回#NUM!如果您没有足够的数据(例如,如果您要求第三大公式,则大公式将不会返回有效的内容,但您只有2条数据)


编辑:此答案返回最大购买数量,但不返回请求者所寻找的最常见购买的价格

LARGE是为您所寻找的部分内容而设计的,因此下一个任务可能只是为LARGE匹配和创建数组。以下要求根据匹配公式的设置方式,按升序对“城市”列进行排序,但这将有助于您顺利完成任务

我从LARGE开始,使用两个索引匹配公式为LARGE创建一个数组,并将公式复制粘贴到城市与“最大数量”索引的矩阵中,从而解决了这个问题

我把它放在一个表格中,我有a范围内的独特城市(从A13美元开始),在“12”行中,大公式的索引号从B$12开始。我最终得到了一个城市矩阵,以及第一、第二和第三大销售价格

A     B     C     D
      1     2     3
B    f(x)  f(x)  f(x)
C    f(x)  f(x)  f(x)
H    f(x)  f(x)  f(x)
NYC  f(x)  f(x)  f(x)
公式将返回#NUM!如果您没有足够的数据(例如,如果您要求第三大公式,则大公式将不会返回有效的内容,但您只有2条数据)


根据下图,在E2:E4中输入以下数组公式(选择该范围并按Ctrl+Shift+Enter,然后拖动)。(E1中的文本为“纽约市”,由于截断,该文本不明显。)

说明:

  • IFNA
    将小于
    ROW()-1的值更改为空
  • LARGE(r,n)
    返回r中的第n个最大值
  • MATCH
    返回
    LARGE
  • INDEX
    返回与“价格”范围中的
    MATCH
    对应的值

编辑:图像试图回答错误的问题-它根据第n个最高价格显示购买数量,而不是相反。我已经更新了上面的公式以提供正确的结果。

根据下图,在E2:E4中输入以下数组公式(选择该范围并按Ctrl+Shift+Enter,然后拖动)。(E1中的文本为“纽约市”,由于截断,该文本不明显。)

说明:

  • IFNA
    将小于
    ROW()-1的值更改为空
  • LARGE(r,n)
    返回r中的第n个最大值
  • MATCH
    返回
    LARGE
  • INDEX
    返回与“价格”范围中的
    MATCH
    对应的值

编辑:图像试图回答错误的问题-它根据第n个最高价格显示购买数量,而不是相反。我已经更新了上面的公式以提供正确的结果。

查看大公式。查看大公式。
=IFNA(INDEX($C$2:$C$8,MATCH(LARGE(IF($A$2:$A$8=E$1,$B$2:$B$8,0),ROW()-1),$B$2:$B$8,0)),"")