返回一行中的最后一个非空值,但前提是它与列标题匹配

时间:2014-02-24 20:50:18

标签: excel date

这是一个有趣的问题。我正在创建一个水平客户端日志,以日期格式(D)记录会话日期,以小数(L)记录长度。我想返回该行中的最后一个值(忽略空格),但仅当该值出现在带有“D”的列标题下时。我的标题是:

开始/结束/小时/ D / L / D / L / D / L

注意:开始,结束& D列采用日期格式。 Hrs和L列的数字格式。

我的“开始日期”列的公式只返回我的第一个D列[=D2]的值 我的小时列添加了备用L列=SUM(E2+G2+I2)]。

问题公式位于我的结束日期列中:

=LOOKUP(2,1/(D2:H2<>""),D2:H2)

如果行中的最后一个条目是日期[ex:3/14/13]并将该日期返回到我的结束日期列,则此公式可正常工作。

由于我将会话日期和长度记录在一起,一行中的最后一个值始终是十进制(长度),在我的结束日期列中返回“1/0/00”。如果该行中没有条目,则返回“#N / A”,这同样令人不满意。

当然,我可以通过简单地切换我的长度和放大器来解决这个问题。日期列,但感觉很奇怪。日期应该是第一位的。

线索:如果我的第一个D列中没有输入任何条目,它在我的开始日期列[=D2]中也会返回“1/0/00”。两列都是日期格式。

也许我的LOOKUP公式可以嵌套在匹配公式中,但我不知道如何做到这一点。任何接受挑战的人?

谢谢,

〜杰伊

1 个答案:

答案 0 :(得分:0)

这样的事情对你有用:

=IFERROR(LOOKUP(2,1/((D2:H2<>"")*(D$1:H$1="D")),D2:H2),"")