【发布时间】:2015-10-11 07:20:49
【问题描述】:
我需要 Excel 中的帮助,以根据以下四个条件语句的 Amount 找到 正确的输出:
- 时间戳的最大值;
- 如果有重复的最大日期,请使用相同时间戳的最后一行,因为数据不会延长到秒;
- 每个月的时间戳;
- 每 (4) 个唯一的ID
并将其他行留空。 正确输出列是预期输出。
这是示例数据:
╔════╦═════════════════════════════╦═════════╦════════════════╦══╦═════════════╦════════════╦═════════╗
║ ID ║ Timestamp (yyyy-mm-dd H:mm) ║ Amount ║ Correct Output ║ ║ Date Format ║ Max Date ║ Test ║
╠════╬═════════════════════════════╬═════════╬════════════════╬══╬═════════════╬════════════╬═════════╣
║ A ║ 2013-04-15 20:42 ║ NULL ║ NULL ║ ║ 2013-04-15 ║ 2013-04-15 ║ NULL ║
║ A ║ 2013-05-23 23:09 ║ 300000 ║ 300000 ║ ║ 2013-05-23 ║ 2013-05-23 ║ 300000 ║
║ A ║ 2013-09-15 23:36 ║ 300000 ║ 300000 ║ ║ 2013-09-15 ║ 2013-09-15 ║ 300000 ║
║ A ║ 2013-12-19 5:58 ║ 300000 ║ ║ ║ 2013-12-19 ║ 2013-12-19 ║ 0 ║
║ A ║ 2013-12-19 6:18 ║ 0 ║ ║ ║ 2013-12-19 ║ 2013-12-19 ║ 0 ║
║ A ║ 2013-12-19 6:18 ║ 0 ║ 0 ║ ║ 2013-12-19 ║ 2013-12-19 ║ 0 ║
║ B ║ 2013-05-23 23:00 ║ NULL ║ ║ ║ 2013-05-23 ║ 2013-05-23 ║ 0 ║
║ B ║ 2013-05-23 23:04 ║ 0 ║ 0 ║ ║ 2013-05-23 ║ 2013-05-23 ║ 0 ║
║ B ║ 2013-05-30 3:48 ║ 2339000 ║ ║ ║ 2013-05-30 ║ 2013-05-30 ║ 1169500 ║
║ B ║ 2013-05-30 3:54 ║ 1169500 ║ 1169500 ║ ║ 2013-05-30 ║ 2013-05-30 ║ 1169500 ║
║ B ║ 2013-06-02 11:46 ║ 2339000 ║ ║ ║ 2013-06-02 ║ 2013-06-02 ║ 2339000 ║
║ B ║ 2013-06-27 8:40 ║ 2339000 ║ ║ ║ 2013-06-27 ║ 2013-06-27 ║ 2339000 ║
║ B ║ 2013-06-27 13:59 ║ 2339000 ║ ║ ║ 2013-06-27 ║ 2013-06-27 ║ 2339000 ║
║ B ║ 2013-06-27 13:59 ║ 2339000 ║ 2339000 ║ ║ 2013-06-27 ║ 2013-06-27 ║ 2339000 ║
║ C ║ 2015-02-09 12:43 ║ NULL ║ ║ ║ 2015-02-09 ║ 2015-02-09 ║ NULL ║
║ C ║ 2015-02-09 12:43 ║ NULL ║ NULL ║ ║ 2015-02-09 ║ 2015-02-09 ║ NULL ║
║ D ║ 2013-12-02 0:05 ║ NULL ║ ║ ║ 2013-12-02 ║ 2013-12-02 ║ 37000 ║
║ D ║ 2013-12-02 0:37 ║ 37000 ║ 37000 ║ ║ 2013-12-02 ║ 2013-12-02 ║ 37000 ║
║ D ║ 2014-07-16 7:36 ║ 0 ║ ║ ║ 2014-07-16 ║ 2014-07-16 ║ 0 ║
║ D ║ 2014-07-16 7:36 ║ 0 ║ 0 ║ ║ 2014-07-16 ║ 2014-07-16 ║ 0 ║
║ E ║ 2013-06-27 8:35 ║ NULL ║ NULL ║ ║ 2013-06-27 ║ 2013-06-27 ║ NULL ║
╚════╩═════════════════════════════╩═════════╩════════════════╩══╩═════════════╩════════════╩═════════╝
参考资料:
- A 列 - ID
- B 列 - 时间戳
- F 列 - 日期格式
- G 列 - 最大日期
- H 列 - 测试
以下是我尝试的步骤:
- 我使用
date创建了日期格式 - 使用
=MAX(IF($F$2:$F$22=F2,IF($A$2:$A$22=A2,$B$2:$B$22)))创建最大日期(在数组中) - 使用
=INDEX(C2:C22,MATCH(G2,B2:B22,0))创建测试(在数组中)
【问题讨论】:
-
到目前为止您尝试过什么?它在哪里失败,它的运作方式与预期有何不同?
-
还以易于使用的格式提供您的数据,请参阅:stackoverflow.com/questions/5963269/… 并向我们展示您的预期结果。
-
Hello mts,输出是最终值列
-
等级 Eh Bacon,在 excel 中,我创建了单独的列以将日期格式设置为 YYYY-MM-DD。然后,在另一列中,这是我的公式: =MAX(IF($F$2:$F$22=F2,IF($A$2:$A$22=A2,$C$2:$C$22))) 列 F - YYYY-MM-DD 列 A 的新日期格式 - ID 列 C - 金额 所以,我坚持使用重复的时间戳。
-
@FoxyReign 这对我来说不是很清楚你在做什么。请通过编辑重新编写您的问题以包含所有信息,包括您尝试过的内容以及尝试的结果(问题出现在哪里,以及这些问题是什么)?
标签: excel conditional-statements