是否可以将日期分组并返回该组的开始和结束日期?

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

我正在寻求一些帮助。我在 Excel 中有一长串设备预订日期。

我想做的是在列表中搜索该设备(工具 1),然后查看与其关联的所有日期。如果日期是结果,那么我想将它们分组在一起并返回该组(期间)的开始和结束日期。如果有 1 天或更多的间隔,那么它将查找下一组连续日期,对这些日期进行分组并返回该期间的开始日期和结束日期。同样,如果只是一天,那么它会返回该日期作为开始和结束日期......作为一个例子,我有这个

日期 设备
2019/01/01 工具1
2019/02/01 工具1
2019/03/01 工具1
2019/04/01 工具1
2019/06/01 工具1
2019年10月1日 工具1
2019年11月1日 工具1
2019/01/12 工具1
2019/01/13 工具1
2019/01/14 工具1
16/01/2019 工具2
2019/01/17 工具2

我想要的最终结果是......

Equipment    Start Date    End Date
Tool 1       01/01/2019    04/01/2019
Tool 1       06/01/2019    06/01/2019
Tool 1       10/01/2019    14/01/2019
Tool 2       16/01/2019    17/01/2019

同样,设备会在列表中发生变化,并且某些日期可能会重叠,因为它们可以同时预订 - 但我会单独列出它们 - 因此每个单独的设备都有一个表格和列。

这有可能吗?请帮忙,如果您需要我进一步解释,请告诉我......

excel excel-formula formula
1个回答
1
投票

请记住,这是一个非常粗略的示例,我确信社区中的其他一些成员可以创建一个更优雅的解决方案,但这是一种实现它的方法:

Example solution

A 列 - 日期,必须组织好日期才能使该解决方案发挥作用。这可以通过 Excel 排序/过滤器来实现。

B 栏 - 工具。在此解决方案中,我没有考虑 Tool1 与 Tool2。但是,也许您可以在不同的工作表中将工具彼此分开?或者也许您可以想出一个巧妙的方法来考虑该工具。

C 列 - 检查 A 列日期是否紧随前一日期,从而使其成为时间块的一部分。

D 列 - 检查 A 列日期是否是时间块的开始日期。

E 列 - 检查 A 列日期是否是时间块的结束日期。

F 列 - 检查 A 列日期是否同时是时间块的开始和结束。 IE。该工具只租一天吗?

G 列

- 生成与开始日期相关的文本。

H 列

- 生成与结束日期相关的文本。

I 列

- 组合 G 列和 H 列中的文本以创建单列时间块信息。现在我们只需要删除日期信息之间的空白块(即空白)。 如果我们使用

TEXTJOIN

函数删除空格,然后删除我们不想要的

CHAR(10)
,我们可以得到如下所示的结果:

Example output 再次强调,这是一个非常粗略的示例,但我希望它可以帮助您走上正轨!

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