如何在另一列中按条件分组的列中查找下一个日期?

Posted

技术标签:

【中文标题】如何在另一列中按条件分组的列中查找下一个日期?【英文标题】:How to find the next date in one column grouped by criteria in another column? 【发布时间】:2021-10-23 20:25:02 【问题描述】:

我被困在如何在 excel 中完成此操作,所以需要一些帮助。

我有两列:ID 和日期

每个 ID 可以有多个日期,因此可以多次列出该 ID。我需要为该 ID 设置另一列,其中包含“下一个最高日期”,如果这是最高日期,则为空白。最终我需要计算两个日期之间的差异。

我已经在谷歌上搜索了一段时间并尝试了一些东西,但似乎没有任何效果。

【问题讨论】:

【参考方案1】:

这可以使用 MINIFS 来完成:

MINIFS 部分:

MINIFS($B$2:$B$7,$A$2:$A$7,$A2,$B$2:$B$7,">"&$B2)

通过选择 ID 匹配且日期大于当前日期的最小日期来工作。

MINIFS 周围的 IF 包装器只是用空字符串替换零。

=IF(MINIFS($B$2:$B$7,$A$2:$A$7,$A2,$B$2:$B$7,">"&$B2)=0,
    "",
    MINIFS($B$2:$B$7,$A$2:$A$7,$A2,$B$2:$B$7,">"&$B2)
)

【讨论】:

谢谢!我正在尝试使用 MINIFS,但没有正确设置它。欣赏! 没问题。我一直认为,当您试图获得比当前日期更高的日期时,使用 MINIFS(而不是 MAXIFS)似乎违反直觉。【参考方案2】:

假设 ID 在 A 列,日期在 B 列,第 2 到 11 行输入 10 行,并且您希望最高日期在 C 列,然后输入:

=MAX(IF($A$2:$A$11=A2,$B$2:$B$11)) 

...然后复制下来。

灵感来自: https://exceljet.net/formula/max-if-criteria-match

【讨论】:

OP 不是要求每一行的下一个最高日期吗?不仅仅是每个 ID 的最大日期。在这种情况下,你可以做=MAXIFS($B$2:$B$11,$A$2:$A$:11,$A2)

以上是关于如何在另一列中按条件分组的列中查找下一个日期?的主要内容,如果未能解决你的问题,请参考以下文章

excel如何判断某一列内容是不是包含在另一列中

如何在 Hive SQL 中对一列中的数据进行分组并将其分布在另一列中?

在另一列中使用一列中的值

在另一列满足条件后计算一列中的值

如何在另一列中显示最大日期金额?

clickhouse:如何在另一列中找到高于日期的数组中的最小日期?