Excel中if只能套7层,求代替if的办法

如图,一个客户对应多个编号,现在想用excel实现自动识别并对应编号列出客户,用了if函数,结果因为客户对应的编号号区间太散,套的层数太多,现在想不出用什么函数解决,求解决思路。。
PS:例子中只列出三个区间,其实还有很多个区间的。。

亲,不知道是否在一个连续的区间段来划分客户类别。

如果是连续的,则可以如下解决:

在B2粘贴这个公式,下拉:

=LOOKUP(A1,{"0000","1127","1130"},{"","A客户","B客户"})

 

追问

感谢!!
不过区间不连续的话怎么做呢?客户编号有点跳跃,像我第一张图中,C客户就是跳到另一个区间。。

追答

亲,那有两个办法。

方法一:

需要你自己对区间段排升序,在公式中的第一个花括号中列出分隔点;对于“跳跃的空区间”也要设置分隔点,并在第二个花括号中对应填写""空值。

=LOOKUP(A1,{"0000","1127","1130","1140","2891"},{"","B客户","A客户","","C客户"})

 

方法二:

如下图黄色区域。现在D~E列将条件都罗列出来,然后C1的公式为:

=LOOKUP(1,0/((A1>=D:D)*(A1<=E:E)),F:F)

下拉

 

追问

谢谢亲的解答,关于方法一,我有点不明,分隔的是取区间末尾的数值吗?“跳跃的空区间”的分隔点取哪个数值为好?

不好意思,还得再麻烦你一下。。

追答

掌握一个原则:

大于等于第1个,小于第2个,取后面括号的第1个值;

大于等于第2个,小于第3个,取后面括号的第2个值;

……

 

举例如下:

=LOOKUP(A1,{"0","1","9","12"},{"","A客户","","B客户"})

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-08
对于excel我不太清楚。但其他语言的编程中,如果类似这种情况,用if来实现并不理想,一般是用select case的方式来做比较好,仅供参考。你看看excel中有没有select case或类似的功能。追问

查了一下好像vlookup函数有类似的功能。。不过我想在一个表中实现这个过程。。

追答

excel我不熟,看看其他高手的解答吧。

追问

谢谢!