怎樣跳過已合併的單元格快速排列序號?

如圖,序號那列


謝謝邀請

我們編公式前一定要先觀察分析數據的規律,然後再有針對性的思考使用什麼函數。

公式思路:
通過觀察可以發現,如果前面行的單元格是數字就加1,如果是文本,就是再前面的單元格加1,但有一點是肯定的,都是在前面序號的最大值加1,所以可以用MAX函數來編序號。

A5公式:
=max($A$4:A4)+1
然後將此公式複製到其他需填序號的單元格。

要注意單元格的引用類型,起始單元格用絕對引用,結束單元格用相對引用。


分享一個不使用公式的方法,適用於錄入數據完成後再添加編號的情況

0. 數據表是這樣的

2. 在最左側插入一個新列,並填充數字序列

3. 由於Excel不能排序混有合併單元格的表,因此選擇數據區域,把合併單元格取消

4. 按下圖規則對數據區域排序

5. 用數字序列填充「序號」那一列的空白

6. 重新按「XH」排序

7. 刪除添加的輔助排序列,重新合併單元格(用格式刷工具很快)

完成。

基本思路就是
添加一個序號列來記住原來的排序;
用適合的規則重新排序,讓目標序列保持序列下沉,方便填充數字序號

添加輔助序列的方法可以處理很多特殊的排序,很有用。這個問題里有合併的單元格,是操作複雜了一點。


由於有跳過合併單元格需求,填充公式不方便,而且無法做到隨數據增加而自動適配,

所以用VBA解決:

Sub FillInNO()
Dim rng As Range, i As Integer, m As Integer
i = ActiveSheet.Range("B10000").End(3).Row
m = 0
For Each rng In Range(Range("A2"), "A" i)
If rng = "" And rng.Column + rng.Offset(0, 1).Column = 3 Then rng.Value = rng.Row - 1 - m
If rng.MergeCells Then m = m + 1
Next
Set rng = Nothing
End Sub

https://pan.baidu.com/s/1o8qGk4M


VBA吧!


第一步,批量取消所有合併單元格。
第二步,篩選「京廣高鐵」。
第三步,在篩選出來的京廣高鐵上輸入序列號,1,2,下拉到底,序號自成。
第四步,批量恢復所有合併單元格。


A4單元格裡面填寫
=count($c$1:c4)
然後把該單元格複製到所有需要編號的行。
公式含義為:計數c列第一個單元格到第4個單元格所有數字。


推薦閱讀:

請問,在Excel表格中如何將姓名和手機號碼分離?
excel如何隔行隔列複製公式?
有沒有人能通俗易懂地介紹一下excel所有公式的作用和使用方法?或者有此類的書籍可推薦一下。
excel表格怎麼計算已經填充顏色的表格?
excel保留一位小數時,如何設置當小數為0時不顯示0,而是顯示整數呢?

TAG:MicrosoftOffice | Office文檔 | Excel公式 | MicrosoftOffice使用技巧 | Excel使用 |