Excel小技巧整理(持續更新)

合併某列中相同單元格


參考https://jingyan.baidu.com/article/9158e00006db70a25512286f.html

使用方法

  • 先給須要合併的列排序,這樣相同數據會排在一塊兒
  • 在excel中按Alt+F11打開VBA窗口
    • 一次性使用:直接插入新的模塊, 複製下文中的代碼,而後轉到excel主界面進行後續操做

    • 想要保存模塊並在接下來的excel文件中使用,能夠參考下圖將模塊導出成bas文件,以後在在新的excel中打開VBA界面,左側文件列表右鍵導入.bas文件

  • 切換回表格窗口,在「視圖」菜單下找到「宏」,選擇「查看宏」並執行該宏
  • 輸入須要合併的事第幾列,注意是數字而不是ABC
  • 肯定,完成

VBA代碼以下

 1 Sub 合併相同用單元格()
 2 Dim l%, i%
 3 Application.DisplayAlerts = False
 4 k% = InputBox("請輸入合併單元格所在列")
 5 l = [A65536].End(xlUp).Row
 6     For i = l To 2 Step -1
 7     If Cells(i, k) = Cells(i - 1, k)   Then
 8     Range(Cells(i - 1, k), Cells(i,   k)).Merge
 9     End If
10 Next
11 Application.DisplayAlerts = True
12 End Sub
View Code

 

單元格中提取數字


 https://baijiahao.baidu.com/s?id=1575378393296614&wfr=spider&for=pchtml

對於一個單元格中多位同窗信息而且夾雜中文、數字和符號的狀況,先提取全部數字,再相似於步驟4根據固定字符串長度來分割學號(數字),轉換爲步驟3的狀況處理ide

 

打開VBA方式也能夠是右鍵標籤頁-查看代碼函數

Function mygetnumber(cel As Range)

    With CreateObject("vbscript.regexp")
        .Pattern = "[^\d.-]+"
        .Global = True
        
        mygetnumber = .Replace(cel, " ")
        
    End With
    
End Function
View Code

 使用方法是在單元格中輸入函數名字,括號參數爲單元格,便可使用spa

 

對於一個單元格中多位同窗信息而且夾雜中文、數字和符號的狀況,先提取全部數字,再相似於步驟4根據固定字符串長度來分割學號(數字),轉換爲步驟3的狀況處理3d

不受篩選影響的填充序列方法


 

篩選前,在A2單元格輸入如下公式,而後向下填充公式excel

=SUBTOTAL(103,B$2:B2)

公式表示:對B$2:B2區域未被隱藏的實際顯示數據計數。其中的103就是個常數,不要更改code

這樣執行篩選後,不符合條件的行不參與序號編排。regexp

詳見附圖orm