Excel:IFS或嵌套If语句

时间:2018-04-20 16:30:52

标签: excel if-statement nested ifs

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

这就是我想要发生的事情:用户从B1中的8个名字列表中选择。根据B1的选择,在B2中,用户将获得更精确的列表的下拉列表以供选择。

这就是我到目前为止写的IFS语句的方法,这会导致麻烦:

= IFS(B1 =" A",A),[" B",B],[" C",C],[&#34 ; d",d],[" E",E],[" F",F],[" G",G],[& #34; H",H])

我也写过这个也不起作用的东西:

= IFS(B1 =" A",A),[B1 =" B",B],[B1 =" C",C], [B1 =" d",d],[B1 =" E",E],[B1 =" F",F],[B1 =&# 34; G",G],[B1 =" H",H])

我不断收到错误消息。

有人有任何建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

在这种情况下,您还可以使用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")

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

答案 1 :(得分:0)

常见的方法是依赖下拉列表。很容易。

考虑一个简化的例子。

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

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

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

所以在下面的例子中:

Example

初始下拉列表在C1中,其来源是E列

Initial list

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

第二个下拉单元格D1的源代码公式为=INDIRECT($C$1)

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

Indirect to range A