2012-08-09 28 views
0

考虑以下(部分)的Excel工作表:这个公式为什么不起作用?

| A | B  C  D 
-+---+------------------ 
1|id | comp1 comp2 comp3 
-+---+------------------ 
2| 1 | 1  0  0 
3| 1 | 1  0  0 
4| 2 | 0  1  0 
5| 3 | 0  0  1 
6| 1 | 1  0  0 
7| 3 | 0  0  1 

作为一个例子,如果填充在全零和一个在列BCD用手。我需要自动执行此操作,因为我的数据集很大,需要手动完成。我需要,例如对于单元格B2,检查A2的值与单元格B1中的公司id相似的公式。如果是,请设置一个1,否则为0。又如:排4.有公司id2细胞A4所以B4(COMP1)应0C41D40

我已经使用在单元格B2下述式中,准备好被拖动到所有其它单元:

=IF($A2=RIGHT(B$1;1);1;0) 

然而,它把一个0在B2。我不明白,因为A2的值为1,所以RIGHT(B1;1),所以IF(1=1;1;0),所以B2应该得到值1。但是我不会在哪里出错?

回答

5

因为right()返回一个字符串,并将一个字符串与一个数字进行比较。您需要将该字符串转换为数字,例如与价值(右(...))。

+0

太好了。奇迹般有效。 – Pr0no 2012-08-09 10:33:53