主题=大到一个条件

我正在尝试创build一个仪表板,它将根据D列中的数据find最大的十个值,并显示列C的内容,同时排除列B中包含特定值的任何行。

我正在使用=INDEX($C$1:$C$100,MATCH(LARGE($D$1:$D$100,1),$D$1:$D$100,0))来查找D中的最大值并显示C。

我无法弄清楚如何从LARGE调用中排除在列B中有SKIPME的行。

你可以使用IF语句来做到这一点:

 =INDEX($C$1:$C$100,MATCH(LARGE(IF($B$1:$B$100<>"SKIPME",$D$1:$D$100),1),$D$1:$D$100,0)) 

除了它也将公式转换成一个数组方程,所以你现在必须按Ctrl + Shift + Enter使其工作。

你也可以使用这个等价函数,也用CSE调用,但略短一些:

 =INDEX($C$1:$C$100,MATCH(LARGE(($B$1:$B$100<>"SKIPME")*$D$1:$D$100,1),$D$1:$D$100,0)) 

或者如果你只是在寻找最大的价值,那么MAX也是一样的:

 =INDEX($C$1:$C$100,MATCH(MAX(($B$1:$B$100<>"SKIPME")*$D$1:$D$100),$D$1:$D$100,0)) 

为了避免列D中重复值的问题,您可以使用此设置:

F2F11列出值1到11

G2使用CTRL + SHIFT + ENTER确认此公式,并向下复制以获取D列中的关联值

=IFERROR(LARGE(IF(B$2:B$100<>"SKIPME",IF(D$2:D$100<>"",D$2:D$100)),F2),"")

然后获得前10个值的列C项目使用此公式在确认与CTRL + SHIFT + ENTER下的H2 ,并复制下来

=IF(G2="","",INDEX(C$2:C$100,SMALL(IF(B$2:B$100<>"SKIPME",IF(D$2:D$100=G2,ROW(D$2:D$100)-ROW(D$2)+1)),COUNTIF(G$2:G2,G2))))

如果有less于10个符合条件的值,则会显示空白 – 请参阅此处的示例