【问题标题】:Excel V-LOOKUP on two columns with closest match on one column两列上的 Excel V-LOOKUP 与一列上最接近的匹配
【发布时间】:2020-10-28 22:52:18
【问题描述】:

我有如下费率表: 直到日期 = 此费率到期的日期

| code   | until_date |  rate   |
---------------------------------
|   1    |            |   100   |
|   2    | 01/01/2020 |   150   |
|   2    |            |   200   |
|   3    |            |   300   |

在另一张纸上,我有代码和日期,需要找到与代码匹配且未超过过期日期的汇率(如果该列中有值)

| code   |     date   |   rate  |
---------------------------------
|   2    | 01/10/2019 |   ???   |  >> need to get the value 150
|   2    | 01/10/2020 |   ???   |  >> need to get the value 200
---------------------------------

已经尝试在条件下使用 vlookup() - 无效 也尝试使用 match() 但它只在一列中查找

如果您知道如何解决此问题,请提供帮助。 如果有帮助,我可以在空的空白日期单元格中使用 today() 函数

【问题讨论】:

  • 我们可以假设数据总是按代码和直到日期排序吗?
  • 是的。如果它可以按代码排序,直到日期更好。如果不能 - 任何工作 =)
  • 问题是,我们可以假设查找表(您问题中的第一个)总是排序的。如果不排序那真的很难。
  • 是的,我们可以假设它已排序

标签: excel excel-formula


【解决方案1】:

使用索引/聚合:

=INDEX(C:C,AGGREGATE(15,7,ROW($C$2:$C$5)/(($A$2:$A$5=F2)*(G2<IF($B$2:$B$5="",NOW(),$B$2:$B$5))),1))

根据一个人的版本,这可能需要在退出编辑模式时使用 Ctrl-Shift-Enter 而不是 Enter。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    相关资源
    最近更新 更多