Excel - คอลัมน์ต่อหนึ่งเซลล์


8

คุณสามารถย้ายคอลัมน์ข้อมูลไปยังเซลล์เดียวโดยใช้เครื่องหมายจุลภาคคั่นค่าที่อยู่ในคอลัมน์ได้หรือไม่ ชนิดของข้อความย้อนกลับไปยังคอลัมน์

เช่น,

1
2
3
4
5

ไป1,2,3,4,5ในเซลล์เดียว


คุณสามารถคัดลอกคอลัมน์ย้ายแล้วส่งออกเป็น CSV หรือไม่
kobaltz

คำตอบ:


7

การใช้ฟังก์ชั่นที่กำหนดโดยผู้ใช้จะมีความยืดหยุ่นมากกว่าการเข้ารหัสเซลล์แบบรายเซลล์

  • กด & พร้อมกันเพื่อไปที่ VBE
  • แทรกโมดูล
  • คัดลอกและวางรหัสด้านล่าง
  • กด & พร้อมกันเพื่อกลับไปที่ Excel

ใช้สูตรใหม่ของคุณเช่นเดียวกับในเซลล์สแน็ปช็อต D6
=ConCat(A1:A5)

คุณสามารถใช้สูตรที่ซับซ้อนมากขึ้นเช่นสูตรหนึ่งใน D7
=ConCat(A1:A5,A7:A24)
หรือ D8 ซึ่งเป็น 2D
=concat(A1:B5,A7:A24)

ตัวอย่าง

Function ConCat(ParamArray rng1()) As String
    Dim X
    Dim strOut As String
    Dim strDelim As String
    Dim rng As Range
    Dim lngRow As Long
    Dim lngCol As Long
    Dim lngCnt As Long
    strDelim = ", "
    For lngCnt = LBound(rng1) To UBound(rng1)
        If TypeOf rng1(lngCnt) Is Range Then
            If rng1(lngCnt).Cells.Count > 1 Then
                X = rng1(lngCnt).Value2
                For lngRow = 1 To UBound(X, 1)
                    For lngCol = 1 To UBound(X, 2)
                        strOut = strOut & (strDelim & X(lngRow, lngCol))
                    Next
                Next
            Else
                strOut = strOut & (strDelim & rng2.Value)
            End If
        End If
    Next
    ConCat = Right$(strOut, Len(strOut) - Len(strDelim))
End Function

4
  • ก่อนอื่นให้ทำ

    =concatenate(A1,",")
    

    ในคอลัมน์ถัดไปถัดจากคอลัมน์ที่คุณมีค่า

  • ประการที่สองคัดลอกคอลัมน์ทั้งหมดแล้วไปที่ชีตอื่นวางแบบพิเศษ -> สลับสับเปลี่ยน

  • ประการที่สามคัดลอกค่าที่คุณเพิ่งได้รับและเปิดเอกสารคำจากนั้นเลือกตัวเลือกการวาง -> เลือก "A"
  • สุดท้ายคัดลอกทุกอย่างในเอกสาร word กลับไปที่เซลล์ในแผ่นงาน excel คุณจะได้รับค่าทั้งหมดในเซลล์เดียว

2

คุณสามารถใช้concatenateฟังก์ชั่นและสลับกันระหว่างเซลล์และสตริง",":

=CONCATENATE(A1,",",A2,",",A3,",",A4,",",A5)

1

หากเป็นคอลัมน์ค่าที่ยาวมากคุณสามารถใช้ฟังก์ชัน CONCATENATE ได้ แต่การทำอย่างรวดเร็วนั้นค่อนข้างยุ่งยาก สมมติว่าเซลล์คือ A1: A10 ใน B9 และ B10 ให้ใส่สูตรเหล่านี้:

B9: = A9 & "," & B10

B10: = A10

ตอนนี้คัดลอก B9 และวางในเซลล์ทั้งหมดจนถึงด้านบนของคอลัมน์ B

ใน B1 ตอนนี้คุณจะได้ผลเต็ม คัดลอก> วางแบบพิเศษ> ค่า


1

คำตอบที่น่าอัศจรรย์ karthikeyan ฉันไม่ต้องการเสียเวลาใน VB อย่างใดอย่างหนึ่งหรือแม้กระทั่งที่จะหลบหนีจาก Ctrl + H นี่จะง่ายที่สุดและฉันกำลังทำสิ่งนี้อยู่

  1. แทรกแถวใหม่ที่ด้านบน (A)
  2. เหนือหมายเลข 1 (เช่นใน A1) ให้พิมพ์อักขระเท่ากับ (=)
  3. คัดลอก / วางเครื่องหมายจุลภาค (,) จาก B1 ถึง B23 (ไม่ใช่ใน 24 บาท)
  4. เลือก A1 ถึง B24 คัดลอก / วางในแผ่นจดบันทึก
  5. ใน Notepad กด (เลือกทั้งหมด) Ctrl + A กด (คัดลอก) Ctrl + C แล้วคลิกภายในเซลล์เดียวใน Excel (F2) จากนั้น (วาง) Ctrl + V

1

Notepad เป็นวิธีที่ง่ายที่สุดและเร็วที่สุด จาก Excel ฉันเพิ่มลงในคอลัมน์สำหรับเรียกใช้ตัวเลขในคอลัมน์ A ข้อมูลของฉันอยู่ในคอลัมน์ B จากนั้นคัดลอกคอลัมน์ A & B ไปยังแผ่นจดบันทึก ลบช่องว่างเพิ่มเติมโดยใช้ฟังก์ชั่นแทนที่ในแผ่นจดบันทึก คัดลอกจากแผ่นจดบันทึกและวางกลับไปยัง excel ในเซลล์เดียวฉันต้องการข้อมูลทุกอย่างเสร็จสิ้น ไม่จำเป็นต้องใช้ VB!


0

ทางออกที่ดีที่สุดและง่ายต่อการปฏิบัติตาม:

เลือกช่วงของคอลัมน์ที่คุณต้องการคัดลอกไปยังคอลัมน์เดียว

คัดลอกช่วงของเซลล์ (หลายคอลัมน์)

เปิด Notepad ++

วางช่วงของเซลล์ที่เลือก

กด Ctrl + H แทนที่ \ t โดย \ n และคลิกที่แทนที่ทั้งหมด

คอลัมน์ทั้งหมดจะอยู่ในคอลัมน์เดียว

ตอนนี้คัดลอกเหมือนกันและวางใน excel

ทางออกที่ง่ายและมีประสิทธิภาพสำหรับผู้ที่ไม่ต้องการเสียเวลาในการเขียนโค้ด VBA


1
ดูเหมือนว่าคุณจะอ่านแค่ชื่อ หากคุณอ่านคำถามทั้งหมดและดูคำตอบอื่น ๆ คุณจะเห็นว่าสิ่งนี้ไม่เกี่ยวข้องกับสิ่งที่ถูกถาม
fixer1234

0

วิธีที่ง่ายที่สุดในการรวมรายการค่าจากคอลัมน์ไปยังเซลล์เดียวที่ฉันพบว่าใช้สูตรการต่อข้อมูลแบบง่าย 1) แทรกคอลัมน์ใหม่ 2) แทรกสูตรเรียงต่อกันโดยใช้คอลัมน์ที่คุณต้องการรวมเป็นค่าแรกตัวคั่น (ช่องว่างเครื่องหมายจุลภาค ฯลฯ ) เป็นค่าที่สองและเซลล์ด้านล่างเซลล์ที่คุณวางสูตรไว้เป็นอันดับสาม ราคา. 3) ลากสูตรลงไปจนถึงจุดสิ้นสุดของข้อมูลในคอลัมน์ที่สนใจ 4) คัดลอกและวางค่าพิเศษในคอลัมน์ที่สร้างขึ้นใหม่เพื่อลบสูตรและ BOOM! ... ค่าทั้งหมดอยู่ในเซลล์ด้านบน

ตัวอย่างเช่นสูตรต่อไปนี้จะรวมค่าทั้งหมดที่ระบุไว้ในคอลัมน์ A ในเซลล์ C3 กับเซมิโคลอนแยกพวกเขา = CONCATENATE (A3, ";", C4)


วิธีนี้จะทำซ้ำโซลูชันอื่น ๆ แต่ก็ไม่ได้ทิ้งตัวคั่นพิเศษไว้ท้ายที่สุด คำตอบของ Jerry Beaucaire เมื่อ 6 ปีที่ผ่านมาเป็นแนวทางที่ใช้งานได้จริง
fixer1234

-1

นี่เป็นวิธีที่รวดเร็ว ... แทรกคอลัมน์ "," ถัดจากแต่ละค่าโดยใช้การเติม วางสูตร CONCATE ทุกที่ที่มีคอลัมน์ทั้งสองในช่วงที่ทำ ผลที่ได้คือเซลล์เดียวรายการที่ต่อกันด้วยเครื่องหมายจุลภาคและช่องว่างหลังจากแต่ละ


ฉันไม่เข้าใจสิ่งที่คุณกำลังพูด - และหากคุณแก้ไขสิ่งนี้ให้เข้าใจได้อาจเป็นไปได้ที่คำตอบเดียว (ไม่หลายข้อ) ที่ได้รับ
สกอตต์

@ James ฉันไม่สามารถรับคำแนะนำนี้ได้ ใน A1: A4 ฉันมี1 2 3 4 (หนึ่งค่าต่อแถว) ใน B1: B4 ", "ฉันมี ใน C5 ฉันมี=concatenate(A1:B4). ถ้ามันใช้งานได้จริงมันจะเจ๋ง แต่ก็ไม่ปรากฏ คุณนึกภาพอย่างอื่นหรือไม่?
อดัม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.