一、excel里这个奖金怎么计算
1.如果第二名和第一名相间出现(如1,2,1,2),也就是说这位老师的排名在第一名和第二名徘徊不算 第二名连续,M4公式:
=SUM(--ISNUMBER(FIND("11",MID(F4&H4&J4&L4,COLUMN($A$1:$D$1),2))))*50+SUM(--ISNUMBER(FIND("22",MID(F4&H4&J4&L4,COLUMN($A$1:$D$1),2))))*40
2.如果第二名和第一名相间出现(如1,2,1,2)也算第做第二名连续,M4公式:
=SUM(--ISNUMBER(FIND("11",MID(F4&H4&J4&L4,COLUMN($A$1:$D$1),2))))*50+SUM(--ISNUMBER(FIND({"22";"12";"21"},MID(F4&H4&J4&L4,COLUMN($A$1:$D$1),2))))*40
以上均为数组公式,ctrl+shift+回车,下拉。注意F4、H4、J4、L4不能有空单元格,也就是说必须有排名,如果为空,前后为1将会计做连续1次。
我认为排名在第一名和第二名徘徊也应该算做第二名连续吧,建议用第二条公式。
二、用excel计算工资奖金的公式
这道题用lookup函数最简单。在使用lookup之前,要了解一下这个函数的特点,LOOKUP 有两种使用方式:向量形式和数组形式。
本题使用的是向量形式,LOOKUP(lookup_value, lookup_vector, [result_vector])
在使用时条件是向后兼容的,如果LOOKUP 函数找不到 lookup_value,则该函数会与 lookup_vector 中小于或等于 lookup_value 的最大值进行匹配。举个例子:
=LOOKUP(3,{1,2,7,8,10,11},{"A","B","C","D","E","F"})
他的值返回的是"B",因为在 lookup_vector,从左往右的查找中LOOKUP 函数找不到3,而与lookup_vector中的2匹配,所以结果是'B'。
回到这个问题上,这个题的公式可以这个么写:
=LOOKUP(A1,{0,800,1100},{100,200,500})
完整的短片是: