这个公式困绕了我几天,实在不明白,后面为什么是减,哪位高手能告诉我。

这个公式困绕了我几天,实在不明白,后面为什么是减,哪位高手能告诉我。这个函数我知道COUNTIF,统计。公式意思是统计实际出勤天数,就是不知道为什么后面是减去。。。求大神告知。

countif()函数作用:计算区域中满足给定条件的单元格的个数。

星号(*)为通配符,代替多个字符。

从该“考勤表”看,“*a*”即表示“A”,也表示“A调0.5”,还表示“A下2(或1)缺卡”,另外,还表示“*a0.5*”。

该公式由3段构成,

第一段:COUNTIF(B7:AH7,"*a*"),计算“B7:AH7”区域中满足给定条件“*a*”的单元格的个数,也即:计算“B7:AH7”区域中满足给定条件“A”和“A调0.5”和“A下2(或1)缺卡”和“*a0.5*”(考勤表中未见)的单元格的个数(全天考勤天数)。

意思是:把“A”或“A调0.5”或“A下2(或1)缺卡”或“*a0.5*”视为每天全天考勤,记为出勤"1"天,(见图一)。

第二段:COUNTIF(B7:AH7,"*a0.5*")/2,"*a0.5*"“考勤表”中未看到,猜想应该是出勤“0.5”天的意思(见图二);但是,第一段已计数,第三段公式也会计数,所以此段重复计数了,多余,而且会出错(当表中存在“*a0.5*”记录时)(见图四)。

第三段:COUNTIF(A7:AH7,"*0.5*")/2,出现“*0.5*”记录时,记为0.5天考勤单元格的个数(0.5天考勤天数)(见图三)。

公式组合后应该为:全天考勤天数-0.5天考勤天数=第一段公式-第三段公式=COUNTIF(B7:AH7,"*a*")-COUNTIF(A7:AH7,"*0.5*")/2(见图五)。

图一、所有含“a”单元格计数(12)

图二、所有含“a0.5”单元格计数除以2(0.5)

图三、所有含“0.5”单元格计数除以2(2.5)

图四、原公式结果10(错误)

图五、正确结果(9.5)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-06
因为第一个统计"*a*"包括最后一个"*0.5*"在内了本回答被提问者采纳
相似回答