Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays #价值观!同时使用IF和OR时_Arrays_Excel - Fatal编程技术网

Arrays #价值观!同时使用IF和OR时

Arrays #价值观!同时使用IF和OR时,arrays,excel,Arrays,Excel,我有以下格式的文件 姓名号码职位 A 1 B 2 C3 D 4 现在在位置A3上,我应用了=IF(B2=1,“守门员”,或者(如果B2=2,“后卫”,或者(如果B2=3,“中场”,“前锋”;)),但是它给了我一个错误值 看看谷歌,我的公式是正确的。 我基本上想要的 1-守门员2-后卫3-中场4-前锋 是的,另一种方法是过滤数字并复制粘贴文本 但我想用公式来做,想知道我哪里做错了 您当前的问题在于表达式(例如): 或函数需要一系列布尔值(true或false),如果,则从内部的中给它一个字符串值

我有以下格式的文件


姓名号码职位
A 1
B 2
C3
D 4

现在在位置A3上,我应用了
=IF(B2=1,“守门员”,或者(如果B2=2,“后卫”,或者(如果B2=3,“中场”,“前锋”;))
,但是它给了我一个错误值
看看谷歌,我的公式是正确的。
我基本上想要的
1-守门员2-后卫3-中场4-前锋
是的,另一种方法是过滤数字并复制粘贴文本

但我想用公式来做,想知道我哪里做错了

您当前的问题在于表达式(例如):

函数需要一系列布尔值(true或false),如果,则从内部的
中给它一个字符串值

实际上,您不需要
位。在这种特定情况下,
if
是一个完整的
if-else
。因此,您只需使用:

=IF(B1=1,"Goal Keeper",IF(B2=2,"Defender",IF(B2=3,"MidField","Striker")))
这意味着
B1=1
将产生
“守门员”
,否则它将评估
如果(B2=2,“后卫”,如果(B2=3,“中场”,“前锋”)

这就意味着,如果B2=2,它将产生“防守球员”,否则它将评估(B2=3,“中场”,“前锋”)

最后,这意味着
B2=3
将产生
“中场”
,其他任何东西都将产生
“前锋”

在这里派上用场时,我能想到的唯一情况是两个不同的数字生成相同的字符串。假设
1
4
都应该给出
“守门员”
,您可以使用:

=IF(OR(B1=1,B1=4),"Goalie",IF(B2=2,"Defender","MidField"))


请记住,使用Excel查找函数可以更好地实现更通用的解决方案,这些函数可以搜索将整数映射到字符串的表格(在电子表格的某处)。然后,如果映射需要更改,您只需更新表,而不是返回并更改每一行中的公式。

如果您的任务是使用同一等式中的
if
函数来解决问题,这是我能看到的唯一方法:

=IF(OR(B1=1, B1 = 2, B1 = 3, B1 = 4),IF(B1 = 1, "Goal Keeper", IF(B1 = 2,"Defender",IF(B1 = 3,"MidField","Striker")))

如果
B1
不等于1-4,则
函数将返回
FALSE
,并完全绕过所有嵌套的
If
语句

假设每个数字有4个文本,有没有办法使用IF来创建我想要的数据?我必须实现如果,或者任何方式。同样,另一位用户也告诉vlookup way,是的,我可以根据vlookup轻松地对数据进行排序,或者只需过滤数字单元格并复制粘贴文本即可。@ReverseAngle,如果有多个值可能导致相同的文本,您只需使用
。由于情况并非如此,只需使用
if
本身就可以更轻松地完成。我们是否缺少其他上下文?为什么这严格限于
IF
功能?“也许是家庭作业?”乌德男孩说得没错。这是HW,使用IF或,或更简单的将像之前发布的用户一样进行VLOOK,或更简单的将是,只需过滤单元格并将文本复制粘贴到整个文本中,等等。最简单的方法是=选择(B2,“守门员”、“后卫”、“中场”、“前锋”),还有paxdiablo的IF版本。在这两种情况下,如果更改单元格B2中的值,A3中的值将相应更改。这就是您需要的功能吗?我不知道如何或为什么要实施或?所以我猜你还需要其他东西(不同的功能)。试着弄清楚它是什么。谢谢你,这很有效。我要问老师这件事。好像有更简单的方法来达到同样的结果。我要收拾一切。但是因为我们正在研究如果或者,可能是她让我们这么做的。阅读另一个答案,思考当测试的条件为真时OR()返回什么,即文本。。。
=IF(OR(B1=1, B1 = 2, B1 = 3, B1 = 4),IF(B1 = 1, "Goal Keeper", IF(B1 = 2,"Defender",IF(B1 = 3,"MidField","Striker")))