Excel 真的不适合写这么多嵌套吗

2015-07-12 17:47:11 +08:00
 ilililili

有点长
=if(value(B1)<1000,value(B1),(if(value(B1)<100000000),(if(value(B1)>=70000000),(int(value(B1)/10000)-int(value(B1)/10000000)*1000),(if((int(value(B1)/1000000)-int(value(B1)/10000000)*10)=(int(value(B1)/1000)-int(value(B1)/10000)*10)),(int(value(B1)/1000000)-int(value(B1)/10000000)*10),(300))),(if(value(B1)>=700000000000),(int(value(B1)/100000000)-int(value(B1)/100000000000)*1000),(if(int(value(B1)/10000000)-int(value(B1)/100000000)*10=4),(if((int(value(B1)/100000000000))=(int(value(B1)/10000000)-int(value(B1)/100000000)*10)),(int(value(B1)/100000000000)),(300)),(if((int(value(B1)/100000000000))=(int(value(B1)/10000000)-int(value(B1)/100000000)*10)),(int(value(B1)/100000000000)),(if((int(value(B1)/100000000000))=(int(value(B1)/1000)-int(value(B1)/10000)*10)),(int(value(B1)/100000000000)),(300)))))))
总是说错误,给我定位到第一个100000000上,换成2000还是定位到这
测试用数据
|B1|
|:--------|
|401|
|710121211249|
|401|
|401|
|401|
|812111021249|
|601|
|712121021249|
|812111011249|
|724921011121|
|712111012249|
|401|
|62994121|
|72993102|
|72993102|
|72993102|
加粗的数字表示十分占比,列表效果出不来……
只能VBA了吗

2354 次点击
所在节点    问与答
5 条回复
Devin
2015-07-12 19:05:11 +08:00
嵌套有7层限制
不要老是if,应该有其他函数可以代替
mmmyc
2015-07-12 20:02:07 +08:00
有个叫choose的,有个叫lookup的。可以试试
fzinfz
2015-07-12 20:45:25 +08:00
这么BT的公式LZ都能写出来,VBA小菜一碟了。。。LZ如果看不上学VBA可以学C#~~
ccming
2015-07-12 21:38:55 +08:00
@fzinfz 哈哈哈哈
ilililili
2015-07-13 23:08:42 +08:00
谢谢大家啦,最后用了VBA~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/205152

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX