1

我是 Excel 新手,我正在为一个公式而苦苦挣扎。本质上,我正在寻找的是使用公式通过一组程序过滤单元格(这部分并不严格)。

例如

假设我有一个单元格,A1. 我正在尝试根据它是否在某个值范围内对此执行不同的计算。问题是,它可以在几个范围内。

伪代码表示

If(A1 > 187.5) {
   // Run some code here.
}

If(A1 > 150) {
   // Run some code here.
}

注意:上面的例子只是为了说明顺序 if 语句的逻辑。

请注意,我想要嵌套的 If 语句。我只是想通过各种检查来运行相同的值。如何在 Excel 公式中执行此操作?

4

3 回答 3

2

我能想到的最好的方法如下。

=(A1>187.5)*<some expression>+(A1>150)*<some expression>+....

这样做的结果将是一些单一的值。(获取多个值的直接方法是将各个术语放在单独的单元格中。

如果您希望结果反映几个相互排斥的结果之一,那么您将希望使用:

=(A1>187.5)*<some expression>+(A1>150)*(A1<=187.5)*...etc.
于 2013-06-25T22:07:32.950 回答
0

有很多方法可以实现这一目标。一种方法是使用这样的嵌套条件:

=IF(Something, do something, IF(something else, do something, do something))

如果您想稍微浓缩一下公式,这很好,但可以说会导致公式更加混乱。根据 FAST-Standard 组织,那些嵌套条件的情况应该由使用标志来代替。最简单的情况是,例如,您将根据销售额查找回扣百分比。在多个单元格中,只有当值与特定范围匹配时,IF 条件才会评估为 true。然后,您的公式可以像您的标志与您的回扣百分比一样简单。

这是一个例子,但它也可以很好地应用于其他情况。

于 2013-06-25T21:54:43.797 回答
0

如果您检查的数字之间存在关系,您很可能可以使用

=CHOOSE(FLOOR(A1/160,1)+1,"<160",">160")

这会将您的 150 放在第一个,然后将您的 185 放在第二个

于 2013-06-25T22:18:43.600 回答