使用公式,我希望得到列A中每个唯一值的列C的最大值,然后我还想将列B中的相应值返回到列C的最大值。输出应该是第二个屏幕截图中的数据摘要。我已经尝试了数据透视表,条件格式和此链接中的帮助,没有运气Get the maximum values of column B per each distinct value of column A
这可以用公式吗?
答案 0 :(得分:0)
因此,对于最大数字,请使用AGGREGATE()函数:
=AGGREGATE(14,6,$C$2:INDEX(C:C,MATCH(1E+99,C:C))/($A$2:INDEX(A:A,MATCH(1E+99,C:C))=I2),1)
然后找到容量一个简单的SUMIF():
=SUMIFS(B:B,A:A,I2,C:C,K2)
AGGREGATE()函数是在Excel 2010中引入的。
对于其他版本,不太健壮的数组公式MAX(IF())将代替AGGREGATE工作:
=MAX(IF($A$2:INDEX(A:A,MATCH(1E+99,C:C))=I2,$C$2:INDEX(C:C,MATCH(1E+99,C:C))))
作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter确认。完成后,Excel会自动在公式周围放置{}来表示数组公式。
另外,如果您拥有最新的Office 365或使用在线应用程序,则以下非CSE MAXIFS()也可以使用:
=MAXIFS($C$2:INDEX(C:C,MATCH(1E+99,C:C)),$A$2:INDEX(A:A,MATCH(1E+99,C:C)),I2)
这两个不像AGGREGATE()那样健壮,因为如果数据中存在错误,它们将会中断。 AGGREGATE()将忽略它们。
答案 1 :(得分:0)
这是在表格中使用数组公式的另一个选项。我没有从我的工作表中的A1开始这样做,所以图像有我的单元格/行ID来帮助!
小组M17:=IFNA(INDEX([Host], MATCH(0, COUNTIF($M$16:M16, [Host]), 0)),"Unknown")
+ Ctrl
+ Shift
+ Enter
单元格N17:=MAX(IF([Host]=[@UniqueHost],[Duration]))
+ Ctrl
+ Shift
+ Enter
单元格O17:=IFNA(INDEX([Capacity],MATCH([@UniqueHost]&[@MaxDuration],[Host]&[Duration],0)),0)
+ Ctrl
+ Shift
+ Enter