
我有一个简单的查找函数,用它来代替 Switch Case 语句。
以下是我想要实现的目标:
switch(F5){
case "apple":
return "1";
break;
case "pear":
return "2";
break;
case "mango":
return "3";
break;
case "kiwi":
return "4";
break;
}
以下是我的 Excel 查找函数:
=LOOKUP(F5,{"apple","pear","mango","kiwi"},{"1","2","3","4"})
问题:当 F5 等于苹果和梨时,我分别得到 1 和 2,这很好。
但是,当 F5 等于芒果或猕猴桃时,我得到 1,而不是我期望的 3 或 4。
为什么会发生这种情况?我使用的语法错误吗?上面的查找函数是否不足以代替 switch case 语句?有没有更好的方法?
附言关联讨论使用查找函数代替 switch case 语句
答案1
LOOKUP 函数要求查找范围(您的水果)按升序排列
尝试像这样改变顺序
=LOOKUP(F5,{"apple","kiwi","mango","pear"},{"1","4","3","2"})
....尽管如果 F5柠檬这样会给出 4 而不是 #N/A,因此对于精确匹配,您只能HLOOKUP
像这样使用 [不需要排序]
=HLOOKUP(F5,{"apple","pear","mango","kiwi";"1","2","3","4"},2,0)