Google sheets 基于日期和勾选框状态的自动计算

Google sheets 基于日期和勾选框状态的自动计算,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我试图建立一个电子表格来跟踪和自动计算钱,当我被要求去工作 以下是条件: 星期一、星期二、星期三、星期四-待命费用:21英镑 星期五、星期六、星期日、银行假日-备用费率:26英镑 星期一、星期二、星期三、星期四-呼叫费率:(工作小时数*小时费率)*1.25 星期五、星期六、星期日、银行假日-调出费率:(工作小时数*小时费率)*1.5 我有一个包含以下信息的电子表格: A列-日期|日期 B列-勾选|复选框,如果是,则勾选 C列-持续时间|如果调用,持续多长时间 D列-计算|显示用于确定付款的

我试图建立一个电子表格来跟踪和自动计算钱,当我被要求去工作

以下是条件:

  • 星期一、星期二、星期三、星期四-待命费用:21英镑
  • 星期五、星期六、星期日、银行假日-备用费率:26英镑
  • 星期一、星期二、星期三、星期四-呼叫费率:(工作小时数*小时费率)*1.25
  • 星期五、星期六、星期日、银行假日-调出费率:(工作小时数*小时费率)*1.5
我有一个包含以下信息的电子表格:

  • A列-日期|日期
  • B列-勾选|复选框,如果是,则勾选
  • C列-持续时间|如果调用,持续多长时间
  • D列-计算|显示用于确定付款的计算
  • 第E列-付款|显示付款
该表如下所示:

+------------+-------------+----------+---------------------+---------+
|    Date    | Called Out? | Duration |     Calculation     | Payment |
+------------+-------------+----------+---------------------+---------+
| 01/02/2021 |             |          | 21                  | £21     |
| 02/02/2021 |             |          | 21                  | £21     |
| 03/02/2021 |             |          | 21                  | £21     |
| 04/02/2021 |             |          | 21                  | £21     |
| 05/02/2021 |             |          | 26                  | £26     |
| 06/02/2021 | TRUE        |        2 | 26+((2*50)*1.5)     | £176    |
| 07/02/2021 | TRUE        |        1 | 26+((1*50)*1.5)     | £101    |
| 15/02/2021 |             |          | 21                  | £21     |
| 16/02/2021 | TRUE        |      1.5 | 21+((1.5*50)*1.25)  | £177.25 |
| 17/02/2021 |             |          | 21                  | £21     |
| 18/02/2021 |             |          | 21                  | £21     |
| 19/02/2021 |             |          | 26                  | £26     |
| 20/02/2021 |             |          | 26                  | £26     |
| 21/02/2021 |             |          | 26                  | £26     |
+------------+-------------+----------+---------------------+---------+
我成功地使用以下公式获得了备用费率(K1包含我的实际小时费率):

但我需要考虑到银行假期,并检查B列是否正确,然后它是否按照上面的指示计算付款


有什么想法吗?

我的工作电子表格在这里

我分了几个阶段来做,并试图让它尽可能简单

首先,我们根据日期确定一周中的哪一天:

=WEEKDAY(A4,2)
我把它放在C栏只是为了举例说明

然后我用一周中每一天的费率(假设周日是一周中的第一天)做一个表格——你可以在第J列和第K列中看到这一点

然后我根据星期几和表的第二列设置每日费率:

=vlookup(weekday(A4,2),$J$1:$K$8,2,false)
我这里不使用arrayformula,只是复制下公式,所以当是国庆节或其他时候,你们可以手动改变速率

最后我计算每天的付款。 我将待机率添加到呼叫小时数中(如果没有,则为固定待机率)。 我用1,5乘以26待机率的天数,用1,25乘以21待机率的天数:

=D4+B4*50*(if(D4=26,1.5,1.25))

我的工作电子表格在这里

我分了几个阶段来做,并试图让它尽可能简单

首先,我们根据日期确定一周中的哪一天:

=WEEKDAY(A4,2)
我把它放在C栏只是为了举例说明

然后我用一周中每一天的费率(假设周日是一周中的第一天)做一个表格——你可以在第J列和第K列中看到这一点

然后我根据星期几和表的第二列设置每日费率:

=vlookup(weekday(A4,2),$J$1:$K$8,2,false)
我这里不使用arrayformula,只是复制下公式,所以当是国庆节或其他时候,你们可以手动改变速率

最后我计算每天的付款。 我将待机率添加到呼叫小时数中(如果没有,则为固定待机率)。 我用1,5乘以26待机率的天数,用1,25乘以21待机率的天数:

=D4+B4*50*(if(D4=26,1.5,1.25))
您的常数是

  • 待命费用:21英镑或26英镑
  • 每小时收费:50英镑
  • 始终:待机或呼叫
  • 银行假日
换张桌子,用这个

=ArrayFormula(IF((WEEKDAY(A2:A22,2)>4)+(B2:B22=TRUE),26,21)+
              IF((WEEKDAY(A2:A22,2)>4)+(B2:B22=TRUE),C2:C22*50*1.5,C2:C22*50*1.25))
您的常数是

  • 待命费用:21英镑或26英镑
  • 每小时收费:50英镑
  • 始终:待机或呼叫
  • 银行假日
换张桌子,用这个

=ArrayFormula(IF((WEEKDAY(A2:A22,2)>4)+(B2:B22=TRUE),26,21)+
              IF((WEEKDAY(A2:A22,2)>4)+(B2:B22=TRUE),C2:C22*50*1.5,C2:C22*50*1.25))

你真的需要一个勾选框来标记你被叫出的时间吗?我认为这是多余的。无论何时“持续时间”列中显示任何数据,都意味着您被调出。当它是空的-你不是,你只得到你的备用率。你真的需要一个勾选框来标记你被叫出的时间吗?我认为这是多余的。无论何时“持续时间”列中显示任何数据,都意味着您被调出。当它是空的-你不是,你只得到你的备用率。