我的数据集看起来像这样......
State Close Date Probability Highest Prob/State
WA 12/31/2016 50% FALSE
WA 12/19/2016 80% FALSE
WA 10/15/2016 80% TRUE
我的目标是建立一个公式来填充最右边的列。该公式应评估每个州内的关闭日期和概率。首先,它应该选择最高概率,然后如果存在概率上的关系,则应该选择最近的关闭日期(如示例中所示)。对于该记录,它应该读为" TRUE"。
我认为这包括一个MAX IF声明但是还没有能够使它工作。
这是我正在使用的更强大的数据集。实际上可能更容易首先找到每个区域内的最高概率,然后选择最小(最旧)日期,如果存在概率上的平局。这也符合我的目的。
Region Forecast Close Date Probability (%)
Okeechobee FL 6/27/2016 90
Okeechobee West FL 7/1/2016 40
Albany GA 3/11/2016 100
Emerald Coast FL 6/30/2016 60
Emerald Coast FL 10/1/2016 40
Cullman_Hartselle TN 4/30/2016 10
North MS 10/1/2016 25
Roanoke VA 8/31/2016 25
Roanoke VA 8/1/2016 40
Gardena CA 6/1/2016 80
Gardena CA 6/1/2016 80
Lomita-Harbor City 6/30/2016 60
Lomita-Harbor City 6/30/2016 0
Lomita-Harbor City 6/30/2016 40
Eastern NC 6/30/2016 60
Northwest NC 9/16/2016 10
Fort Collins_Greeley CO 3/1/2016 100
Northwest OK 6/30/2016 100
Southwest MO 7/29/2016 90
Northern NH-VT 3/1/2016 20
South DE 12/1/2016 0
South DE 12/1/2016 20
Kingston NY 12/30/2016 5
Longview WA 11/30/2016 5
North DE 12/1/2016 20
North DE 12/1/2016 0
Salt Lake City UT 8/31/2016 20
Idaho Panhandle 8/26/2016 0
Bridgeton_Salem NJ 7/1/2016 25
Bridgeton_Salem NJ 7/1/2016 65
Layton_Ogden UT 3/25/2016 5
Central OR 6/30/2016 10
答案 0 :(得分:2)
以下数组公式应该有效:
=(ABS(B2-$F$2)=MIN(IF(($A$2:$A$33=A2)*(C2=MAX(IF($A$2:$A$33=A2,$C$2:$C$33))),ABS($B$2:$B$33-$F$2))))*(C2=MAX(IF($A$2:$A$33=A2,$C$2:$C$33)))>0
作为数组公式,在退出编辑模式时使用Ctrl-Shift-Enter。如果操作正确,Excel会将{}
放在公式周围。
<强> 修改 强>
添加@tigeravatar建议以避免易失性功能。
答案 1 :(得分:1)
我认为现在可以,但需要根据OP提供的更完整的数据集进行检查。
重要的是: -
(1)具有相同状态但概率较高的任何行
(2)将来(或现在)并且接近今天的日期具有相同状态和概率的任何行
(3)任何具有相同状态和概率的行,在过去和接近今天的日期。
如果所有这些都为零,那么你应该是正确的。
getFill()
如果日期都是将来,可以简化很多: -
=COUNTIFS($A$2:$A$100,$A2,$C$2:$C$100,">"&$C2)
+COUNTIFS($A$2:$A$100,$A2,$C$2:$C$100,$C2,$B$2:$B$100,"<"&$G$2+IF ($B2>=$G$2,DATEDIF($G$2,$B2,"d"),DATEDIF($B2,$G$2,"d")),$B$2:$B$100,">="&$G$2)
+COUNTIFS($A$2:$A$100,$A2,$C$2:$C$100,$C2,$B$2:$B$100,">"&$G$2-IF($B2>=$G$2,DATEDIF($G$2,$B2,"d"),DATEDIF($B2,$G$2,"d")),$B$2:$B$100,"<"&$G$2)
=0