【问题标题】:Excel: IFS or Nested If StatementsExcel:IFS 或嵌套 If 语句
【发布时间】:2018-04-20 16:30:51
【问题描述】:

我在 Excel 中编写 IFS 语句时遇到问题。

这就是我希望发生的事情:用户从 B1 中的 8 个名称列表中进行选择。根据 B1 的选择,在 B2 中,用户将获得一个更精细的列表以供选择。

到目前为止,这就是我编写 IFS 语句的方式,这会造成麻烦:

=IFS(B1="A",A),["B",B],["C",C],["D",D],["E",E],["F ",F],["G",G],["H",H])

我也写了这个也不起作用:

=IFS(B1="A",A),[B1="B",B],[B1="C",C],[B1="D",D],[B1="E ",E],[B1="F",F],[B1="G",G],[B1="H",H])

我不断收到错误消息。

有人有什么建议吗?

谢谢!

【问题讨论】:

  • 你必须使用依赖下拉列表,所以搜索它。
  • 我想通了,我的公式应该是:=IFS(B1="A",A,B1="B",B,B1="C",C,B1="D" ,D,B1="E",E,B1="F",F,B1="G",G,B1="H",H) 我猜没有括号?我不知道为什么这是有效的,但我会接受的。

标签: excel if-statement nested ifs


【解决方案1】:

在这种情况下,您还可以使用choosematch 的组合。它更具可读性和更易于维护:

=CHOOSE(MATCH(B1,{"A","B","C","D","E","F","G"},0), "Action A", "Action B", "Action C", "Action D", "Action E", "Action F", "Action G")

它首先将用户的选择与选项列表匹配(您也可以将列表指定为工作表中的单元格范围)。然后它根据该选择选择动作。

【讨论】:

    【解决方案2】:

    常见的方法是使用依赖下拉列表。很简单。

    考虑一个简化的例子。

    您有 8 个初始选项 A-H。这将是您的第一个数据验证下拉列表的源列表。然后,对于该列表中的每个选择,您将创建一个与选择同名的命名范围。

    因此命名的范围称为AB 等。

    然后对于第二个下拉数据验证,您放置 List 并作为 Source 您放置 Indirect(包含第一个数据验证列表的单元格)

    所以在下面的例子中:

    初始下拉列表位于 C1 中,其来源为 E 列

    您可以在左上角的名称管理器框中看到G 列中突出显示的范围被命名为A

    第二个下拉单元格D1 有源公式=INDIRECT($C$1)

    因此,当在C1 中选择A 时,D1 中的数据验证来自间接到命名范围A,即G 列中的列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2017-10-18
      • 1970-01-01
      • 2012-06-01
      相关资源
      最近更新 更多