在excel中获取列中最高的'n'值
我有一张xls表,这是过去20年来行业的收入数据。 我需要从xls表中获得前3名或5名或10名(这个数字是dynamic的)任何特定部门的收入值。
我已经使用下面的粘贴公式来获得前3个值,但现在我需要的前n个值,其中n是一个dynamic数字。
=SUM(LARGE(IF('Sector Data'!C$3:C$1000="Energy",'Sector Data'!D$3:D$1000),{1,2,3}))
有人可以请帮助获得VBA代码或xls公式来完成这个工作。
-
投入工业1工业2可选消费品3财务4公用事业5工业6工业7可选消费品8财务9公用事业10财务11金融12金融13可选消费品14可选消费品15公用事业16公用事业17可选消费品18可选消费品19公用事业20
- 输出前3名
工业15财务36公用事业53可选消费品52
- 输出前3名
试试这个公式,并使用下面的图片来匹配范围。 您可以在电子表格中创build一个单元格,作为您希望N的input,类似于我在这里所做的。 您需要使用CTRL + SHIFT + ENTERinput公式。
=SUM(LARGE(IF('Sector Data'!C$3:C$1000="Energy",'Sector Data'!D$3:D$1000),ROW(INDIRECT("A1:A"&G3))))
你已经得到一个数组公式的答案。 这是一个标准的。
=SUMIFS($D$3:$D$9999, $C$3:$C$9999, "energy", $D$3:$D$9999, ">="&AGGREGATE(14, 6, $D$3:$D$9999/($C$3:$C$9999="energy"), G3))