我是想做一个IF函数公式。求各位高手帮帮忙,小女子感激不尽啊。。。

我是想做一个这样的公式:如果(E3=9,那D3+2),(E3=8,D3+1) (E3=7,那D3+2)(E3=6,那D3+3)(E3=5,那D3+1) E3=4,那D3+1)(E3=3,D3+2))(E3=2,那D3+1)(E3=1,D3+2)做到第8个就不行了,求各位高手帮帮忙,小女子感激不尽啊。。。
首先谢谢各位大侠的忙,没想到这么快就有回复了,高兴+感动,
还有一点要补充的:就是上面的E3单元格是我用公式RIGHT得出的提取个位数。下面传个图给各路高手参考:

图二是公式提取个位数的,E3单元格是公式求出来的,是不是不能用IF了呢?

公式如下:

=D3+IF(E3="","",LOOKUP(E3,{1,2,3,4,5,6,7,8,9},{2,1,2,1,1,3,2,1,2}))

你E3用函数RIGHT提出来的个位数为字符型的,相加的结果是0。如果要进行加减运算,请用以下公式:
=value(right(int(d3),1))
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-11
=choose(e3,2,1,2,1,1,3,2,1,2)+D3
第二个问题,你的E3=right(int(d3),1) 取出来是文本形式,不是数值。看见你下面追问nikki_qin 的,你用if的出来的结果是0,原因是文本不等于数值。比如同样是E3=9,文本9>数值9,所以if返回的是false。
你可以用--E3=9或 1*E3=9 或E3=“9” …… 或则你公式用e3=int(mod(d3,10)),choose函数无视这个问题
第2个回答  2014-06-10
=CHOOSE(E3,2,1,2,1,1,3,2,1,2)+D3

=IF(OR(E3={2,4,5,8}),1,IF(OR(E3={1,3,7,9}),2,3))+D3

=IF(E3="","",LOOKUP(E3,{1,2;2,1;3,2;4,1;5,1;6,3;7,2;8,1;9,2}))+D3

=IF(E3="","",LOOKUP(E3,{1,2,3,4,5,6,7,8,9},{2,1,2,1,1,3,2,1,2}))+D3

=IF(E3="","",VLOOKUP(E3,{1,2;2,1;3,2;4,1;5,1;6,3;7,2;8,1;9,2},2,))+D3追问

亲,我都试了,就第二个可以做出一些数据,但是有一点小问题,就是本来我要求出来的值个位数只能是奇数(1、3、5、7、9)可是,按照您的第二个公式,有些结果的个位数出现了双数,下面那几个公式就用不了,是不是因为我的E3单元格用了RIGHT公式提取个位数的公式的原因?给您看下图。

追答

如果是这样,公式应分别修改为
=CHOOSE(--E3,2,1,2,1,1,3,2,1,2)+D3

=IF(OR(--E3={2,4,5,8}),1,IF(OR(--E3={1,3,7,9}),2,3))+D3

=IF(E3="","",LOOKUP(--E3,{1,2;2,1;3,2;4,1;5,1;6,3;7,2;8,1;9,2}))+D3

=IF(E3="","",LOOKUP(--E3,{1,2,3,4,5,6,7,8,9},{2,1,2,1,1,3,2,1,2}))+D3

=IF(E3="","",VLOOKUP(--E3,{1,2;2,1;3,2;4,1;5,1;6,3;7,2;8,1;9,2},2,))+D3

第3个回答  2014-06-10
用"+"将条件合并
=IF(E3=9,D3+2,0)+IF(E3=8,D3+1,0)+IF(E3=7,D3+2,0)+IF(E3=6,D3+3,0)+IF(E3=5,D3+1,0)+IF(E3=4,D3+1,0)+IF(E3=3,D3+2,0)+IF(E3=2,D3+1,0)+IF(E3=1,D3+2,0)追问

亲,为什么我做出来结果全是0呢?是不是因为我的E3取个位数是用公式RIGHT做的,所以不能用IF呢?给你看一下。

追答

对的,RIGHT函数取值是文本值,E3公式修改为=VALUE(RIGHT(INT(D3),1))即可。

相似回答