Hlookup和该列中的最后价值

时间:2014-02-16 16:29:04

标签: excel excel-formula

我正在尝试为以下内容找到Excel公式:

我有一张每周工资单费用的电子表格。第1行包含各种付款元素,包括列Gross Pay

我已将Wk_40指定为所有数据的命名范围。

在摘要表格中,我使用HLOOKUP公式查找Gross Pay,然后使用row index number,我想选择该列的最后一行。

例如,总薪水位于列M中,而行#427则具有该列的总计。在第430行中,如果一周跨越两个月,我已按比例计算。我想从#430行中选择金额。

我试过

=hlookup($F$42,Wk_40,MATCH(9.99999999999999E+307),false)

但这将返回#N/A

2 个答案:

答案 0 :(得分:1)

对我而言,似乎您似乎并不了解HLOOKUP的工作原理。试试这个:

=HLOOKUP("Gross Pay",Wk_40,430,FALSE)

这会在命名区域中查找Gross Pay(假设它从第1行覆盖到第430行,并且在第1行的某处有Gross Pay列。)

430是从中提取所需信息的行。

注意:

  • 您也可以使用0代替FALSE,因为它们在Excel中的含义相同。

  • 我在公式中使用"Gross Pay"因为我不确定F42包含什么(在公式之前你根本没有提到它)。如果它有Gross Pay,则应该使用F42


如果@simico理解正确,那么您可以使用INDEX和两个MATCH来获取Gross Pay列中的最后一个值:

=HLOOKUP("Gross Pay",Wk_40,MATCH(9^99,INDEX(Wk_40,0,MATCH("Gross Pay",INDEX(Wk_40,1,0),0))),0)
                           ^--------------------------------------------------------------^

MATCH(0,INDEX(Wk_40,1,0),0)获取Gross Pay所在的列号。

INDEX(Wk_40,0,MATCH("Gross Pay",INDEX(Wk_40,1,0),0))然后返回整列。

MATCH(9^99,INDEX(Wk_40,0,MATCH("Gross Pay",INDEX(Wk_40,1,0),0)))然后给出包含值的最后一个单元格。

答案 1 :(得分:1)

通过这个,您可以在正确的列中获得正确的行号...然后使用索引和非常大的公式,您将得到结果:

=MATCH(9.99999999999999E+307;INDEX(Wk_40;0;MATCH("Gross Pay";INDEX(Wk_40;1;0);0));1)

像这样:

=INDEX(Wk_40;MATCH(9.99999999999999E+307;INDEX(Wk_40;0;MATCH("Gross Pay";INDEX(Wk_40;1;0);0));1);MATCH("Gross Pay";INDEX(Wk_40;1;0)))

假设Wk_40包含所有数据,而Wk_40的第一行包含标题,您可以在其中找到“总薪酬”。当然,除了标题之外,您只有数字值。