返回数字的百分比直至最大值的公式

返回数字的百分比直至最大值的公式

有人能帮我在 Excel 中构造一个公式吗?我已经接近了,但不知道如何在范围 >10-50 和 51+ 时合并“最大值 5”和“最大值 25”。请参阅下面的图表,以计算给定总体的样本量。

如果人口为:

1
>1 - 10
>10 -50
51+

样本大小为:

1
2
25% of Population up to a Maximum of 5
10% of Population up to a Maximum of 25

我现在的公式并没有返回我想要的结果:

=IF(G4=1,1,IF(AND(G4>1,G4<=10),2,IF(AND(OR(G4>10,G4<=50),(0.25*G4),AND(G4>50,(0.1*G4),G4>25,25)),IF(G4>5,5)))) 

答案1

我认为这就是你要找的,请注意使用MIN()

=IF(A1=1,1,IF(AND(A1>1,A1<=10),2,IF(AND(A1>10,A1<=50),MIN(5,A1*0.25),IF(A1>=51,MIN(25,0.1*A1)))))

其中,A1是人口的价值。

答案2

我已通过将公式的布局更改为以下方式来澄清参数:

=IF(G4=1,1,
    IF(AND(G4>1,G4<=10),2,
       IF(AND(OR(G4>10,G4<=50),(0.25*G4),
                 AND(G4>50,(0.1*G4),G4>25,25)
             ),IF(G4>5,5)
         )
      )
   ) 

有几件事已经很清楚了:

  • 最后一个IF()有真值,没有假值。
  • 最后AND()检查 4 个值,两个条件值和两个数字。
  • 前一个AND()检查 3 个值,一个OR(),一个数字 和一个AND()

我不确定您是如何试图制定您的条件的,但显然IF()缺少一些条款。

请注意,您的AND()条款是不必要的,因为每种情况下都有一个条件是隐含的,因此我建议:

=IF(G4<=1,G4=1,
    IF(G4<=10,2,
       IF(G4<=50,
            IF(G4>20,5,0.25*G4),
            IF(G4>250,25,0.1*G4)
         )
      )
   )

我添加了允许样本量为零(如果G4为零或负数)的功能。我比较了人口规模限制,以避免计算两次样本量(布鲁斯·韦恩使用时也避免了这种情况MIN())。

相关内容