我正在为当地的非营利组织生成电子表格,用于跟踪病假和休假时间。主数据输入页面是每个员工每月有一行的日历。这产生一行包含以下种类的值组合的单元格; V1
,JD1
,V.5
,S1
,S.5
。这些代表使用的时间类型(V,JD,S,P),如果是完整或半天休息(1,.5)。
我想为每个值创建一个单独的等式,它会检查该值范围内的每个单元格,并仅包含具有该值的天数并将它们相加。
在将数值包含在包含等式的数学中之前,如何检查单元格中是否有特定的alpha变量?
答案 0 :(得分:0)
如果它只是一个1个字母的前缀,那么这将起作用:
=SUM(IFERROR(RIGHT($B11:$AF11,LEN($B11:$AF11)-1),0)*1)
对于1月份的第一行,请调整范围以适应。
如果超过它多毛一点:
=SUM(IFERROR(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(UPPER($B11:$AF11),"S",""),"P",""),"V",""),"JD","")*1,0))
对于其他每个选项,必须使用另一个替代函数来处理它。
必须使用Ctrl-Shift-Enter输入这些数组公式。
如果您希望每个人分开:
=SUM(IFERROR(SUBSTITUTE(UPPER($B11:$AF11),"JD","")*1,0))
=SUM(IFERROR(SUBSTITUTE(UPPER($B11:$AF11),"S","")*1,0))
...
等等
如果您的报告设置如下:
然后您可以使用以下数组公式:
=SUMPRODUCT((Sheet6!$A$11:$A$30=$A2)*(IFERROR(--SUBSTITUTE(UPPER(Sheet6!$B11:$AF30),B$1,""),0)))
输入B2,点击ctrl-shift-return。然后向上和向下复制。它将显示每个总计。 Sheet6是数据所在工作表的名称。