主题=大到一个条件
我正在尝试创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中重复值的问题,您可以使用此设置:
在F2
到F11
列出值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个符合条件的值,则会显示空白 – 请参阅此处的示例