带有IF语句和条件的公式

时间:2013-10-17 13:56:01

标签: excel if-statement conditional excel-2013

我正在尝试使用excel公式来确定pDistance每个Distance的总Position的比例(Site)。例如,如果(总)Distance为50且Position为10,则总距离(pDistance)的比例将为0.2,即任何{pDistance的最后Site {1}}应该始终为1.我使用的公式(=IF(B3<B2, 1, (B2/C2)))大部分都有效,只是我有一些Position的值为-10。

在这些情况下,Position中的每个Site在计算pDistance之前都应该为其添加值10。这可以用一个公式来完成,即计算pDistance并在必要时加10?或者最好先制作一个假列?如果要创建虚拟列,那么在满足条件之前如何使用公式来执行某些操作(例如,将Position添加10直到达到0或新Site为止?

excel 2013 screenshot of if statement with want of conditional statement

1 个答案:

答案 0 :(得分:1)

从示例数据中,我了解对于任何在B列中某处具有-10值的网站,(B / C)的计算需要为((B + 10) / C)。 (虽然单元格D11不遵循这个,但我认为它只是一个错字:))

以下公式适用于这种情况:

  

D2 =(SUMPRODUCT(($ A $ 2:$ A $ 22 = $ A2)*($ B $ 2:$ B $ 22 = -10))* 10 + B2)/ C2

此公式的工作原理如下:

  1. SUMPRODUCT(($A$2:$A$22=$A2)*($B$2:$B$22=-10))

    - &GT;这将返回包含A列中A2值和B列中-10的值的总行数:

    • ($A$2:$A$22=$A2)查看A2&amp;之间的单元格中的所有值A22,找到哪些匹配A2。也就是说,它会找到与输入公式的行具有相同站点编号的行
    • ($B$2:$B$22=-10)查看B2&amp;之间的单元格中的所有值B22,并查找哪些等于-10。也就是说,它会查找距离值为-10的所有行。
    • SUMPRODUCT找到这些重叠。因此,它计算有多少行具有正确的站点编号和距离值-10
  2. 此值乘以10.如果没有与网站配对的-10值,则为0 * 10 = 0。如果有一对,则为1 * 10 = 10

  3. 然后将该结果添加到B2,然后除以C2

  4. 注意:此公式假定特定网站最多只有一个-10值。如果有多个,那么SUMPRODUCT将返回匹配的总数,并且计算将是错误的(但可以更新公式以纠正此问题。)

    另请注意,公式指的是范围$A$2:$A$22$B$2:$B$22。这些范围必须与数据中的第一个和最后一个数字条目匹配(并且不包括任何文本 - 这将打破SUMPRODUCT公式)。处理此问题的最简单方法(如果您不希望在数据集末尾添加值时更新公式)是设置定义的范围名称并参考公式中的名称。

    要应用公式,只需将其粘贴到D2,然后将公式复制/拖动到下面的单元格中。

    作为结论,我建议您创建一个“虚拟”/“帮助”列来存储(SUMPRODUCT * 10) + B2结果,并将其用作除法计算的输入。这将有助于可视化和检查用于计算的数据。它可以隐藏,直到您想要检查值或更改公式,以防将来需求发生变化。