我有一个试点表,其中总结了很多操作。
每个操作都标有日期:
Data | Operation | Result
-----------|-----------|-------
01/09/2020 | A | 3
05/10/2020 | B | 4
07/11/2020 | C | 5
13/11/2020 | B | 3
20/11/2020 | B | 8
01/12/2020 | C | 3
01/12/2020 | A | 9
因此,我有一列的开始日期为[MIN(Date)]和结束日期为[Max(Date)]:
Operation | Start Date | End Date
----------|------------|------------
A | 01/09/2020 | 01/12/2020
B | 05/10/2020 | 20/11/2020
C | 07/11/2020 | 01/12/2020
现在,我需要一列返回从开始日期到结束日期的时间段(天)。
使用=DATEDIF( MIN(DATE), MAX(DATE), "D" )
在计算域公式不起作用。我猜这是因为最大日期和最小日期不在同一行中。
我不能使用开始日期和结束日期,因为它们是在“总和”字段框中计算的。
我可能在这里错过了一些重要的概念。谢谢
您可以在Excel 2010+中的Power Query
(Get & Transform
)中轻松完成此操作
将光标放在表格中,导航至:
Data
=> Get & Transform
=>from Table/Range
datetime
为date
Operation
列并
=Duration.Days([End Date]-[Start Date])
MCode
et
Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {" Operation ", type text}, {" Result", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {" Operation "}, {{"Start Date", each List.Min([Date]), type nullable date}, {"End Date", each List.Max([Date]), type nullable date}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Duration", each Duration.Days([End Date]-[Start Date]))
in
#"Added Custom"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句