【发布时间】:2019-03-19 16:04:31
【问题描述】:
我正在尝试根据偏移范围查找最近的日期。这有点难以解释,所以这里有一个通用数据的截图来帮助(我找不到文件上传):
我创建了一个帮助列和日期差异。当辅助列达到 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() 公式将不会选择它,它将被完全跳过。很少见,但它会发生。如果有人有更好的东西,我会全力以赴!
【问题讨论】:
-
您能否编辑您的问题以澄清什么是什么:日期差异涉及两个日期,大概一个在
A列中,另一个在哪里?辅助列背后的逻辑是什么?您可能想花时间阅读this -
嗨,帮助列只是表示何时需要遵循新范围。当它达到 0 时,这意味着它的范围的开始,它将在再次达到 0 之前转到最高的序号。 Date diff 是一个简单的 =TODAY()-Date。抱歉,如果原始帖子中没有很好地解释这一点。无论如何,我不完美的做法被接受了,因为我没时间了,而且我从来没有做这个分析文章哈哈。但是,如果任何人都可以解决 SMALL 和 HEIGHT 问题,那么这将完善公式:) 谢谢!