excel-formula - 使用excel公式返回子集中的最后一项
问题描述
在这个例子中,我想标记最近购买了一支笔的任何客户(或列表的底部)。我的数据按 CustomerID 和 ServiceDate 排序,最近的数据排在最后。我希望仅当最后一次购买是笔 (333) 时才能标记客户的所有交易。我一直在尝试使用 COUNTA 的公式,但是在依赖数据子集时不确定如何操作。
=INDEX(C:C,COUNTA(C:C))
这将给我列中的最后一个值。
Customer ID Custmer Name Item Number Item Name Date Desired Results
1 Bob 222 Paper 1/1/2016 X
1 Bob 111 Tape 1/1/2017 X
1 Bob 333 Pen 1/1/2018 X
4 Greg 333 Pen 1/1/2015
4 Greg 111 Tape 1/1/2016
6 Chris 111 Tape 1/1/2015 X
6 Chris 333 Pen 1/1/2018 X
8 Luke 333 Pen 1/1/2013
8 Luke 333 Pen 1/1/2014
8 Luke 222 Paper 1/1/2015
8 Luke 111 Tape 1/1/2016
8 Luke 111 Tape 1/1/2018
9 Tom 333 Pen 1/1/2013 X
解决方案
您可以通过创建一个附加列来做到这一点。附加列将使用以下公式查找上次购买是笔的所有客户:=IF(AND(C2=333,B2<>B3),B2,"")
。
下一列将为您提供所需的输出:=IF(OR(B2=$F$4,B2=$F$8,B2=$F$14),"X","")
.