
隔壁家的小屁孩 楼主
2016-01-12 11:59

核心步骤在于使用了自定义的数据有效性公式,下面我们看一下这个公式。
这个公式理解起来还是有一些困难的,我们详细剖析它。
countif(A$1:A1,A1)<2
上面的公式意义是:在A1:A1这个区域内,A1只能出现的次数要小于2.
注意:我们的区域是A$1:A1,大家有没有想过为什么要这样写?如果是A1:A1,或者A:A,又会怎么样?
所以理解这个问题,才能真正明白这个公式的意义。
上面的操作中,鼠标点击A3单元格,然后打开数据有效性,可以看到A3单元格的数据有效性公式是:countif(A$1:A3,A3)<2;
这样就给了我们一个启发,公式的参数如果不被锁定,会随着单元格的变化而自动变化。所以才有了$来锁定参数。
因为我们将A$1锁定,区域的开头就被锁定了。所以可以想象,A4单元格的数据有效性是countif(A$1:A4,A4)<2;
如果A4单元格的内容在前面出现过了,那么countif(A$1:A4,A4)肯定不会小于2了,因此弹出提示框。
如果区域是A1:A1,那么A4的有效性就是countif(A4:A4,A4)<2,这个是一定成立的;所有的单元格的公式也都是成立的,所以没法限定重复输入。
可以想象,A100的数据有效性是什么呢?
¥168.00
¥10.00
¥168.00
¥99.00
¥10.00
¥49.00