我的数据格式如下,A列中有唯一ID,但这些ID可能出现在多行上,代表针对该个人的重复交易。在col B中,我有该交易的日期时间戳,在Col C中,有交易的名称;
Col A Col B Col C
ABC1 15/02/2018 16:26 Apple
ABC1 14/02/2018 11:26 Pear
ABC1 13/02/2018 09:11 Pear
ABC2 15/02/2018 16:26 Orange
ABC2 14/02/2018 11:26 Pear
ABC2 13/02/2018 09:11 Apple
ABC3 15/02/2018 16:26 Grape
ABC3 14/02/2018 11:26 Orange
ABC3 13/02/2018 09:11 Apple
我正在尝试使用日期戳上的MIN和MAX标准来转移此数据,以获取Col C中作为其第一笔交易的交易记录的数量,将Col C中的X交易作为其最新交易的数量等等,目的是最终确定这样的数据;
MIN(第一)次交易:
Distinct Count Col A Col C
1 Pear
2 Apple
MAX(最后)交易:
Distinct Count Col A Col C
1 Grape
1 Orange
1 Apple
有没有办法用Pivot表格做到这一点我错过了?我在这里处理数百万行数据,因此通过数据透视操作比使用公式或其他东西更容易(通过电源查询加载数据)。如果需要,我可以在加载过程中连接列。
提前感谢您的帮助。
答案 0 :(得分:1)
使用辅助列,因为这样可以使用页面过滤器来获取最大值和最小值,而不是依赖于对每个列进行排序。
将数据设置为表格。然后添加最大列和最小列。
最大列公式:
=IF([@[Col B]]=MAX([Col B]),1,0)
最小列公式:
=IF([@[Col B]]=MIN([Col B]),1,0)
创建2个支点。 1表示最大值,1表示最小值,并将最大值或最小值放在页面字段中并过滤为1(即日期是源值的最大值或最小值)
按照C列的列数(水果名称列)对C列进行排序,您认为合适。如果您对最小日期的最小计数的水果感兴趣,则上升到分钟。
最终结果:
您可以随时删除不需要的字段,例如B列获得完全相同的外观:
如果您想按ID显示每个水果的计数,您可以使用查找表支点
来显示该ID的最小日期。每个ID
的最小值的示例查找表pivot然后在源表中的帮助列中引用此表,使用索引匹配来检索最小日期,并与数据表中的日期进行比较以获得相同的ID:
辅助列中的公式(MinMatch
):
=IF(INDEX(LookupMin!B:B,MATCH(A2,LookupMin!A:A,0))=[@Date],1,0)
注意:如果您创建ID&amp ;;的唯一键,这将更容易。水果和查找。
辅助列公式为:
=IFERROR(IF([@[Col B]]=INDEX(LookupMin!$A:$E,MATCH([@[Col A]],LookupMin!$A:$A,0),MATCH([@[Col C]],LookupMin!$4:$4)),1,0),"")
LookupMin
!是具有最小枢轴的工作表。
请注意,我在数据表上使用了一个数据透视表,查看每个水果的数量,每个ID的最小日期。
您可以使用公式代替,但之后您将有重复的总和,参见列F
=SUMIFS([MinMatch],[Fruit],C2,[ID],A2)
最后,如果您确定要获得ID和水果的最早日期,则可以按如下方式更改查找: