数学?如果声明。多个场景

时间:2014-08-28 15:34:31

标签: math if-statement

这不是高水平的数学,但我很难将适当的金额分配给我的追加销售类型。

Type            Revenue  Sales  Units
1st Position    24       3      3
2nd Position1   10              2
2nd Position2   5               1

只有我的第一个头寸计入每个销售价值的回报,它们包括我的第二个仓位的收入。

重要提示:如果每次销售的回报值大于或等于12,我必须对超过12的金额进行拆分。我的小于12的值是收入的* 0.6,我的大于12的值是* 0.6数量少于12和* 0.4的数量。

IF TotalRev/1st Position Units < 12 THEN TotalRev*.6 ELSE 7.2+(((TotalRev)/1stPositionUnits)-12)*.4)*1stPositionUnits = Total Revenue To Company.

IF (24+10+5)/3 < 12
THEN (24+10+5)*.6
ELSE ((.6*12)+((((24+10+5)/3)-12)*.4))*3
Net Revenue = 22.8
Net Return Per Sale = (Net Revenue/1st Position Units) = (22.8/3) = 7.6

现在我想确定第一位置收入对7.6的贡献有多少,第二位置1的收入有多少以及第三位的多少......

我的尝试:

(1st Position Revenue/Total Revenue)*Net Return Per sale = (24/(24+10+5))*7.6 = 4.68
(2nd Position1 Revenue/Total Revenue)*Net Return Per sale = (10/(24+10+5))*7.6 = 1.95
(2nd Position2 Revenue/Total Revenue)*Net Return Per sale = (5/(24+10+5))*7.6 = 0.97
Double Check = (4.68+1.95+0.97) =  7.6  

1 个答案:

答案 0 :(得分:0)

作为你的问题,我想你的情况应该没问题。

假设变量的定义与问题中的名称相同(例如,rev_1st_pos,rev_2nd_pos1,rev_2nd_pos2,new_rev_1st_pos,new_rev_2nd_pos1,new_rev_2nd_pos2,net_rev,net_return_per_sale,unit_1st_pos)......

所有变量的通常含义是: -

  1. rev_1st_pos =第一名的收入

  2. rev_2nd_pos1 =第二名的收入1

  3. rev_2nd_pos2 =第二名2的收入

  4. new_rev_1st_pos =总计算后第一个新收入

  5. new_rev_2nd_pos1 =总计算后第二个职位1的新收入

  6. new_rev_2nd_pos2 =总计算后第二个职位2的新收入

  7. unit_1st_pos =第一位置单位

  8. net_rev =按下图所示计算的净收入

  9. net_return_per_sale =以下计算的每次销售净回报

  10. check =用于检查最终值的变量等于net_return_per_sale

  11. 代码: -

    total_rev=(rev_1st_pos+rev_2nd_pos1+rev_2nd_pos2);
    if((total_rev/unit_1st_pos)>=12)
    {
      net_rev=((((total_rev/unit_1st_pos)-12)*0.4)+(12*0.6))*unit_1st_pos;   // OR simply substitute (12*0.6) by 7.2
    }
     else
    {
     net_rev=total_rev*0.6;
    }
    
    net_return_per_sale=net_rev/unit_1st_pos;
    
    new_rev_1st_pos=(rev_1st_pos/total_rev)*net_return_per_sale;
    new_rev_2nd_pos1=(rev_2nd_pos1/total_rev)*net_return_per_sale;
    new_rev_2nd_pos2=(rev_2nd_pos2/total_rev)*net_return_per_sale;
    
    double check=new_rev_1st_pos+new_rev_2nd_pos1+new_rev_2nd_pos2;  // here check must be equal to net_return_per_sale
    

    如果仍有问题,请发表评论!