Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

หากคุณกำลังมองหาวิธีที่ง่ายที่สุดและมีประสิทธิภาพที่สุดในการ transpose (สลับ) แถวซ้ำเป็นคอลัมน์ใน Excel คุณมาถูกที่แล้ว มาดูรายละเอียดขั้นตอนการ transpose แถวซ้ำอย่างรวดเร็วกัน

ดาวน์โหลดสมุดงาน

4 วิธี Transpose แถวซ้ำเป็นคอลัมน์ใน Excel

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

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

เราใช้ Microsoft Excel 365 ในที่นี้ คุณสามารถใช้รุ่นอื่นได้ตามสะดวก

วิธีที่ 1: ใช้ Conditional Formatting Transpose แถวซ้ำเป็นคอลัมน์

ที่นี่จะใช้ Conditional Formatting ไฮไลท์แถวซ้ำ เพื่อให้ transpose แถวซ้ำได้ง่ายขึ้นในคอลัมน์ Column1 และ Column2

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

ขั้นตอน:
➤ เลือกช่วงข้อมูล ไปที่แท็บ Home >> กลุ่ม Styles >> ดรอปดาวน์ Conditional Formatting >> ตัวเลือก Highlight Cells Rules >> ตัวเลือก Duplicate Values

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

จะมีกล่องโต้ตอบ Duplicate Values ปรากฏ
➤ เลือก Duplicate และ Light Red Fill with Dark Red Text ในกล่อง Format cells that contain
➤ กด OK

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

แถวซ้ำของสินค้า Walnut และ Apple จะถูกไฮไลท์ สามารถแปลงแถวแรกของแต่ละคู่ซ้ำเป็นคอลัมน์ได้ง่าย

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ เลือกแถวของสินค้า Walnut และ Apple โดยกด CTRL ค้างขณะเลือก และกด CTRL+C เพื่อคัดลอก

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ เพื่อวางแถวเป็นคอลัมน์ Right-Click ที่เซลล์ปลายทาง แล้วเลือก Transpose จาก Paste Options ต่างๆ

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

สุดท้าย จะ transpose แถวซ้ำเป็นคอลัมน์ได้แล้ว

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

อ่านเพิ่มเติม: Conditional Transpose ใน Excel (2 ตัวอย่าง)

วิธีที่ 2: ใช้ฟังก์ชัน COUNTIF

ในส่วนนี้ จะรวมชื่อพนักงานขายและยอดขายด้วยตัวดำเนินการ Ampersand ในคอลัมน์ Extra1 จากนั้นนับจำนวนการซ้ำของแถวด้วยฟังก์ชัน COUNTIF ในคอลัมน์ Extra2 สุดท้ายแปลงแถวซ้ำเป็นคอลัมน์ด้วยตัวเลือก Transpose

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

ขั้นตอน:
➤ พิมพ์สูตรต่อไปนี้ในเซลล์ D4 เพื่อรวมเซลล์ทั้งหมดของแต่ละแถว

=B4&C4

โดย B4 คือชื่อ SalesPerson, C4 คือค่า Sales และ & จะรวมพวกเขาเข้าด้วยกัน

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ กด ENTER และลาก Fill Handle ลง

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

จะได้การรวมเซลล์แต่ละแถวในคอลัมน์ Extra1

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ เพื่อนับการซ้ำของแถวในคอลัมน์ Extra1 เขียนสูตรต่อไปนี้ในเซลล์ E4

=COUNTIF($D$4:D4,D4)

โดย D4 เป็นเกณฑ์ และ $D$4:D4 เป็นช่วง ช่วงนี้จะเริ่มจากแถวแรกถึงแถวที่สูตรถูกใช้ เช่น สำหรับ แถว 8 ช่วงจะเป็น $D$4:D8

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ กด ENTER และลาก Fill Handle ลง

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

จะได้จำนวนการซ้ำในคอลัมน์ Extra2 ที่นี่ 2 สำหรับ Lara และ Howard หมายความว่าพวกเขาปรากฏสองครั้งพร้อมยอดขายในชุดข้อมูลนี้ จึงจะแปลงแถวเหล่านี้เป็นคอลัมน์

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ เลือกแถวของ Lara และ Howard โดยกด CTRL ค้างขณะเลือก และกด CTRL+C คัดลอก

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ Right-Click ที่เซลล์ปลายทาง เลือก Transpose จาก Paste Options

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

สุดท้าย จะ transpose แถวซ้ำของ Lara และ Howard เป็นคอลัมน์ได้

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

อ่านเพิ่มเติม: วิธี Transpose แถวเป็นคอลัมน์ใน Excel (5 วิธีที่มีประโยชน์)

บทความคล้ายคลึง

  • วิธี Transpose ทุก n แถวเป็นคอลัมน์ใน Excel (2 วิธีง่าย)
  • Excel Power Query: Transpose แถวเป็นคอลัมน์ (คู่มือทีละขั้นตอน)
  • Excel VBA: Transpose หลายแถวในกลุ่มเป็นคอลัมน์
  • Transpose หลายคอลัมน์เป็นคอลัมน์เดียวใน Excel (3 วิธีที่สะดวก)

วิธีที่ 3: ใช้การผสมผสานฟังก์ชัน IF และ COUNTIFS

ที่นี่จะใช้ฟังก์ชัน IF และ COUNTIFS ตรวจจับว่าแถวซ้ำหรือไม่ ด้วยวิธีนี้สามารถระบุแถวซ้ำได้ง่าย และแปลงเป็นคอลัมน์

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

ขั้นตอน:
➤ พิมพ์สูตรต่อไปนี้ในเซลล์ 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 เป็นช่วงที่ 1, 2, 3 $B4, $C4, และ $D4 เป็นเกณฑ์ที่ 1, 2, 3

  • COUNTIFS($B$4:$B$13,$B4,$C$4:$C$13,$C4,$D$4:$D$13,$D4) → ส่งคืนตัวเลขแทนจำนวนการซ้ำของแถว
    Output → 2
  • COUNTIFS($B$4:$B$13,$B4,$C$4:$C$13,$C4,$D$4:$D$13,$D4)>1 กลายเป็น
    2>1 → ส่งคืน TRUE หากเงื่อนไขเป็นจริง มิฉะนั้น FALSE
    Output → TRUE
  • IF(COUNTIFS($B$4:$B$13,$B4,$C$4:$C$13,$C4,$D$4:$D$13,$D4)>1, “Repeated Row”, “”) กลายเป็น
    IF(TRUE, “Repeated Row”, “”) → ส่งคืนสตริง “Repeated Row” สำหรับ TRUE มิฉะนั้นเว้นว่าง
    Output → Repeated Row

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ กด ENTER และลาก Fill Handle ลง

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

ผลลัพธ์: ได้ข้อความ Repeated Row สำหรับแถวซ้ำ

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ เลือกแถวของสินค้า Walnut และ Apple โดยกด CTRL ค้างขณะเลือก และกด CTRL+C คัดลอก

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ Right-Click ที่เซลล์ปลายทาง เลือก Transpose จาก Paste Options

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

สุดท้าย ได้แถวซ้ำที่ transpose แล้ว ตามภาพ

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

อ่านเพิ่มเติม: วิธี Transpose แถวเป็นคอลัมน์ตามเกณฑ์ใน Excel (2 วิธี)

วิธีที่ 4: ใช้โค้ด VBA Transpose แถวซ้ำเป็นคอลัมน์ใน Excel

ในส่วนนี้ จะใช้โค้ด VBA transpose แถวซ้ำของสินค้า Walnut และ Apple เป็นคอลัมน์

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

ขั้นตอน:
➤ ไปที่แท็บ Developer >> ตัวเลือก Visual Basic

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

จะเปิด Visual Basic Editor
➤ ไปที่แท็บ Insert >> ตัวเลือก Module

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

จะสร้าง Module ขึ้นมา

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ เขียนโค้ดต่อไปนี้

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 เป็น Worksheet, item, extra_column เป็น Double, storage_object เป็น Object ตั้ง sht เป็นชีท VBA กำหนด Total_column เป็น 3
storage_object ตั้งเป็นอ็อบเจกต์ Dictionary ช่วยเก็บรายการ
ใช้ FOR loop สำหรับช่วง increment จากแถว 4 ถึง 13 ใช้ TRANSPOSE function สองครั้ง และ JOIN function รวมเซลล์ทั้งหมดของแถวด้วยตัวคั่น * ไปยังตัวแปร item เพิ่มรายการใน storage_object แล้วล้างแถวทั้งหมด
แถวที่ไม่ซ้ำจะถูกใส่ใน 3 คอลัมน์ โดยใช้ SPLIT function และค่ายอดขายของแถวซ้ำจะถูกเพิ่มในคอลัมน์ติดกับคอลัมน์ Sales
ใช้ IF statement ตรวจสอบค่ายอดขายกับค่าของเซลล์ติดกัน และหากเงื่อนไขเป็นจริง จะคัดลอกแถวที่ตรงกันและ transpose แถวนั้น

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

➤ กด F5
จะสามารถล้างแถวซ้ำจากชุดข้อมูล พร้อม transpose แถวซ้ำได้

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

อ่านเพิ่มเติม: วิธี Transpose แถวเป็นคอลัมน์ด้วย Excel VBA (4 ตัวอย่างที่เหมาะสม)

ส่วนฝึกปฏิบัติ

สำหรับการฝึกปฏิบัติด้วยตนเอง มีส่วน Practice ดังภาพในชีทชื่อ Practice โปรดลองทำเอง

แมสเตอร์ Excel: 4 วิธีพิสูจน์แล้วแปลงแถวซ้ำเป็นคอลัมน์

สรุป

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

อ่านเพิ่มเติม

  • วิธี Transpose ใน Excel (5 วิธีง่าย)
  • Transpose หลายแถวในกลุ่มเป็นคอลัมน์ใน Excel
  • วิธี Transpose คอลัมน์เป็นแถวใน Excel (6 วิธี)
  • แปลงคอลัมน์เป็นแถวใน Excel ด้วย Power Query
  • วิธีแปลงคอลัมน์เป็นแถวใน Excel ตามค่าเซลล์
  • VBA Transpose หลายคอลัมน์เป็นแถวใน Excel (2 วิธี)
  • วิธีแปลงคอลัมน์เป็นรายการคั่นจุลภาคพร้อมเครื่องหมายคำพูดเดี่ยว
  • วิธี Transpose ใน Excel VBA (3 วิธี)