ไปยังเนื้อหาหลัก

วิธีการเปลี่ยนข้อมูลจากคอลัมน์เป็นเซลล์เดียวใน Excel

เมื่อคุณต้องการเปลี่ยนรายการข้อมูลเป็นเซลล์เดียวในเวิร์กชีตโดยปกติคุณสามารถใช้ไฟล์ เชื่อมต่อกัน ฟังก์ชันเพื่อรวมรายชื่อเซลล์เป็นเซลล์เดียว แต่จะซับซ้อนหากมีข้อมูลจำนวนมากที่ต้องรวมเข้าด้วยกัน บทความนี้ฉันจะพูดถึงเคล็ดลับง่ายๆสำหรับคุณในการแก้ปัญหานี้ใน Excel

เปลี่ยนข้อมูลจากคอลัมน์เป็นเซลล์เดียวด้วย User Defined Function

ย้ายข้อมูลจากคอลัมน์เป็นเซลล์เดียวด้วย Kutools for Excel


ยกเว้นฟังก์ชัน Concatenate เพื่อรวมรายการค่าของเซลล์คุณสามารถใช้รหัส VBA ต่อไปนี้เพื่อให้ได้ผลลัพธ์โดยเร็วที่สุด

1. กด ALT + F11 และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: เปลี่ยนข้อมูลจากคอลัมน์เป็นเซลล์เดียว

Function transposeRange(Rg As Range)
'updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
        If Not IsEmpty(xCell.Value) Then
            xStr = xStr & xCell.Value & ","
        End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
End Function

3. จากนั้นบันทึกและปิดรหัสนี้กลับไปที่แผ่นงานและป้อนสูตรนี้: = ทรานสโพสเรนจ์ (A1: A10) ลงในเซลล์ว่างเพื่อใส่ผลลัพธ์แล้วกด เข้าสู่ คุณจะได้รับค่าเซลล์ทั้งหมดในคอลัมน์ที่อยู่ในเซลล์เดียวดูภาพหน้าจอ:

doc เปลี่ยนเซลล์เป็นเซลล์เดียว 1

หมายเหตุ: ในโค้ดด้านบน A1: A10 คือช่วงรายการที่คุณต้องการเปลี่ยนเป็นเซลล์เดียวและคุณยังสามารถแยกเนื้อหาที่ผสานกับตัวคั่นอื่น ๆ เช่นลูกน้ำ, เส้นประ, ช่องว่าง ฯลฯ โดยเพียงแค่เปลี่ยนลูกน้ำในสคริปต์ xStr = xStr & xCell.Value & ",".


ถ้าคุณมี Kutools สำหรับ Excelด้วยเครื่องมืออันทรงพลัง -รวมกันคุณสามารถรวมข้อมูลในคอลัมน์แถวหรือช่วงเป็นเซลล์เดียว

Kutools สำหรับ Excel : ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน.

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดดำเนินการดังนี้ :( ดาวน์โหลด Kutools for Excel ได้ฟรีทันที! )

1. เลือกคอลัมน์ข้อมูลที่คุณต้องการรวมเป็นเซลล์เดียว

2. คลิก Kutools > ผสานและแยกรวมแถวคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูลดูภาพหน้าจอ:

3. ในกล่องโต้ตอบที่โผล่ขึ้นมาให้เลือก รวมเป็นเซลล์เดียว ภายใต้ เพื่อรวมเซลล์ที่เลือกตามตัวเลือกต่อไปนี้จากนั้นระบุตัวคั่นเพื่อแยกเนื้อหาที่ผสานดูภาพหน้าจอ:

doc เปลี่ยนเซลล์เป็นเซลล์เดียว 3

4. จากนั้นคลิก Ok or ใช้ และคุณจะได้รับผลลัพธ์ต่อไปนี้ตามที่คุณต้องการ:

doc เปลี่ยนเซลล์เป็นเซลล์เดียว 4 2 doc เปลี่ยนเซลล์เป็นเซลล์เดียว 5

ดาวน์โหลดและทดลองใช้ Kutools for Excel ฟรีทันที!


Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (6)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Would anybody know how to add a conditional rule to this function? Basically I have an e-mail directory for multiple businesses. There is a column where I list either Yes or No in response to whether the E-mail is the business' main contact. I am hoping adjust the code so that only the main contacts are pulled and listed in one cell. Therefore, the condition would be that the Main Contact Column lists Yes. I have tried using if statements but I am fairly new to all of this. Any help would be much appreciated!
This comment was minimized by the moderator on the site
Hello friend,
Glad to help. Please read this article: https://www.extendoffice.com/documents/excel/2706-excel-vlookup-return-multiple-values-in-one-cell.html. I believe it can solve your problem. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
This has been ridiculously helpful to me a number of times. Thank you so much!
This comment was minimized by the moderator on the site
Hi,

Thanks a lot! I'm using your following function and it works very well. I would like to include an "if" function in the transposerange. What should I add to the function in VBA? Basically, it would work like a countif. So we would read the formula =transposerangeif(range,criteria).

Thanks in advance!

Function transposeRange(Rg As Range)
'updateby Extendoffice 20151207
Dim xCell As Range
Dim xStr As String
For Each xCell In Rg
If Not IsEmpty(xCell.Value) Then
xStr = xStr & xCell.Value & ","
End If
Next
transposeRange = Left(xStr, Len(xStr) - 1)
End Function
This comment was minimized by the moderator on the site
Hello,Sophie,
Could you give an example for your need, you can insert a screenshot here.
This comment was minimized by the moderator on the site
Thanks, this was very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations