如何在 Excel 中快速將多列數據合併到一列(例圖見問題補充)?

圖一

就是讓多列數據排在一列,求大神分析下我想學


可以用OFFSET,但是有個奇懶無比的方法:

選中行,轉置粘貼,然後再選中,丟到一個文本編輯器裡面替換掉所有製表符(比如 Word 中替換所有^t為^p),然後再複製到 Excel 裡面就 OK 了……


公式,VBA,替換製表符都有缺陷。

公式效率不夠高,VBA太麻煩,替換製表符會破壞含有換行符的單元格。

正解如下:

1.另存為*.csv格式。

2.用文本編輯器將*.csv中的逗號替換為回車,保存。

3.重新打開*.csv。

擁有完美的兼容性和實用性,不會破壞含有換行符的單元格,而且效率夠高。


少年,我推薦用VBA

像你這個整齊的格式其實有好多方法 百度一下就有好多。但是很多都不適用於非整齊的(每列長度可能不一樣)所以我就直接告訴你個萬能的。無論什麼格式。

ALT+F11

然後雙擊當前的sheet 在彈出的sheet code 里輸入如下代碼 運行即可。

Sub 多列合併()

n = 0

For 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 i

Next 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中實現單格內多數據分解到單格單數據?

TAG:數據分析 | Excel公式 |