【问题标题】:Using VLOOKUP formula or other function to compare two columns使用 VLOOKUP 公式或其他函数比较两列
【发布时间】:2015-06-22 13:56:53
【问题描述】:

我有一张这样的桌子:

SHORT TERM BORROWING 
1/6/2009    94304
12/31/2010  177823
6/30/2011   84188
12/31/2011  232144
6/30/2012   94467
9/30/2012   91445
12/31/2012  128523
3/31/2013   83731
6/30/2013   78330
9/30/2013   70936
12/31/2013  104020
3/31/2014   62345
6/30/2014   62167
9/30/2014   63494
12/31/2014  104239
3/31/2015   69056

我还有一列按时间顺序列出了从 2009 年到 2015 年的每个日期,例如:

1/2/2009
1/3/2009
1/4/2009
1/5/2009
1/6/2009
1/7/2009
1/8/2009
1/9/2009
1/10/2009
1/11/2009
1/12/2009
1/13/2009
1/14/2009
1/15/2009
1/16/2009
1/17/2009
1/18/2009
1/19/2009
1/20/2009
1/21/2009
1/22/2009
1/23/2009
1/24/2009
1/25/2009

...

6/22/2015

我正在尝试编写一个函数,该函数将从第一个表中获取值,并将它们与按时间顺序排列的日期列中的相应日期相匹配。基本上,我希望第二列按时间顺序列出每个日期,对于“2009 年 1 月 6 日”,其值为“94304”,然后空白,直到它到达 2010 年 12 月 31 日,它应该有一个值为 177823,依此类推,直到 2015 年 6 月 22 日。我尝试过使用 VLOOKUP,但到目前为止还没有运气。合适的功能是什么?

【问题讨论】:

  • 第一个表中列为 1/6/2009 时,为什么 1/2/2009 的值应该是 94304?或者这只是一个小的打字错误?
  • 抱歉打错了,感谢您的理解

标签: mysql excel vba date


【解决方案1】:

如果您的第一个表中的数据从 A2 开始,而您的另一列从 D2 开始,则在 E2 中使用

=VLOOKUP(D2,$A$2:$B$17,2,0)

根据需要复制下来。

【讨论】:

  • 完美!非常感谢。
【解决方案2】:

我喜欢 Sancho.s 的回答。我会在您的解决方案中包含一个 IFERROR,这样如果没有与您的搜索相对应的答案,您将不会得到 #N/A。

假设您的 SHORT TERM BORROWING 表在 A 列和 B 列中,并且您要搜索的日期在 D 列中,那么 E 列中的公式将是:

 =IFERROR(VLOOKUP(D2,A:B,2,FALSE),"")

这假定您想要一个空白单元格,而不是一个不返回值的单元格中的 0。如果您想要其中的其他内容,请将“”替换为另一个值。

【讨论】:

    猜你喜欢
    • 2020-09-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多