在语句中引用excel IF语句的字段
我一直在用excel中的IF语句,其中一些变得冗长了。
[condition],[value如果为true]和[value_if_false]字段都包含相同的冗长的expression式。 例如,许多function如下所示:
=IF( [long_expression] > 130 , 3*[long_expression]^2 , 2*[long_expression]^3 )
有没有办法通过直接从其他两个字段引用条件来减less这些语句中的重复?
你有3个选项,它取决于:
- 如果它是一个单一的值,请按照加里的build议,并为它作一个名称(或者如果你不喜欢名字放在一个单元格和参考)。
- 如果你的
IF
语句被用在一列数据中,你可以插入一个额外的列,在那里做计算(可能隐藏它)并引用它。 - 如果使用的是VBA,并且该公式仅用于计算一次值,然后粘贴为值,则可以考虑将计算放入VBA中。
由于没有办法在公式中定义variables,所以不能直接引用expression式。 在较新版本的Excel中引入的唯一捷径是IFERROR
和IFNA
(也许还有其他一些),可以让你编写例如
IF(ISERROR([possible_div_0_expression]),0,[possible_div_0_expression])
如
IFERROR([possible_div_0_expression],0)
很不幸的是,不行。 Excel并不打算用作编程语言。 他们允许一些条件公式是很好的。 当你必须嵌套许多IF语句来使CASE语句等同时,它会变得更加混乱。
如果你想做一些更清洁的公式,你可能不得不考虑一个VBmacros。
您可以使用“ 公式”选项卡中的“ 名称”function。 select一个像BigGuy这样的名字,并为其指定一个公式如下:
=(A1+A77)/(B23+B77)
接着:
=IF( BigGuy > 130 , 3*BigGuy^2 , 2*BigGuy^3 )