หากคุณกำลังมองหาวิธีที่ง่ายที่สุดและมีประสิทธิภาพที่สุดในการเปลี่ยนแถวที่ซ้ำกันเป็นคอลัมน์ใน Excel แสดงว่าคุณมาถูกที่แล้ว มาดูที่บทความหลักเพื่อทราบรายละเอียดของขั้นตอนเพื่อย้ายแถวที่ซ้ำกันอย่างรวดเร็ว
ดาวน์โหลดสมุดงาน
4 วิธีในการเปลี่ยนแถวที่ซ้ำกันเป็นคอลัมน์ใน Excel
ที่นี่ เรามีชุดข้อมูลต่อไปนี้ซึ่งมีบันทึกการขายของผลิตภัณฑ์ต่างๆ และสังเกตว่าเรามีแถวที่ซ้ำกันด้วย เราจะพยายามแปลงแถวที่ซ้ำกันเป็นคอลัมน์โดยใช้วิธีการต่อไปนี้อย่างง่ายดาย
เราใช้ Microsoft Excel 365 เวอร์ชันที่นี่ คุณสามารถใช้เวอร์ชันอื่นได้ตามสะดวก
วิธีที่-1 :การใช้การจัดรูปแบบตามเงื่อนไขเพื่อย้ายแถวที่ซ้ำกันเป็นคอลัมน์
ที่นี่ เราจะใช้การจัดรูปแบบตามเงื่อนไข เพื่อเน้นแถวที่ซ้ำกัน ดังนั้นเราจะสามารถสลับแถวที่ซ้ำกันได้อย่างง่ายดายหลังจากนั้นใน คอลัมน์1 และ คอลัมน์2 คอลัมน์
ขั้นตอน :
➤ เลือกช่วงข้อมูลแล้วไปที่ หน้าแรก แท็บ>> สไตล์ กลุ่ม>> การจัดรูปแบบตามเงื่อนไข เมนูแบบเลื่อนลง>> ไฮไลต์กฎเซลล์ ตัวเลือก>> ค่าที่ซ้ำกัน ตัวเลือก
หลังจากนั้น ค่าที่ซ้ำกัน กล่องโต้ตอบจะปรากฏขึ้น
➤ เลือก ซ้ำ และ เติมสีแดงอ่อนพร้อมข้อความสีแดงเข้ม ตัวเลือกใน จัดรูปแบบเซลล์ที่มี กล่อง.
➤ กด ตกลง .
จากนั้น แถวที่ซ้ำกันของผลิตภัณฑ์ วอลนัท และ Apple จะถูกเน้นเพื่อให้เราสามารถแปลงแถวแรกของแต่ละที่ซ้ำกันเป็นคอลัมน์ได้อย่างง่ายดาย
➤ เลือกแถวสำหรับผลิตภัณฑ์ วอลนัท และ Apple โดยกด CTRL ขณะเลือกและคัดลอกให้กด CTRL+C .
➤ วางแถวเป็นคอลัมน์ คลิกขวา บนเซลล์ปลายทางแล้วเลือก ย้าย ตัวเลือกจาก ตัวเลือกการวาง . ต่างๆ .
สุดท้าย คุณจะสามารถย้ายแถวที่ซ้ำกันเป็นคอลัมน์ได้
อ่านเพิ่มเติม: การเปลี่ยนเงื่อนไขใน Excel (2 ตัวอย่าง)
วิธีที่ 2 :การใช้ฟังก์ชัน COUNTIF
ในส่วนนี้ เราจะรวมชื่อพนักงานขายและมูลค่าการขายด้วย เครื่องหมาย โอเปอเรเตอร์ใน Extra1 จากนั้นเราจะนับจำนวนการทำซ้ำของแถวโดยใช้ฟังก์ชัน COUNTIF ใน Extra2 คอลัมน์. สุดท้าย เราจะแปลงแถวที่เกิดซ้ำเป็นคอลัมน์โดยใช้ Transpose ตัวเลือก
ขั้นตอน :
➤ พิมพ์สูตรต่อไปนี้ในเซลล์ D4 เพื่อรวมเซลล์ทั้งหมดของแต่ละแถว
=B4&C4
ที่นี่ B4 เป็นชื่อของ พนักงานขาย , C4 คือ ยอดขาย ค่า และ & จะเข้าร่วมกับพวกเขา
➤ กด ENTER แล้วลาก Fill Handle . ลงมา เครื่องมือ
จากนั้น คุณจะได้การรวมเซลล์ของแต่ละแถวใน Extra1 คอลัมน์
➤ การนับซ้ำของแถวของ Extra1 คอลัมน์เขียนสูตรต่อไปนี้ในเซลล์ E4 .
=COUNTIF($D$4:D4,D4)
ที่นี่ D4 เป็นเกณฑ์และ $D$4:D4 คือช่วงและช่วงนี้จะมาจากแถวเริ่มต้นจนถึงแถวที่ใช้สูตร เช่น สำหรับ แถวที่ 8 ช่วงจะเป็น $D$4:D8 .
➤ กด ENTER แล้วลาก Fill Handle . ลงมา เครื่องมือ
หลังจากนั้นเราจะมีจำนวนการทำซ้ำใน Extra2 คอลัมน์. ที่นี่ 2 สำหรับ ลาร่า และ ฮาวเวิร์ด หมายความว่าพวกเขาปรากฏสองครั้งพร้อมกับมูลค่าการขายในชุดข้อมูลนี้ ดังนั้นตอนนี้เราจะแปลงแถวเหล่านี้เป็นคอลัมน์
➤ เลือกแถวสำหรับ ลาร่า และ ฮาวเวิร์ด โดยกด CTRL ขณะเลือกและคัดลอกให้กด CTRL+C .
➤ วางแถวเป็นคอลัมน์ คลิกขวา บนเซลล์ปลายทางแล้วเลือก ย้าย ตัวเลือกจาก ตัวเลือกการวาง . ต่างๆ .
ในที่สุด เราจะสามารถย้ายแถวที่ซ้ำกันสำหรับ Lara และ ฮาวเวิร์ด เป็นคอลัมน์
อ่านเพิ่มเติม: วิธีย้ายแถวเป็นคอลัมน์ใน Excel (5 วิธีที่เป็นประโยชน์)
การอ่านที่คล้ายกัน
- วิธีการย้ายทุก n แถวเป็นคอลัมน์ใน Excel (2 วิธีง่ายๆ)
- Excel Power Query:สลับแถวเป็นคอลัมน์ (คำแนะนำทีละขั้นตอน)
- Excel VBA:สลับแถวหลายแถวในกลุ่มเป็นคอลัมน์
- ย้ายหลายคอลัมน์เป็นหนึ่งคอลัมน์ใน Excel (วิธีง่ายๆ 3 วิธี)
วิธีที่-3 :การใช้ฟังก์ชัน IF และ COUNTIFS ร่วมกัน
ในที่นี้ เราจะใช้ IF และ COUNTIFS ทำหน้าที่ตรวจสอบว่าแถวนั้นซ้ำกันหรือไม่ การทำเช่นนี้ทำให้เราระบุแถวที่ซ้ำกันและแปลงเป็นคอลัมน์ได้อย่างง่ายดาย
ขั้นตอน :
➤ พิมพ์สูตรต่อไปนี้ในเซลล์ E4 .
=IF(COUNTIFS($B$4:$B$13,$B4,$C$4:$C$13,$C4,$D$4:$D$13,$D4)>1, "Repeated Row", "")
ที่นี่ $B$4:$B$13 , $C$4:$C$13 และ $D$4:$D$13 คือช่วงแรก ช่วงที่สอง และช่วงที่สาม $B4 , $C4 และ $D4 เป็นเกณฑ์ที่หนึ่ง สอง และสาม
- COUNTIFS($B$4:$B$13,$B4,$C$4:$C$13,$C4,$D$4:$D$13,$D4) → ส่งกลับตัวเลขที่แสดงจำนวนการทำซ้ำของแถว
ผลลัพธ์ → 2
- COUNTIFS($B$4:$B$13,$B4,$C$4:$C$13,$C4,$D$4:$D$13,$D4)>1 กลายเป็น
2>1 → คืนค่า TRUE เพื่อปฏิบัติตามเงื่อนไข มิฉะนั้น FALSE .
ผลลัพธ์ → จริง
- IF(COUNTIFS($B$4:$B$13,$B4,$C$4:$C$13,$C4,$D$4:$D$13,$D4)>1, “แถวที่เกิดซ้ำ” , “”) กลายเป็น
IF(TRUE, “Repeated Row”, “”) → ส่งกลับสตริง “แถวซ้ำ” สำหรับ TRUE มิฉะนั้นจะว่างเปล่า
ผลลัพธ์ → แถวซ้ำ
➤ กด ENTER แล้วลาก Fill Handle . ลงมา เครื่องมือ
เป็นผลให้เราได้รับสตริงข้อความ แถวซ้ำ สำหรับแถวที่ซ้ำกัน
➤ เลือกแถวสำหรับผลิตภัณฑ์ วอลนัท และ Apple โดยกด CTRL ขณะเลือกและคัดลอกให้กด CTRL+C .
➤ วางแถวเป็นคอลัมน์ คลิกขวา บนเซลล์ปลายทางแล้วเลือก ย้าย ตัวเลือกจาก ตัวเลือกการวาง . ต่างๆ .
ในที่สุด เราก็ได้แถวที่ซ้ำกันที่สลับเปลี่ยนดังรูปต่อไปนี้
อ่านเพิ่มเติม: วิธีเปลี่ยนแถวเป็นคอลัมน์ตามเกณฑ์ใน Excel (2 วิธี)
วิธีที่-4 :การใช้โค้ด VBA เพื่อย้ายแถวที่ซ้ำกันเป็นคอลัมน์ใน Excel
ในส่วนนี้ เราจะใช้ VBA รหัสเพื่อย้ายแถวที่ซ้ำกันสำหรับผลิตภัณฑ์ วอลนัท และ Apple เป็นคอลัมน์
ขั้นตอน :
➤ ไปที่ นักพัฒนา แท็บ>> Visual Basic ตัวเลือก
จากนั้น ตัวแก้ไข Visual Basic จะเปิดขึ้น
➤ ไปที่ แทรก แท็บ>> โมดูล ตัวเลือก
หลังจากนั้น โมดูล จะถูกสร้างขึ้น
➤ เขียนโค้ดต่อไปนี้
Sub transform_same_rows()
Dim sht As Worksheet
Dim item, extra_column As Double
Dim storage_object As Object
Set storage_object = CreateObject("scripting.dictionary")
Set sht = Worksheets("VBA")
Total_column = 3
For increment = 4 To 13
item = Join(Application.Transpose(Application.Transpose( _
sht.Cells(increment, 2).Resize(1, Total_column))), "*")
If Not storage_object.exists(item) Then storage_object.Add item, New Collection
storage_object(item).Add sht.Cells(increment, Total_column + 1).Value
sht.Rows(increment).ClearContents
Next increment
increment = 4
For Each item In storage_object
sht.Cells(increment, 2).Resize(1, Total_column).Value = Split(item, "*")
extra_column = Total_column + 1
For Each str_value In storage_object(item)
sht.Cells(increment, extra_column) = str_value
extra_column = extra_column + 1
Next str_value
increment = increment + 1
Next item
For increment = 4 To 13
If sht.Cells(increment, 5).Value = sht.Cells(increment, 4).Value Then
sht.Range(Cells(increment, 2), Cells(increment, 4)).Copy
sht.Cells(increment, 6).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
SkipBlanks:=True, Transpose:=True
End If
Next increment
End Sub
ที่นี่เราได้ประกาศ sht เป็น แผ่นงาน , รายการ , คอลัมน์พิเศษ เป็น สองเท่า , storage_object เป็น วัตถุ แล้วตั้งค่า sht ไปยังแผ่นงาน VBA และกำหนด Total_column ถึง 3 .
storage_object ถูกตั้งค่าเป็น พจนานุกรม วัตถุที่จะช่วยให้เราเก็บของที่นี่
จากนั้น เราใช้ FOR loop สำหรับช่วงที่เพิ่มขึ้นจากแถว 4 ถึง 13 แล้วใช้ฟังก์ชัน TRANSPOSE สองครั้งแล้ว ฟังก์ชัน JOIN เราได้รวมเซลล์ทั้งหมดของแถวด้วยตัวคั่น * ไปยังตัวแปร รายการ . หลังจากนั้น เราได้เพิ่มรายการใน storage_object แล้วเราก็เคลียร์แถวทั้งหมด
จากนั้น แถวที่ไม่ซ้ำจะถูกป้อนลงในสามคอลัมน์โดยใช้ฟังก์ชัน SPLIT จากนั้นมูลค่าการขายสำหรับแถวที่ซ้ำกันจะถูกเพิ่มลงในคอลัมน์ที่อยู่ติดกันของ การขาย คอลัมน์.
จากนั้นใช้ คำสั่ง IF เราจะตรวจสอบมูลค่าการขายเป็นค่าของเซลล์ที่อยู่ติดกัน และเพื่อให้เป็นไปตามเงื่อนไข เราจะคัดลอกแถวที่เกี่ยวข้องนั้นและย้ายแถวนี้
➤ กด F5 .
จากนั้น เราจะสามารถล้างแถวที่ซ้ำกันออกจากชุดข้อมูลพร้อมกับย้ายแถวที่ซ้ำกัน
อ่านเพิ่มเติม: วิธีย้ายแถวเป็นคอลัมน์โดยใช้ Excel VBA (4 ตัวอย่างในอุดมคติ)
ภาคปฏิบัติ
สำหรับการทำแบบฝึกหัดด้วยตัวเองเราได้จัดเตรียมแบบฝึกหัด ส่วนด้านล่างในชีตชื่อ ฝึกปฏิบัติ . กรุณาทำด้วยตัวเอง
บทสรุป
ในบทความนี้ เราพยายามครอบคลุมวิธีการย้ายแถวที่ซ้ำกันเป็นคอลัมน์ใน Excel หวังว่าคุณจะพบว่ามีประโยชน์ หากคุณมีข้อเสนอแนะหรือคำถามใด ๆ โปรดแบ่งปันในส่วนความคิดเห็น
อ่านเพิ่มเติม
- วิธีการแปลงใน Excel (5 วิธีง่ายๆ)
- ย้ายหลายแถวในกลุ่มเป็นคอลัมน์ใน Excel
- วิธีการย้ายคอลัมน์เป็นแถวใน Excel (6 วิธี)
- แปลงคอลัมน์เป็นแถวใน Excel โดยใช้ Power Query
- วิธีการแปลงคอลัมน์เป็นแถวใน Excel ตามค่าของเซลล์
- VBA เพื่อสลับหลายคอลัมน์เป็นแถวใน Excel (2 วิธี)
- วิธีการแปลงคอลัมน์เป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคด้วยเครื่องหมายคำพูดเดี่ยว
- วิธีการเปลี่ยนใน Excel VBA (3 วิธี)