excel last / max值

时间:2014-07-21 14:34:05

标签: excel

我试图返回上次付款和付款日期。

以下是一些示例数据

A     B           C
desc  date        payment 
0001  12/01/2014  52.00
0002  20/01/2014  56.76
0003  22/01/2014  44.23
0001  12/02/2014  52.00
0002  20/02/2014  56.76
0003  22/02/2014  44.23
0001  11/03/2014  52.00
0002  20/03/2014  56.76
0003  25/03/2014  44.23
0001  12/04/2014  52.00
0002  20/04/2014  56.76
0003  22/04/2014  44.23
0004  10/05/2014  53.05
0002  20/05/2014  56.76
0003  23/05/2014  47.23


These would be the rows returned.


0001  12/04/2014  52.00
0004  10/05/2014  53.05
0002  20/05/2014  56.76
0003  23/05/2014  47.23

我看了一些其他帖子,这些帖子显示的这个公式会返回上一个日期,但我似乎无法让它发挥作用。

{=MAX(IF(AND($A$1:$A$7="0001",$B$1:$B$7<=date(2014,12,31),$B$1:$B$7>=date(2014,1,1)),$B$1:$B$7))}

我需要&#39; {&#39; &#39;}&#39;括号围绕我的公式??

提前致谢

1 个答案:

答案 0 :(得分:0)

在查看数组时,您需要在公式周围使用括号。但是,如果你的公式正确,我相信Excel会为你做这件事。

根据您的数据,您可以使用以下内容实现您的目标:

假设您的数据为A2:C16,因为您提供的测试数据是。

根据DESC列创建查找,在这个例子中,我已将0001放入单元格E2

对于Date列,请在Cell F2

中输入以下内容

=MAX(IF($A$2:$B$16=$E2,$B$2:$B$16))粘贴公式后,按CTRL + SHIFT + ENTER这将在公式周围添加括号,它还应返回您要查找的12/04/2014

如果您愿意,显然可以将$A$2:$B$16=$E2替换为$A$2:$B$16="0001"

然后,您可以使用Index Match查找付款金额:

=INDEX(C2:C16,MATCH(1,(A2:A16=E2)*(B2:B16=F2),0))