查找最新日期在偏移定义的范围内

问题描述 投票:0回答:1

我试图根据偏移范围找到最近的日期。这有点难以解释所以这里是一个通用数据的屏幕截图来帮助(我找不到文件上传):

Example Data

我创建了一个辅助列和日期差异。当辅助列命中0时,表示需要检查的范围的开始。我认为使用一种偏移形式来定义要检查的范围将起作用,但我不确定如何构造它。它需要定义范围,然后从每行的另一个偏移量中获取日期以进行比较并找到最近的日期。它应该看起来像突出显示的行。这甚至可能吗?

希望我已经充分解释了它。

谢谢!

编辑:我一直在看它,并提出以下公式:

=IF(B2 = SMALL(OFFSET(B2,0,0,2,1), 1),TRUE,FALSE)

这是成功的一半。接下来是确保偏移的高度覆盖辅助列的0到最大值的范围,然后才能到达下一个0。

第二次编辑:我提出了不完美的解决方案:

=IF(B2 = SMALL(OFFSET(B2,-C2,0,IF(C3 = 0, C2 + 1,MAX(C2:C5)+1),1), 1),TRUE,FALSE)

这方面的问题是高度偏移中的Else语句。我知道整列中的MAX值是4.所以我只是设置else来检查它应该覆盖的下三行,但它可能会导致问题。

此外,如果范围内有重复的日期,则SMALL()公式将不会选择此项,并且将完全跳过它。很少见,但它发生了。如果有人有更好的东西我都是耳朵!

excel formula offset
1个回答
0
投票

根据我的第二次编辑,我想出了一些有效但有一些错误的东西,我接受了我需要做的事情(这从来不是我的工作,所以它不像他们可以抱怨):

=IF(B2 = SMALL(OFFSET(B2,-C2,0,IF(C3 = 0, C2 + 1,MAX(C2:C5)+1),1), 1),TRUE,FALSE)

如果有人可以解决围绕SMALL函数的问题,跳过范围和动态高度相同的值,那么你就有了这样的东西的坚实公式。

© www.soinside.com 2019 - 2024. All rights reserved.