谷歌电子表格计算

时间:2013-03-22 16:09:52

标签: google-apps-script google-sheets google-spreadsheet-api

如何计算:

0-10 hours = 100 pr. hour
11-20 hours = 80 pr. hour
21+   hours = 70 pr. hour


If ex. I have 23 hours:
10 hours - 100 pr. hour
10 hours -  80 pr. hour
 3 hours -  70 pr. hour

如果我只有总小时数,是否可以在Google电子表格中编写一个函数来计算总金额。

3 个答案:

答案 0 :(得分:2)

您可以将其表达为公式。考虑有三种情况:

  1. 如果超过20小时,费率为(10 x 100 + 10 x 80)+(小时 - 20)x 70

  2. 如果小于21小时但超过10小时,则费率为(10 x 100)+(小时 - 10)x 80

  3. 如果少于11小时,费率为小时x 100

  4. 如果我们在单元格A1中有我们的小时数,则可以使用以下公式:

    =if(A1>20,(A1-20)*70+1800,if(A1>10,(A1-10)*80+1000,A1*100))
    

答案 1 :(得分:0)

我写了4年多的gsheet公式。 恕我直言,你需要创建额外的表"率"

HoursFrom | HoursTo |率

0 | 10 | 100

11 | 20 | 80

21 | 9999 | 70

你可以编写灵活的公式,它可以在任何地方使用: =过滤器(费率!C:C,费率!A:A> A1,费率!B:B

一开始可能看起来有点复杂,但是很晚你就会轻松阅读你的公式,并且你可以在你的"率"中单独更改你的数据。表,而不搜索引用此数据的所有公式。

答案 2 :(得分:0)

是的,可以为此编写一个函数。这是一个示例代码。

function amount(x) {
  if(!x){
    return "no hours provided";
  } else {
    if(x<=10){
      return x*100;
    } else if (x<=20){
      return 10*100+(x-10)*80;
    } else {
      return 10*100+10*80+(x-20)*70;
    }
  }
}

您可以在电子表格中的任何位置将其用作自定义功能。例如如果

A1 = 23;
//You can put below line in any cell. A2 is just being given as an example
A2 = amount(A1) //answer will be 2010