我正在尝试解决以下问题。
我想根据指定的标准找到顶部'X'的数值。
我在网上找到了以下代码,但我无法理解/修改它以包含if语句。
=INDEX(DATA!B:B,MATCH(1,INDEX((DATA!B:B=LARGE(DATA!B:B,ROWS(U$1:U1)))*(COUNTIF(U$1:U1,DATA!B:B)=0),),0))
数据!B:B指的是我存储我的值的列。
我在C列中有一个名单列表,在A列中有一个状态列表。
基本上,我只希望显示那些处于特定状态和名称的顶级值。
State Random Value Name
VIC $99,581.00 Dan
WA $95,713.00 Jim
NT $93,469.00 Bob
NSW $93,259.00 Cat
NSW $92,425.00 Dan
ACT $89,513.00 Hat
NSW $88,727.00 Potato
NSW $86,612.00 Fence
编辑*
我忘了提到我尝试使用数据透视表,但我的主要问题是我不希望将人或类似的字符串组合在一起。当我创建我的数据透视表时,它将两个字符串组合在一起并将它们相加。我希望每个都有不同的条目。
答案 0 :(得分:1)
试试这个公式:
=INDEX($B$1:$B$9,AGGREGATE(14,6,ROW($1:$9)/(($A$1:$A$9="NSW")*($C$1:$C$9="Dan")),ROW(1:1)))
您可以根据需要将其向下拖动多行,它将带来符合条件的下一个最高金额。
行(1:1)每减少一行就会增加一行,从而使第二行达到第三高。
答案 1 :(得分:0)
按B列排序并选择前x行。如果需要,可以使用高级排序。
答案 2 :(得分:0)
我会在数据上使用数据透视表 - 一旦掌握了数据就很容易了。这是一个链接,向您展示如何:Excel Pivot Table Filters Top X
一旦掌握了它,也可以更容易地更改标准。如果您的数据中包含另一个包含城市的列,那么您不仅可以按州进行过滤,而且如果您想要在每个州内排名前5位和前5个城市,那么这也很容易获得。您需要学习如何使用标签/列标题。
编辑:基于你对之前答案的评论,并且不希望被困在Pivots上,但是这个怎么样: 如果要按状态排序,则行标签1 =随机值,行标签2 =状态;在单元格E1上最大到最小。
如果要按名称排序,则行标签1仍为=随机值,行标签2 =名称;在单元格E1上也最小到最小。
如果要按名称和状态进行过滤,则行标签1 =随机值,RL2 =名称,RL3 =状态。使用行标签1上的排序,并过滤名称和状态。