EXCEL显示公式太长 怎么办 IF公式

公式如下=IF(C29="1宽”,(E27+51)/1000,IF(C29=“2宽”,(E27+51)/1000*2,IF(C29=“1长”,(D27+51)/1000,IF(C29=“2长”,(D27+51)/1000*2,IF(C29=“1长1宽”,(D27+51+E27+51)/1000,IF(C29=“1长2宽”,(D27+51+(E27+51)*2)/1000,IF(C29=“2长1宽”,((D27+51)*2+E27+51)/1000,IF(C29=“封四边”,(D27+51+E27+51)/1000*2,0))))))))
要怎么精简 在线等 谢谢

1、EXCEL显示公式太长,表格中不显示数值。

2、如果是这样的情况,我们点击上方的公式。

3、看一下是不是我们因为勾选了显示公式这个功能。

4、如果是因为我们勾选了显示公式,这个功能我们取消显示公式。

5、然后回到表格中可以看到,单元格中显示的内容就正确了,而不是显示公式了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-02
excel规范中说:

公式内容的长度 1,024 个字符

如果你的公式没有超过1024个字符却得到公式太长的提示,通常是因为公式中遗漏或多输入括号、逗号等。

如果公式确实超过1024字符。可以用定义名称的方法将公式字符数减少。

例如:插入》名称》定义 x =offset(sheet1!$a$1,,,counta(sheet1!$a:$a),counta(sheet1!$1:$1))
定义好名称后,就可以将长公式中的offset()部分用x代替,大大减少了公式的长度。例如原公式是
=index(offset(....),row(),column())
定义好名称后就可以改为
=index(x,row(),column())
第2个回答  2013-11-11
IF函数不能超7层,故改用LOOKUP函数,其条件要升序排列:
=LOOKUP(C29,{"1长","1长1宽","1长2宽","1宽","2长","2长1宽","2宽","封四边";(D27+51)/1000,(D27+51+E27+51)/1000,(D27+51+(E27+51)*2)/1000,(E27+51)/1000,(D27+51)/1000*2,((D27+51)*2+E27+51)/1000,(E27+51)/1000*2,(D27+51+E27+51)/1000*2,0})追问

总显示公式错误是怎么回事

追答

=LOOKUP(C29,{"1长","1长1宽","1长2宽","1宽","2长","2长1宽","2宽","封四边";(D27+51)/1000,(D27+51+E27+51)/1000,(D27+51+(E27+51)*2)/1000,(E27+51)/1000,(D27+51)/1000*2,((D27+51)*2+E27+51)/1000,(E27+51)/1000*2,(D27+51+E27+51)/1000*2})

第3个回答  2013-11-11
光标定位到需要输入公式的单元格,按Ctrl+F3
输入名称:JS
引用位置:=evaluate(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C29,"封四边","2 长2宽"),"长","*(D27+51)+"),"宽","*(E27+51)+")&"0")

这样,直接输入:=JS,就可得结果
第4个回答  推荐于2017-10-07
试一下下面公式:
=IF(C29="","",CHOOSE(LOOKUP(C29,{"1长";"1长1宽";"1长2宽";"1宽";"2长";"2长1宽";"2宽";"封四边"},ROW($1:$8)),(D27+51)/1000,(D27+51+E27+51)/1000,(D27+51+(E27+51)*2)/1000,(E27+51)/1000,(D27+51)/1000*2,((D27+51)*2+E27+51)/1000,(E27+51)/1000*2,(D27+51+E27+51)/1000*2))
这个公式拓展性较好,注意lookup函数参数的升序排序本回答被提问者采纳
相似回答