VLOOKUP 水平和 IF MATCH 做 OFFSET

时间:2021-05-08 23:29:15

标签: excel vba indexing match vlookup

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

一些解释:

A列:代表项目名称

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

主要问题来了:

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

这个问题不用VBA能解决吗?如果是,我如何在这里找到解决方案。第二,如果需要VBA,函数会是什么样子?

非常感谢您的帮助!

提前致谢。

<头>
A B C D E 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 劳拉

1 个答案:

答案 0 :(得分:2)

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

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

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

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