首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google Sheets在指定时间之前和之后工作的小时数

Google Sheets在指定时间之前和之后工作的小时数
EN

Stack Overflow用户
提问于 2019-12-17 20:06:50
回答 1查看 63关注 0票数 0

我正在尝试为考勤卡指定一个开始轮班溢价的时间。我非常高兴,我终于想出了如何得到它,但后来我改变了一个时间到第一个轮班时间,当我失去了所有的希望。我花了几个小时来处理这个问题,我现在的公式看起来像这样

x1.05

代码语言:javascript
运行
复制
 =IF(COUNT(A20:B20)=2,MOD($B$18-A20,1)*24,"")

x1.1

代码语言:javascript
运行
复制
 =IF(COUNT(A20:B20)=2,MOD(B20-$B$18,1)*24,"")

我的最终目标是让第一班(早上7点到下午3点)降到基本工资,第二班(下午4点到12点)降到x1.05,超过12点的任何事情都降到x1.1。

仅仅是走到这一步就让我大吃一惊,任何帮助都将不胜感激。

我已经将这篇文章放到了它自己的工作表上,与大家分享。我自己仍然在尝试不同的东西,但在工作表上,我已经包括了影响工资标准的变量以及合同的措辞。请注意,我最初提供的时间只是我头顶上的例子。

My Sheet

EN

回答 1

Stack Overflow用户

发布于 2019-12-17 23:06:23

看起来你当前的工作表没有考虑到你想要评估的多个标准。第一班(x1)从7点开始;第二班(x1.05)从15:00开始,第三班(x1.10)从24:00开始。

我将它们添加到它们影响的列的正上方,并将此公式用于Base列:

代码语言:javascript
运行
复制
=IF(COUNT($A20:$B20)=2,IF($A20<F$18,(MOD(MIN(F$18,$B20)-$A20,1))*24,0),"")

x1.05列的...this:

代码语言:javascript
运行
复制
=IF(COUNT($A20:$B20)=2,IF($A20<G$18,(MOD(MIN(G$18,$B20)-$A20,1)*24)-E20,0),"")

对于x1.10列,...and如下所示:

代码语言:javascript
运行
复制
=IF(COUNT($A20:$B20)=2,(MOD(MIN(E$18+1,$B20)-$A20,1)*24)-SUM(E20:F20),"")

到目前为止,它的工作情况与预期一致。有一件事我没有加进去,那就是考虑到那些在早上7点之前开始工作的人。如果您希望将其包含在x1.10列中,则可以将其计算添加到该列的公式中。

它看起来是这样的:

我在Excel中工作,但这些公式也应该适用于Google Sheets。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59373952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档