Google Sheets员工薪资计算:班次及出勤条件公式调试需求
Google Sheets 员工薪资计算修正公式
修正后的公式
=ARRAYFORMULA(IFERROR( IF(REGEXMATCH(C8:C, "P|p"), IF(TIMEVALUE(A8:A) < TIME(6,0,0), 500, 400), 0 ) ))
公式说明
- 出勤判断:通过
REGEXMATCH(C8:C, "P|p")检查C列出勤标记,仅当标记为P或p时计算薪资,否则返回0。 - 班次薪资判定:
- 若A列班次开始时间早于06:00(属于00:00-06:00夜班范围),返回夜班薪资500。
- 若开始时间在06:00-23:59之间(白班范围),返回白班薪资400。
- ARRAYFORMULA:实现整列自动计算,无需逐单元格复制公式。
- IFERROR:处理单元格为空或格式错误的情况,避免显示错误值。
原公式问题解析
- 时间范围逻辑错误:原公式误将夜班判定为4:00-10:00,与需求的00:00-06:00不符。
- 逻辑运算符错误:Google Sheets中需用
*表示逻辑与,而非&&。 - 出勤判断层级错误:原公式将出勤判断嵌套在白班条件内,导致逻辑混乱,应优先判断出勤状态。
内容的提问来源于stack exchange,提问作者Ophelia
相关产品推荐
相关产品推荐

