以下是引用[I]lance1604[/I]在2006-4-2 16:23:29的发言:[BR]MATCH(,($B$6:$B$12="")+COUNTIF(J$9:J10,$B$6:$B$12),)中多了($B$6:$B$12="")取什么做用,不能理解,是不是多了空格的个数,还是什么?
在编辑栏里,用鼠标选取函数Countif():
COUNTIF(G$9:G10,$B$6:$B$12)
按 F9 键,这部分你看到的结果是:{1;0;0;0;0;0;0}, 这就是Countif()计算的结果,表示姓名数据源B6:B12的数据有1个在G9:G10中出现过。
你再选择 $B$6:$B$12="" 并按 F9 键 ,计算的结果是 {FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE},它转换为数值,就是{0;1;0;0;1;0;0}。表示B2:B6中第2和第5个是空单元格。
两个数组相加,结果是 {1;1;0;0;1;0;0} 。
Match()函数在这个数组里查找0,如果在第一步的结果中,它返回的结果是2,而在相加后的结果中,返回值是3,这样就跳过了空单元格B7。
强制不查找空单元格,这就是 $B$6:$B$12="" 的作用。 |