首页 > 解决方案 > VLOOKUP 水平和 IF MATCH 做 OFFSET

问题描述

所以我想知道你是否知道如何解决这个问题。我基本上想在 Excel 中创建一个工作表,它允许我显示即将到来的里程碑日期,从而显示某个项目的负责人。请找出下表的结构。

一些解释:

A列:代表项目名称

B 列:显示即将到来的里程碑的下一个日期。我通过一个简单的 max-function ( MAX(D3;F3)) 解决了这个问题。

主要问题来了:

C 列:此列应自动显示谁是考虑日期的下一个负责人,该日期显示在 B 列中。我认为这可以通过结合偏移函数的 vlookup 以某种方式解决。但是,vlookup 需要一个列的参数,我无法提供。我还尝试了一些匹配和索引组合,但没有奏效。

不使用VBA可以解决这个问题吗?如果是,我该如何在这里找到解决方案。其次,如果 VBA 是必要的,该功能会是什么样子?

帮助将不胜感激!

提前致谢。

一个 C D F G
1 下一个日期 下一个响应。人 里程碑_1 响应。人 里程碑_2
2 项目A 25.05.2021 汤姆 25.05.2021 汤姆
3 项目 B 12.03.2021 卢卡 23.02.2021 劳拉 12.03.2021
4 项目 C 23.04.2021 劳拉 23.04.2021 劳拉

标签: excelvbaindexingmatchvlookup

解决方案


您可以使用索引/匹配组合。从单元格 C2 开始

=index($D2:$Z2,match($B2,$D2:$Z2,0)+1)

请注意参考如何仅在列字母前使用 $ 符号,而不是行。当公式向下复制时,行号将调整为当前行。

索引部分查看当前行中的 D 到 Z 列。嵌套匹配返回找到的日期在该范围内的位置。加 1 得到名称,即通过加 1 来抵消找到的位置。


推荐阅读