Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3939|回复: 13

[已解决]如何将多重if公式用if+数组来简化

[复制链接]
发表于 2016-8-4 09:43 | 显示全部楼层 |阅读模式
本帖最后由 billyzhang0609 于 2016-8-4 13:47 编辑

原始公式 IF(Z2="9-10",3,IF(Z2="7-8",2,IF(Z2="0-6",1,0)))

没有可能用数组表达:

IF(Z2={"9-10","7-8","0-6"},{3,2,1},0)

Z列为{"9-10","7-8","0-6"}三种可能,下拉公式后结果只有3或者0,应该怎么改?
最佳答案
2016-8-4 09:55
=IFERROR(LOOKUP(,0/(Z2={"9-10","7-8","0-6"}),{3,2,1}),"")
发表于 2016-8-4 09:52 | 显示全部楼层
三种可能满足一个就行吗?还是满足一个对应返回一个结果,不满足就返回0?如是,那是不能这样写的,按规矩来,一个一个嵌套...
回复

使用道具 举报

发表于 2016-8-4 09:55 | 显示全部楼层    本楼为最佳答案   
=IFERROR(LOOKUP(,0/(Z2={"9-10","7-8","0-6"}),{3,2,1}),"")
回复

使用道具 举报

发表于 2016-8-4 09:57 | 显示全部楼层

=IFERROR(MATCH(Z2,{"0-6","7-8","9-10"},),"")
回复

使用道具 举报

 楼主| 发表于 2016-8-4 09:58 | 显示全部楼层
望帝春心 发表于 2016-8-4 09:52
三种可能满足一个就行吗?还是满足一个对应返回一个结果,不满足就返回0?如是,那是不能这样写的,按规矩来 ...

就是和这个IF(Z2="9-10",3,IF(Z2="7-8",2,IF(Z2="0-6",1,0)))一样的,一一对应
回复

使用道具 举报

发表于 2016-8-4 10:09 | 显示全部楼层
billyzhang0609 发表于 2016-8-4 09:58
就是和这个IF(Z2="9-10",3,IF(Z2="7-8",2,IF(Z2="0-6",1,0)))一样的,一一对应

如果用IF就得这样按规矩来...
回复

使用道具 举报

发表于 2016-8-4 10:13 | 显示全部楼层
如果就这两三个判断,IF用着也不错,适合的就是最好的,而不是看上去最NB的公式就是最好的

评分

参与人数 1 +1 收起 理由
望帝春心 + 1 非常赞同!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-8-4 14:08 | 显示全部楼层
蝶·舞 发表于 2016-8-4 10:13
如果就这两三个判断,IF用着也不错,适合的就是最好的,而不是看上去最NB的公式就是最好的

谢谢各位,我只是发散了一下,想知道如果用数组表达会是怎么表达;

因为想到万一以后条件多了,用这个if办法似乎不是最好。
回复

使用道具 举报

发表于 2016-8-4 14:14 | 显示全部楼层
条件多了,用数组更不是一个明智之举,做辅助区域,用VLOOKUP
回复

使用道具 举报

发表于 2016-8-5 11:56 | 显示全部楼层
=max(IF(Z2={"9-10","7-8","0-6"},{3,2,1},0))不行吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 20:43 , Processed in 0.366974 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表