我正在尝试根据偏移范围查找最近的日期。有点难以解释,因此下面是通用数据的屏幕快照(我无法找到文件上传):
我创建了一个帮助器列和日期差异。当helper列达到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设置为检查它应该覆盖的下3行,但可能会引起问题。
如果范围中有重复的日期,则SMALL()公式将不会选择此日期,它将被完全跳过。很少见,但确实如此。如果有人有更好的东西,我全是耳朵!
答案 0 :(得分:0)
根据我的第二次编辑,我想出了一些可行的方法,但有一些错误,这是我需要做的事情(这从来都不是我的工作,因此他们不会抱怨):
=IF(B2 = SMALL(OFFSET(B2,-C2,0,IF(C3 = 0, C2 + 1,MAX(C2:C5)+1),1), 1),TRUE,FALSE)
如果任何人都可以解决SMALL函数周围的问题,而跳过范围内相同的值和动态高度,那么您将拥有一个扎实的公式,可以解决此类问题。