获得顶级' n'来自excel中的列的值

时间:2015-08-20 05:11:51

标签: excel vba excel-vba excel-formula

我有一张xls表,其中显示了过去20年来各部门的收入数据。我需要从xls表中获得任何特定部门的前3或5或10(这是动态的)收入值。

我使用下面粘贴的公式来获得前3个值,但现在我需要前n个值,其中n是动态数字。

=SUM(LARGE(IF('Sector Data'!C$3:C$1000="Energy",'Sector Data'!D$3:D$1000),{1,2,3}))

有人可以帮助获取VBA代码或xls公式来完成这项工作。

  1. 输入 工业1 工业2 非必需消费品3 财务4 公用事业5 工业6 工业7 非必需消费品8 财务9 公用事业10 财务11 财务12 财务13 非必需消费品14 非必需消费品15 公用事业16 公用事业17 非必需消费品18 非必需消费品19 公用事业20

    1. 输出 前3名 工业15 财务36 公用事业53 非必需消费品52

2 个答案:

答案 0 :(得分:3)

尝试此公式并使用下图来匹配范围。您可以在电子表格上创建一个单元格,作为您希望N的输入,类似于我在此处所做的。您需要使用 CTRL + SHIFT + ENTER 输入公式。

inMph

enter image description here

答案 1 :(得分:1)

您已获得数组公式答案。这是一个标准的。

=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))