使用 excel 公式返回子集中的最后一项
Returning the last item in a subset with excel formula
在这个例子中,我想标记最近购买过钢笔的任何客户(或列表底部)。我的数据按 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,B2=$F,B2=$F),"X","")
。
多亏了乔,我才能够解决这个问题。
我还得再开一个专栏。
我把它放在 F 列中。
=IF(AND(C2=333,B2<>B3),1,"")
然后在 G 列中。
=IF(AND(COUNTIFS(A:A,A2,F:F,1)=1),"Yes","")
效果很好。
在这个例子中,我想标记最近购买过钢笔的任何客户(或列表底部)。我的数据按 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,B2=$F,B2=$F),"X","")
。
多亏了乔,我才能够解决这个问题。
我还得再开一个专栏。
我把它放在 F 列中。
=IF(AND(C2=333,B2<>B3),1,"")
然后在 G 列中。
=IF(AND(COUNTIFS(A:A,A2,F:F,1)=1),"Yes","")
效果很好。