如果单元格等于A、B或C,Excel将返回0、1或2

如果单元格等于A、B或C,Excel将返回0、1或2,excel,Excel,我有一个单元格(比如B16),它有一个带有三个选项的下拉列表,根据所选的选项,我希望单元格D16返回一个值,具体取决于,即,如果选择返回0,B返回1,C返回2 我尝试了多个IF或OR查找,但没有任何效果。 任何帮助都会很棒 那么: =IF(B16="A",1,IF(B16="B",2,IF(B16="C",3,""))) 这是为了返回{1,2,3},根据您想要的任何三个值进行修改。就个人而言,我不喜欢嵌套的,因为它们很难读取。如果希望转换为{0,1,2},那么可以使用 =CODE(B16)-C

我有一个单元格(比如B16),它有一个带有三个选项的下拉列表,根据所选的选项,我希望单元格D16返回一个值,具体取决于,即,如果选择返回0,B返回1,C返回2

我尝试了多个IF或OR查找,但没有任何效果。 任何帮助都会很棒

那么:

=IF(B16="A",1,IF(B16="B",2,IF(B16="C",3,"")))

这是为了返回{1,2,3},根据您想要的任何三个值进行修改。

就个人而言,我不喜欢嵌套的
,因为它们很难读取。如果希望转换为{0,1,2},那么可以使用

=CODE(B16)-CODE("A")
这在使用ASCII编码的编程语言中是惯用的。如果您使用
选择
,则可以概括这一点。如果您想要{
a
b
c
},请使用

=CHOOSE(1 + CODE(E3) - CODE("A"), a, b, c)

其中
a
b
c
是您想要的值:{0,1,3}在您的情况下。

制作一个名为
映射的隐藏表,其中包含以下内容:

现在它只是
=VLOOKUP(B16,mapping!A:B,2,0)
。与嵌套的
IF
解决方案相比,此解决方案的优点是,在“我的选项”中添加更多选项非常简单,并且更易于阅读/编辑


您还可以使用
mapping
A列
填充下拉列表。

如果选择A、B或C以外的内容,会发生什么情况?如果你选择A,你会返回什么?你是如何尝试多个if的?很好,谢谢,当你看到它时看起来很简单。但是当下拉列表包含
{“红色”、“绿色”、“蓝色”}
而不是
{“A”、“B”、“C”}
时会发生什么?这将很难概括。@Dan,好吧,很明显,在这种情况下,您将移动到查找表。但我喜欢尽可能避免使用VLOOKUP。(1) 它使工作簿变得易碎;e、 g.如果引入额外的行和列,它可以在不报告错误的情况下使查找参数无效,(2)
VLOOKUP
在早期版本的Excel中不稳定,如果您以非常有组织的方式构建工作簿,
VLOOKUP
仍然容易受到错误重构的影响:+1,那么这确实很有效。这还有一个优点,即下拉式验证可以扩展到此处A列中的数据。