所以我有一张包含三列的Excel表格:价值($ M),合约名称,以及年度 [合约奖励] 。
我正在尝试使用3个最大值返回合同的合同名称。我找到了here的解决方案。
=INDEX($B$2:$B$21,MATCH(1,INDEX(($A$2:$A$21=LARGE($A$2:$A$21,E2))*(COUNTIF(E2,$B$2:$B$21)=0),),))
但是,我还有一个警告:我只想从2017年开始提取合同。我找到了使用CSE公式从2017 here中提取值的解决方案,并相应地调整了公式:
{=INDEX($B$2:$B$21,MATCH(1,INDEX(($A$2:$A$21=LARGE(IF($C$2:$C$21=2017,$A$2:$A$21),E2))*(COUNTIF(E2,$B$2:$B$21)=0),),))}
当我将其纳入公式时,它仅在2017年返回前3个值时工作正常,但由于2017年前3个值中的一个与2015年值重复,因此从2015年开始收取合同名称
结果图片:
如上图所示,它从2015年开始以1亿美元的价格提取&#34;合同1&#34; ,而不是&#34;合同8&#34; < / em>从2017年以1亿美元。知道如何调整我的公式只能从2017年开始收取合同名称吗?提前谢谢!
答案 0 :(得分:0)
尝试添加帮助列以获得结果。
我在 A列中插入了一个辅助列,其中包含公式
=IF($D2=2017,COUNTIF($B$2:$B$21,">="&$B2),"")
其中$B$2:$B$21
是值($ M)中的完整数据列,$B2
是值($ M), 2017 是您提取数据的年份,因此请根据需要进行调整。将此公式拖动到辅助列的整个长度。
旁注:如果您想要换的年份可以更改,请考虑添加一个专用单元,用于保存请求的年份。然后,此单元格将替换我建议的公式中的 2017 。
然后在$G$1
中输入以下公式:
=INDEX($B$2:$C$21,MATCH(SMALL($A$2:$A$21,$F2),$A$2:$A$21,0),2)
其中,$B$2:$B$21
是值($ M)中的完整数据列,$F2
是排名,$A$2:$A$21
是帮助列中的完整数据列。将此公式向下拖动到排名中的其他两行。
然后,您可以在列H 中使用相同的公式,但只能将公式末尾的2
更改为1
,如下所示:
=INDEX($B$2:$C$21,MATCH(SMALL($A$2:$A$21,$F2),$A$2:$A$21,0),1)
。
如果您最终在同一年内拥有完全相同的价值($ M)的多个合约,那么它会按照排名顺序将它们放入其中列表第一。
答案 1 :(得分:0)