如何在 Excel 中快速將多列數據合併到一列(例圖見問題補充)?
圖一就是讓多列數據排在一列,求大神分析下我想學
可以用OFFSET,但是有個奇懶無比的方法:選中行,轉置粘貼,然後再選中,丟到一個文本編輯器裡面替換掉所有製表符(比如 Word 中替換所有^t為^p),然後再複製到 Excel 裡面就 OK 了……
公式,VBA,替換製表符都有缺陷。
公式效率不夠高,VBA太麻煩,替換製表符會破壞含有換行符的單元格。正解如下:
1.另存為*.csv格式。2.用文本編輯器將*.csv中的逗號替換為回車,保存。3.重新打開*.csv。擁有完美的兼容性和實用性,不會破壞含有換行符的單元格,而且效率夠高。少年,我推薦用VBA 像你這個整齊的格式其實有好多方法 百度一下就有好多。但是很多都不適用於非整齊的(每列長度可能不一樣)所以我就直接告訴你個萬能的。無論什麼格式。 ALT+F11
然後雙擊當前的sheet 在彈出的sheet code 里輸入如下代碼 運行即可。
Sub 多列合併()n = 0For j = 2 To 200 If Cells(1, j) = "" And Cells(1, j + 1) = "" Then Exit For For i = 1 To 100 If Cells(i, j) = "" Then Exit For n = n + 1 Cells(n, 1) = Cells(i, j) Next iNext j
End Sub應該看的懂吧。看不懂再提問唄~只用excel的方法:如果數據區域是A1:D20,你在A21格子里輸入=B1,把這個公式橫向拉到C21格,然後選定A21:C21,往下拉到80行,這時候第一列里就會有所有的數據了。
如果每一列的數據行數不一樣那也無所謂,篩選一下把0值去掉就可以。一般的數據用word里替換^p的方法其實最簡單,但是如果格子里的數據本身就有換行符,粘貼回來的時候就亂了。將數據導入到Matlab,比如命名這個矩陣為a,b=reshape(a, [], 1),再導出到excel里。
不需要各種函數,和VBA。其實只要等於號就可以搞定啦。
-1- 多列數據整理為1列數據
如圖所示,需要把A,B,C列的數據整理到A列中。你會如何做呢?
分析:很多朋友會用VBA,或是函數。那麼有沒有超級簡單好用的方法呢?
妙招如下:
在A5單元格中輸入「=B1」,直接拖拽,即可完成數據整理到A列中。超級簡單,方便!
-02- 1列數據轉換為多列
如圖所示,一列數據共12個,需要分為3列數據。方別放到A,B,C列中。
分析:大神們是考慮使用VBA嗎?還是有什麼其他方法?
妙招如下:
由於數據分為3列, 12/3=4, 因此B1單元格中輸入"=A5"。直接拖拽即可完成,刪去不需要的數據即可。
這種方法你用過嗎?是不是簡單實用?歡迎評論交流哈!
歡迎關注我的微信公號:雷哥office
最近自己遇到類似的問題,剛好學習寫了一個VBA,大家可以參考下。
因為利用了EXCEL組合鍵ctrl+shift+下箭頭的操作,所以遇到列中有空值的話就不行了。。
———————————————————————————————————————————
Sub 合併為一列()
Cells(1, 1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Cells(1, 11).Select
ActiveSheet.Paste
上面部分是先複製A列的所有值到K列(K列就是第十一列)
For x = 2 To 9 循環複製粘貼第二列到第九列
Cells(1, x).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Cells(1, 11).Select
Selection.End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
Next
利用循環完成第二列到第九列的複製粘貼。這裡利用了EXCEL組合鍵ctrl+shift+下箭頭的操作,這也是第一列的數據需要單獨複製粘貼,不能用循環操作的原因
End Sub
VBA里用2個loop,怕溢出就加if
用這個函數:CONCATENATE
推薦閱讀:
※求職大神,EXCEL問題,如何在一組數據中隨機選擇?
※為什麼vlookup第一次匹配錯誤第二次重新輸入公式就好了?這種情況是怎麼回事啊?
※如何在excel中實現單格內多數據分解到單格單數據?