0

我正在处理一个大而笨重的 Excel 电子表格,目前使用的是 excel 2007。我遇到了以下有趣的公式,用于对特定单元格进行数据验证

=IF($B36="CMD Account Team",
    ACCTEmployeeName,
 IF($B36="ITS",
    UnknownEmployeeName,
    UnknownEmployeeName))

那第二个if很奇怪。上面的公式不等于

=IF($B36="CMD Account Team",
    ACCTEmployeeName,
    UnknownEmployeeName)

原作者对冗余有什么理由?

4

1 回答 1

2

你所拥有的是一个嵌套的 if语句。第二个IF是当第一个IF返回 false 时公式评估的内容。我认为您对此有所了解,但我发布了解释,以便可能有类似问题的其他人能够理解正在发生的事情。

If($B36="CMD Accoutn Team",

如果计算结果为 True,则函数返回 的值ACCTEmployeeName。但是,如果此函数返回 False,即 ,$B36 <> "CMD Account Team"则公式计算第二个IF

您是对的,您可以将公式简化为:

=IF($B36="CMD Account Team", ACCTEmployeeName, UnknownEmployeeName)

原作者对冗余有什么理由?

如果我不得不冒险猜测,我会说两件事之一:

  • 该公式最初是在其他条件下编写的,并且在某些时候被不知道或根本没有足够注意注意到冗余的人更改。
  • 公式写错了,其中一个或另一个UnknownEmployeeName应该引用另一个名称/变量。
于 2013-04-29T03:14:43.657 回答