我具有以下格式的文件
名称编号位置
A 1
B 2
C 3 3
D 4 4
现在在position A3
上,我应用了=IF(B2=1,"Goal Keeper",OR(IF(B2=2,"Defender",OR(IF(B2=3,"MidField","Striker")))))
,但这给了我一个错误#value!
看着Google,我的公式是正确的。
我基本上想要的是什么
1-守门员2-后卫3-中场4-前锋
是的,另一种方法是只过滤数字并复制粘贴文本
但是我想使用公式来做,并且想知道我哪里出错了。
答案 0 :(得分:1)
您的直接问题在于表达式(例如):
OR(IF(B2=3,"MidField","Striker"))
| \__/ \________/ \_______/ |
| bool string string |
\____________________________/
string
OR
函数需要一系列 boolean 值(真或假),并且您要从内部{{1 }}。
在这种特定情况下,您实际上不需要 IF
位,or
是完整的if
。因此,您可以使用:
if-else
这意味着=IF(B1=1,"Goal Keeper",IF(B2=2,"Defender",IF(B2=3,"MidField","Striker")))
将得出B1=1
,否则将得出"Goal Keeper"
。
然后那表示,如果IF(B2=2,"Defender",IF(B2=3,"MidField","Striker"))
,它将得到B2=2
,否则将得出"Defender"
。
最后,这意味着IF(B2=3,"MidField","Striker")
将产生B2=3
,其他任何结果将得到"MidField"
。
当"Striker"
派上用场时,我唯一能想到的情况是两个不同的数字生成相同的字符串。假设OR
和 1
都应提供4
,您可以使用:
"Goalie"
请记住,使用Excel查找功能可以更好地实现更通用的解决方案,该功能将搜索将整数映射到字符串的表(在电子表格中的某个地方)。然后,如果需要更改映射,则只需更新表,而不是返回并更改每一行中的公式。
答案 1 :(得分:-1)
如果您的任务实际上是在同一个方程式中使用IF
和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")))
如果B1
不等于1-4,则OR
函数将返回FALSE
并完全绕过所有嵌套的IF
语句。