【发布时间】:2015-11-21 22:14:09
【问题描述】:
我有两张桌子
第一个表:
ML_ID PID Task Name Start Color
1 PID1 One 01.01.2016 R
2 PID2,PID3 Two #N/A G
3 PID3 Three 01.03.2016 A
4 PID4 Four 01.04.2016 R
5 PID5 Five 01.05.2016 G
6 PID6 Six 01.06.2016 A
7 PID7 Seven 01.07.2016 R
8 PID8 Eight 01.08.2016 G
9 PID9 Nine 01.10.2016 A
10 PID10 Ten 01.09.2016 R
第二张桌子
PID Dates
PID1 01.01.2016
PID2 01.02.2016
PID3 01.03.2016
PID4 01.04.2016
PID5 01.05.2016
PID6 01.06.2016
PID7 01.07.2016
PID8 01.08.2016
PID10 01.09.2016
PID9 01.10.2016
对于 ML_ID 2,我想通过查找第二个表来找到 PID2 和 PID2 的最大日期。
我用 INDIRECT(INDEX(MATCH())) 结合 MAX(IF()) 进行了几次尝试。
如果有更好的方法,我仍然可以影响数据结构。但是,在第一个表上,每个 ML_ID 只能有一行!
我想棘手的部分是,我需要一个或多个查找 - 取决于第一个表中 PID 的数量。
对此有什么想法吗?
【问题讨论】:
-
我不明白你的目标是什么以及你遇到了什么问题——你能提供更多细节吗?
-
“最大日期”是指未来最远的日期吗?还是过去最落后的?
-
另外,一个简短的说明(它可能会有所帮助) - 当我尝试使用带有小数格式日期的
Max()时,它无法正常工作。当我将01.01.2016更改为01/01/2016(和短日期格式)时,MAX()函数起作用(返回范围内最远的日期)。 -
@BruceWayne:是的,正确,最后(最大)日期。我的问题不在于 max 函数本身,而在于根据表一中的列 PID 进行动态查找。
-
嗯——
max的公式是什么?由于某种原因,我的索引/匹配(Index(max(...)))不起作用。
标签: excel indexing match vlookup