一个单元格中的两个 vlookup 函数
Two vlookup functions in one cell
我有以下业务案例,想用 excel 将其自动化。在第一个 table 中,我有建筑物、承租人、开始日期、结束日期和租金。在第二个现金流标签中,我想添加每个月和建筑物的租金是多少。
选项卡 1。
Building
Renter
Startdate
Enddate
Rent
First
David
1.1.2021
31.07.2021
1234
Second
Adam
1.1.2020
31.07.2021
3333
Third
George
1.1.2020
31.07.2021
4444
First
John
1.1.2020
31.12.2020
9999
选项卡 2
Building
December 2020
January 2021
February 2021
First
9999
1234
1234
Second
3333
3333
3333
Third
4444
4444
4444
换句话说,首先我需要在第一个选项卡中找到正确的建筑物,然后谁是特定月份的租户并填写租金值。
谢谢
基于开始日期:
=VLOOKUP(A2,'Tab 2'!1:1000,MATCH(C2,'Tab 2'!1:1,0),FALSE)
基于结束日期:
=VLOOKUP(A2,'Tab 2'!1:1000,MATCH(EOMONTH(D2,-1)+1,'Tab 2'!1:1,0),FALSE)
我建议不要使用 VLOOKUP(永远不要使用。INDEX/MATCH 做的事情完全相同,但速度更快,用途更广)。
但在这种情况下,您应该能够使用简单的 MAXIFS 实现您想要的:
=MAXIFS($E:$E,$A:$A,$A9,$C:$C,"<="&B,$D:$D,">"&B)
这样做的是select最高租金(无论如何应该只有一个),建筑物匹配,每月的第一天在开始日期和结束日期之间。
我有以下业务案例,想用 excel 将其自动化。在第一个 table 中,我有建筑物、承租人、开始日期、结束日期和租金。在第二个现金流标签中,我想添加每个月和建筑物的租金是多少。
选项卡 1。
Building | Renter | Startdate | Enddate | Rent |
---|---|---|---|---|
First | David | 1.1.2021 | 31.07.2021 | 1234 |
Second | Adam | 1.1.2020 | 31.07.2021 | 3333 |
Third | George | 1.1.2020 | 31.07.2021 | 4444 |
First | John | 1.1.2020 | 31.12.2020 | 9999 |
选项卡 2
Building | December 2020 | January 2021 | February 2021 |
---|---|---|---|
First | 9999 | 1234 | 1234 |
Second | 3333 | 3333 | 3333 |
Third | 4444 | 4444 | 4444 |
换句话说,首先我需要在第一个选项卡中找到正确的建筑物,然后谁是特定月份的租户并填写租金值。
谢谢
基于开始日期:
=VLOOKUP(A2,'Tab 2'!1:1000,MATCH(C2,'Tab 2'!1:1,0),FALSE)
基于结束日期:
=VLOOKUP(A2,'Tab 2'!1:1000,MATCH(EOMONTH(D2,-1)+1,'Tab 2'!1:1,0),FALSE)
我建议不要使用 VLOOKUP(永远不要使用。INDEX/MATCH 做的事情完全相同,但速度更快,用途更广)。
但在这种情况下,您应该能够使用简单的 MAXIFS 实现您想要的:
=MAXIFS($E:$E,$A:$A,$A9,$C:$C,"<="&B,$D:$D,">"&B)
这样做的是select最高租金(无论如何应该只有一个),建筑物匹配,每月的第一天在开始日期和结束日期之间。