如何在excel表有空行的情况下,跳过空行按顺序排序号?

即要达到效果:
序号 姓名
1 XX
2 OO
3 XO
空格 。。。
空格 。。。
4 OXX
5 XX.
6 OXXX
7 XOX

在有姓名列的时候,如果让序号拖曳句柄时跳过空格排序?
我一开始用隐藏空行的方式,但是在拖曳以后隐藏行还是会编上序号,怎么才能解决这个问题呢?

可以使用COUNTA函数计算非空单元格个数来编号。

以下图为例:

A2输入公式:

=IF(B2="","",COUNTA(B$2:B2))

公式下拉复制,可以看到,序号会自动跳过姓名为空的单元格进行顺序编号。

知识扩展:

COUNTA 函数计算区域中不为空的单元格的个数。

语法
COUNTA(value1, [value2], ...)COUNTA 函数语法具有下列参数 :

value1  必需。表示要计数的值的第一个参数。
value2, ...  可选。表示要计数的值的其他参数,最多可包含 255 个参数。
注解
COUNTA 函数可对包含任何类型信息的单元格进行计数,这些信息包括错误值和空文本 ("")。例如,如果区域包含一个返回空字符串的公式,则 COUNTA 函数会将该值计算在内。COUNTA 函数不会对空单元格进行计数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-28

看图片噢。有不明白的可以发一个邮件给我,我把Excel档发给你。

追问

老师,能不能详细说明一下if函数后面表达式的意义,我以前学过一点编程,能教教我吗?谢谢

追答

B2=IF(A2="","",ROW(A2)-COUNTIF(A$1:A2,""))
单元格B2的iF解析:当A2等于空格时,则显示为空格,否则,则显示为Row(a2)-A2至A1的空格数
(Row(A2)计算得出行号,结果为:2

B3=IF(A3="","",ROW(A3)-COUNTIF(A$1:A3,""))
单元格B3的iF解析:当A3等于空格时,则显示为空格,否则,则显示为Row(a3)-A3至A1的空格数
(Row(A3)计算得出行号,结果为:3

追问

哦,老师,为什么我使用以上公式后会错位一行,就是第一行空行还是有数字,第二行就空行了?也就是说我的表格有两行空行,这要怎么修改语句呢?

本回答被提问者采纳
第2个回答  2011-06-28
A2输入
=IF(B2="","",COUNTA($B$2:B2))
下拉公式
相似回答