excel IF语句比较,数据合并...

来源:百度知道 编辑:UC知道 时间:2024/06/08 16:57:35
E1:123;F1:456;G1:789;H1:012;I1:314;J1:567;
A2:1;B2:2;C2:3;或者A2:5;B2:6;C2:7;
D2:=A2&B2&C2;
E2:=IF($D$2=E1,1,0);
F2:=IF($D$2=F1,1,0);
G2:=IF($D$2=G1,1,0);
...
...
...

数据有点多,谢谢耐心看完。
第一行E1开始,每个单元格为一个3位数;
第二行,A2,B2,C2为0~9一位数字;D2为合并A2&B2&C2;E2开始,判断
D2=E1,条件成立,E2为1,否则为0;
D2=F1,条件成立,F2为1,否则为0;
D2=G1,条件成立,G2为1,否则为0;
D2=H1,条件成立,H2为1,否则为0;
...
...
...
实际操作中,发现E2,F2,G2,H2...都为0,请问是什么问题啊,谢谢啊。
使用的是EXCEL2000。

D2=A2&B2&C2的结果是文本,而你E1是数字,所以D2就不=E1了.你要把D2的公式改为=VALUE(A2&B2&C2)就行了.

因主 & 叫文本连接符, 所以A2&B2&C2的结果肯定是文本, 而E1是数字。文本123 永远不会等于数字 123的, 这就是E2以后结果为0的原因.

解决办法: 改公式, E2的公式要改成: =IF(--$D$2=--E1,1,0),这样才会没事。

注:“--”叫减负运算,通过减负运算可将文本型数字转换成真正的数字,再进行比较就对了.

用楼上两位的方法,都无法解决A2="0"的情况,因为A2=0时,A2输入不输入都是一样的结果,也就是说“0”=“ ”,这是不符合逻辑的。根本原因就是他们都把“012”转化为“12”了。

最佳的方法就是将第一行的格式设置为文本就可以了(设置格式后,需要重新输入“123”、“456”......,输入后单元格左上角有个绿三角,就对了),根本不需要“VALUE”函数或减负运算!

这样你在A2、B2、C2分别输入0、1、2时,H2肯定等于“1”了。

如果你只在B2、C2分别输入1、2时,A2为空,那么H2却等于“0”了!

试试吧。