多佣金率变动场景下,基于销售日期计算对应佣金金额
基于销售日期匹配对应佣金金额的解决方案
核心需求是根据销售日期,匹配到在该日期之前(含当日)最晚生效的佣金标准,返回对应金额。以下是几种无需复杂逻辑的公式方案:
方案1:使用LOOKUP(通用Excel版本)
如果你的佣金生效日期列(C列)是升序排列(从早到晚),直接在B2单元格输入公式:=LOOKUP(A1,C:C,D:D)
原理
LOOKUP会自动在C列中找到小于等于A1销售日期的最大生效日期,然后返回D列对应位置的佣金金额。比如A1是16/1/2023时,会匹配到C2的1/1/2023,返回D2的$250,完全符合需求。
方案2:使用INDEX+MATCH+MAXIFS(无需排序)
如果C列的生效日期没有按顺序排列,用这个公式更稳妥:=INDEX(D:D,MATCH(MAXIFS(C:C,C:C,"<="&A1),C:C,0))
原理
MAXIFS(C:C,C:C,"<="&A1):找出所有早于或等于销售日期的生效日期里的最大值(也就是最晚生效的那个)MATCH(...,C:C,0):定位这个最晚生效日期在C列的位置INDEX(D:D,...):返回D列对应位置的佣金金额
方案3:使用XLOOKUP(Office 365/Excel 2021及以上版本)
如果你的Excel是新版本,用XLOOKUP更直观:=XLOOKUP(A1,C:C,D:D,,-1)
原理
XLOOKUP的第5参数设为-1,表示查找小于等于A1的最大匹配项,同样要求C列升序排列。如果C列未排序,可以先对C、D列同步排序后匹配:=XLOOKUP(A1,SORT(C:C),SORT(D:D),,-1)
内容的提问来源于stack exchange,提问作者Ginny
相关产品推荐
相关产品推荐

