在Vlookup或IndexMatch中使用增量列从大型excel数据表中提取数据而不使用零

时间:2016-04-05 23:44:11

标签: excel excel-formula vlookup

我正在尝试为上次导入日期和之前的日期提取约160个指标的数据,以便我可以自动执行某些操作。

这就是我的数据表的样子:

The Data

我从表中获得了MAX函数的最新日期,前一个日期与最后一个日期相差7天。

我希望将这两个日期的指标一直到数据表的末尾,而不显示任何零(只需在条目空白处留空)

问题是:1 - 数据被格式化为数据表格,因为很多图表都是自动输入的。由于它是一个数据表,它不会从vlookup的正常单元格引用中提取正确的值。 2 - 因为它的数据表很难在vlookup的列中强制执行+1增量,所以我不必手动输入165个公式。 3 - 我真的想要一个公式,当条目为空时不给零,但也返回空白。

我试过了:

    =VLOOKUP($C$3,$C$13:$FH$200,D:D, FALSE)
    =VLOOKUP($C$3,Table1[#All],2, FALSE)
    =INDEX(Table1[Date],MATCH($C$2,Table1[BOADPMOUS106]))

以及那些的很多变化。它们都不能很好地工作,或者能够被拉到桌子的末尾。当然,他们返回0并带有空白条目。

有人有想法解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

如果要返回基于文本的结果,可以在VLOOKUP function附加一个零长度字符串。

=VLOOKUP($C$3,Table1[#All],2, FALSE)&""

这不会改变返回的字符串,但当返回值为空时不会显示零。

如果要返回数字或日期,则必须检查返回值是否为空白。

=IF(LEN(VLOOKUP($C$3,Table1[#All],2, FALSE)), VLOOKUP($C$3,Table1[#All],2, FALSE), "")

不幸的是,这是一个双重查找,就像我们在IFERROR function出现之前检查错误一样,但到目前为止,没有本机工作表IFBLANK函数。

可以轻松编写UDF IFBLANK。

答案 1 :(得分:0)

如果您确定只返回数字或空白单元格,则可以防止重复查找:

=IFERROR(VALUE(A1&" "),"")

在您的情况下,将A1替换为VLOOKUP($C$3,Table1[#All],2, FALSE)