excel中if函数中的条件怎么描述值为符号,然后再判断是否返回值?

S列以前全部是手工输入的数据,S列以后是显示结果的。
G-R列有时会有数据,当没有数据时输入“-”,有值时输入正数。
S列以后的计算是这样的:S对应G、M列,T对应H、N列,...,X对应L、R列。公式:S=(G-M)/$F,T=(H-N)$F...X=(L-R)/$F。
当G为谋值时,如0.01,M为“-”,则S=(G35-M35)/$F35,这里M当0处理(怎么当做0不知道函数里如何表达,现在只能显示出“#value!”);
当G为谋值时,如0.01,M为谋值时,如0.001,则S=(G35-M35)/$F35,这个简单,S显示具体数值;
当G为“-”时,M不论为“-”还是数值,则S均为“-”。
如上描述,请问这个在S里应该怎么输入这个if函数?

描述不够清楚:你意思是不是当G 31单元格为0时,S31单元格也0,否则S31单元格=(G31-M31)/F31,如果是那公式S31=IF(G1=0,0,(G31-M31)/F31)追问

不输入0,是0直接输入-

追答

S31=IF(G1=0,"-",(G31-M31)/F31),但"-"是文本,对后续计算可能带来麻烦,你可以用单元格格式设置成“-”

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-09
=if(G35="-","-",(G35-M35)/$F35)追问

谢谢,根据您写的,我又加了一步,不然M为“-”时,还是显示#value!。

=IF(G15="-","-",IF(M15="-",(G15-0)/$F15,(G15-M15)/$F15))
我一开始也这么写,但是提示IF里不能输入“-”,不知道哪里错了。
十分感谢!

追答

你的公式是对的吧?
可以写简单点
=if(G15="-","-",(G15-if(M15="-",0,M15))/$F15)

本回答被提问者采纳