案例22 隔两行进行编号(INT)

☉ 源文件:CDROM\02\2.10\案例22.xls

在工作表中产生编号,需要每隔两行递增1。

打开光盘中的数据文件,在单元格A1中输入以下公式:

=IF(MOD(ROW(),3)=1,INT(ROW(A3)/3),"")

按下【Enter】键后将产生编号1,然后向下填充公式,结果如图2-43所示。

图2-43 隔两行进行编号

公式说明

本例公式中的表达式“INT(ROW (A3)/3)”可以产生“{1;1;1;2;2;2;3; 3;3; 4;4;4}”这种每个自然数重复三次的序列。为了消除重复显示的编号,在公式中利用IF函数使行号除以3时余数不等于1的单元格填充空白。

案例提示

1.本例中关于INT函数参数使用单元格A3而不用单元格A1是为了在第一个单元格就产生序列的起始值1。如果不用ROW(A3),也可以在后面追加1来处理,公式如下:

=IF(MOD(ROW(),3)=1,INT(ROW()/3)+1,"")

2.对于填充空白,也可以利用“姓名”二字作为判断标准。如果与单元格A1的字符相同则编号,否则返回空文本。

=IF(B1=$B$1,INT(ROW(A3)/3),"")

3.针对本例中的数据,因其具有特殊性,也可以取巧。现用COUNTIF函数来完成,公式如下:

=IF(B1=$B$1,COUNTIF($B$1:B1,$B$1),"")

案例参考函数

MOD数学和三角函数,见第2章2.7节。

FLOOR数学和三角函数,见第2章2.11节。