return 下一个最低值
return the next lowest value
MS EXCEL 2013:
我正在尝试构建一个公式,将 'reportDate'(DD/MM/YYYY) 与该字段中的其他日期 return 下一个最高日期进行比较。我将在 VLOOKUP / SUMIFS 中使用它来取回上次报告发布时的值。
所以这是我的数据集的摘要。
注意:我的数据集中有多个 [ID]。
[ID];[reportDate];[priority]
1;01/11/2014;50
1;01/12/2014;50
1;01/01/2015;45
1;01/02/2015;40
我觉得 =LARGE([reportDate],2)
对我有所帮助,因为它为我提供了上次报告的正确日期。但我不认为这是正确的答案,因为它只有在每个 ID 有两行时才有效。
但这就是我目前所拥有的。
=SUMIFS([priority],[ID],[@ID],[reportDate],LARGE([reportDate],2))
感谢您抽出宝贵时间提供帮助。
段
我已经想出办法了。
我认为这不是最好的方法,但它确实有效!
摘要
总之,我创建了一个包含所有不同 [reportDate] 值的列表,然后用它来给我下一个最早的日期,这将是我的 [lastReportDate]。然后,此 [lastReportDate] 与 [ID] 一起用于 SUMIFS 公式中以检索最后报告的优先级。
详情
我创建了一个仅 [reportDate] 的自动刷新数据透视表 table(因此是一个不同的列表)。
这是从最新到最旧的排序。在图表旁边,我有一个 IF 语句,用于检查下方和左侧的单元格,如果为空则处理 "N/A"。那是用来告诉我不同的 reportDate table 的结尾在哪里。
示例(从单元格 A1 开始,sheet 称为 'DATE distinct')
[reportDate];[formula]
01/01/2014;=IF(A3>1,A3,"N/A")
05/02/2014;=IF(A4>1,A4,"N/A")
02/03/2014;=IF(A5>1,A5,"N/A")
02/04/2014;=IF(A6>1,A6,"N/A")
然后我将 SUMIFS 添加到我原来的新列中 table 以输出最后的报告优先级。
=IF(VLOOKUP([@[reportDate]],'DATE distinct'!$A:$B,2,FALSE)="N/A","",SUMIFS([priority],[ID],[@ID],[reportDate],VLOOKUP([@[reportDate]],'DATE distinct'!$A:$B,FALSE)))
请注意 'DATE distinct' 是我存储不同日期的 sheet 的名称。
示例 table 放置上述公式的位置。
[ID];[reportDate];[priority];[lastReportPriority]
1;01/01/2014;50;{above formula}
1;05/02/2014;50;{above formula}
1;02/03/2015;45;{above formula}
1;02/04/2015;40;{above formula}
14;01/01/2014;20;{above formula}
14;05/02/2014;20;{above formula}
14;02/03/2015;25;{above formula}
20;05/02/2014;20;{above formula}
20;02/03/2015;30;{above formula}
20;02/04/2015;60;{above formula}
所以公式会这样计算...
[ID];[reportDate];[priority];[lastReportPriority]
1;01/01/2014;50;
1;05/02/2014;50;50
1;02/03/2015;45;50
1;02/04/2015;40;45
14;01/01/2014;20;
14;05/02/2014;20;20
14;02/03/2015;25;220
20;05/02/2014;20;
20;02/03/2015;30;20
20;02/04/2015;60;30
MS EXCEL 2013:
我正在尝试构建一个公式,将 'reportDate'(DD/MM/YYYY) 与该字段中的其他日期 return 下一个最高日期进行比较。我将在 VLOOKUP / SUMIFS 中使用它来取回上次报告发布时的值。
所以这是我的数据集的摘要。 注意:我的数据集中有多个 [ID]。
[ID];[reportDate];[priority]
1;01/11/2014;50
1;01/12/2014;50
1;01/01/2015;45
1;01/02/2015;40
我觉得 =LARGE([reportDate],2)
对我有所帮助,因为它为我提供了上次报告的正确日期。但我不认为这是正确的答案,因为它只有在每个 ID 有两行时才有效。
但这就是我目前所拥有的。
=SUMIFS([priority],[ID],[@ID],[reportDate],LARGE([reportDate],2))
感谢您抽出宝贵时间提供帮助。
段
我已经想出办法了。
我认为这不是最好的方法,但它确实有效!
摘要
总之,我创建了一个包含所有不同 [reportDate] 值的列表,然后用它来给我下一个最早的日期,这将是我的 [lastReportDate]。然后,此 [lastReportDate] 与 [ID] 一起用于 SUMIFS 公式中以检索最后报告的优先级。
详情
我创建了一个仅 [reportDate] 的自动刷新数据透视表 table(因此是一个不同的列表)。
这是从最新到最旧的排序。在图表旁边,我有一个 IF 语句,用于检查下方和左侧的单元格,如果为空则处理 "N/A"。那是用来告诉我不同的 reportDate table 的结尾在哪里。
示例(从单元格 A1 开始,sheet 称为 'DATE distinct')
[reportDate];[formula]
01/01/2014;=IF(A3>1,A3,"N/A")
05/02/2014;=IF(A4>1,A4,"N/A")
02/03/2014;=IF(A5>1,A5,"N/A")
02/04/2014;=IF(A6>1,A6,"N/A")
然后我将 SUMIFS 添加到我原来的新列中 table 以输出最后的报告优先级。
=IF(VLOOKUP([@[reportDate]],'DATE distinct'!$A:$B,2,FALSE)="N/A","",SUMIFS([priority],[ID],[@ID],[reportDate],VLOOKUP([@[reportDate]],'DATE distinct'!$A:$B,FALSE)))
请注意 'DATE distinct' 是我存储不同日期的 sheet 的名称。
示例 table 放置上述公式的位置。
[ID];[reportDate];[priority];[lastReportPriority]
1;01/01/2014;50;{above formula}
1;05/02/2014;50;{above formula}
1;02/03/2015;45;{above formula}
1;02/04/2015;40;{above formula}
14;01/01/2014;20;{above formula}
14;05/02/2014;20;{above formula}
14;02/03/2015;25;{above formula}
20;05/02/2014;20;{above formula}
20;02/03/2015;30;{above formula}
20;02/04/2015;60;{above formula}
所以公式会这样计算...
[ID];[reportDate];[priority];[lastReportPriority]
1;01/01/2014;50;
1;05/02/2014;50;50
1;02/03/2015;45;50
1;02/04/2015;40;45
14;01/01/2014;20;
14;05/02/2014;20;20
14;02/03/2015;25;220
20;05/02/2014;20;
20;02/03/2015;30;20
20;02/04/2015;60;30