我正在创建一个excel工作表以汇总另一个工作表中的值。问题是我有许多不同的客户ID,并且每六个月我们会在他们的电话上收到他们活动的摘要。一栏显示他们是否已更新到新的操作系统。如果没有,则显示0,如果在6个月内或6个月之前完成,则显示1。
我已经尝试过使用IFERROR
和INDEX
公式,但是这些公式对我没有用。
我真的根本无法使它正常工作,因此我没有任何代码可向您显示。但这是数据的通用格式。
在A列中,您拥有所有客户ID,并且每6个月有多个条目。然后在B列中输入6个月的日期,在C列中分别输入0或1(根据它们是否尚未更新)。
+-------------+--------+----------+
| Customer ID | Date | Updated? |
+-------------+--------+----------+
| 001 | Dec-17 | 0 |
| 001 | Jun-17 | 0 |
| 001 | Dec-16 | 0 |
| 001 | Jun-16 | 0 |
| 002 | Dec-17 | 1 |
| 002 | Jun-17 | 1 |
| 002 | Dec-16 | 0 |
| 003 | Dec-17 | 1 |
| 003 | Jun-17 | 1 |
| 003 | Dec-16 | 1 |
| 003 | Jun-16 | 0 |
| 003 | Dec-15 | 0 |
+-------------+--------+----------+
输出应在一个单独的标签中,该标签仅包含唯一的客户ID,如下所示:
+-------------+--------------+
| Customer ID | Date Updated |
+-------------+--------------+
| 001 | 0 |
| 002 | Jun-17 |
| 003 | Dec-16 |
+-------------+--------------+
我认为这将需要数组公式,但是真的不知道它们如何工作。
任何帮助将不胜感激。
答案 0 :(得分:0)
假定日期是真实日期,而不是文本:
如果您拥有Office 365,则可以使用Minifs
=MINIFS(Table1[month],Table1[id],F5,Table1[value],1)
如果没有该功能,则可以使用以下数组公式:
=MIN(IF((Table1[id]=F5)*(Table1[value]=1),Table1[month]))
请记住使用Ctrl + Shift + Enter进行确认。
使用自定义格式mmm-yy;;0
格式化结果,该格式显示0表示0值,而不显示日期。
如果要将公式放在另一张纸上,请相应地调整公式。
注释后编辑:我发布的公式使用结构化引用Excel表。如果您的数据不在表对象中,或者您不想使用结构化引用,则可以使用常规引用。
=MINIFS($C$5:$C$16,$B$5:$B$16,F5,$D$5:$D$16,1)
或
=MIN(IF(($B$5:$B$16=F5)*($D$5:$D$16=1),$C$5:$C$16))