วิธีการแปลงหลายคอลัมน์เป็นแถวใน Excel

  • แบ่งปันสิ่งนี้
Hugh West

บ่อยครั้ง ผู้ใช้จำเป็นต้องแปลงหลายคอลัมน์เป็นแถว ดังนั้น Excel ย้ายหลายคอลัมน์เป็นแถวจึงเป็นการดำเนินการทั่วไปที่ผู้ใช้ทำ ฟีเจอร์ของ Excel , TRANSPOSE , INDIRECT และ INDEX ฟังก์ชัน Power Query และ VBA Macro สามารถแปลงคอลัมน์เป็นแถวได้

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

ในบทความนี้ เราจะสาธิตหลายวิธีใน Excel ในการย้ายหลายคอลัมน์เป็นแถวโดยใช้ คุณลักษณะของ Excel , ฟังก์ชัน , Power Query และ แมโคร VBA .

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

ย้ายคอลัมน์เป็น Rows.xlsm

6 วิธีง่ายๆ ในการสลับหลายคอลัมน์เป็นแถวใน Excel

วิธีที่ 1 : ย้ายหลายคอลัมน์เป็นแถวโดยใช้ตัวเลือกการวาง

Excel อนุญาตให้ผู้ใช้วางข้อมูลในหลายรูปแบบ เช่น ค่า , สูตร , เปลี่ยนตำแหน่ง , เฉพาะ รูปแบบ เป็นต้น เราสามารถใช้ เมนูบริบท ตัวเลือกการวางตำแหน่ง เพื่อแปลงคอลัมน์เป็นแถว

ขั้นตอนที่ 1: เน้นช่วงทั้งหมดที่คุณต้องการเปลี่ยน คลิกขวา ที่มัน เมนูบริบท จะปรากฏขึ้น จาก เมนูบริบท เลือก คัดลอก .

ขั้นตอนที่ 2: ตอนนี้ เลือกเซลล์ว่างใดก็ได้ ( เช่น G4 ) ติดกับช่วง จากนั้น คลิกขวา บนช่วงนั้น คลิกใน Transpose จาก Paste Options .

🔼 คุณยังสามารถเปิดหน้าต่าง Paste Special โดยใช้ แป้นพิมพ์ลัด CTRL+ALT+V หลังจากนั้น เลือก เปลี่ยนตำแหน่ง จากตัวเลือก วางแบบพิเศษ สุดท้าย คลิกที่ ตกลง .

🔼 การดำเนินการตัวเลือก Transpose จาก Context เมนู หรือ วางแบบพิเศษ นำไปสู่การแปลงคอลัมน์หลายคอลัมน์ที่เลือกเป็นแถวดังที่แสดงในภาพต่อไปนี้

อ่านเพิ่มเติม: วิธีสลับแถวและคอลัมน์ใน Excel (5 วิธี)

วิธีที่ 2: ย้ายคอลัมน์เป็นแถวโดยใช้ฟังก์ชัน TRANSPOSE

การ TRANSPOSE ฟังก์ชัน แปลงคอลัมน์เป็นแถวโดยตรงและในทางกลับกัน เราสามารถใช้ฟังก์ชัน TRANSPOSE ได้ไม่ว่าจะมีจำนวนคอลัมน์เท่าใดหรือช่วงนั้นมากเพียงใด ไวยากรณ์ของฟังก์ชัน TRANSPOSE คือ

TRANSPOSE (array)

ขั้นตอนที่ 1: ใช้สูตรด้านล่างใน เซลล์ที่อยู่ติดกัน (เช่น G4 ) เพื่อแปลงคอลัมน์เป็นแถว

=TRANSPOSE(B4:E12)

ที่นี่ B4:E12 คือ อาร์กิวเมนต์อาร์เรย์

ขั้นตอนที่ 2: กด ENTER สักครู่ คอลัมน์ทั้งหมดจะถูกแปลงเป็นแถว

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

=TRANSPOSE(IF(B4:E12="","",B4:E12))

อ่านเพิ่มเติม: วิธีเปลี่ยนคอลัมน์เป็นหลายแถวใน Excel (6 วิธี) <3

วิธีที่ 3: ฟังก์ชัน INDIRECT เพื่อแปลงคอลัมน์เป็นแถว

ในกรณีที่เราต้องการสร้างลิงก์หรือดึงข้อมูลจากช่วงที่มีอยู่ เราสามารถใช้ INDIRECT ฟังก์ชัน ฟังก์ชัน INDIRECT รวมกับฟังก์ชัน COLUMN อ้างถึงรายการจากช่วง ไวยากรณ์ของฟังก์ชัน INDIRECT คือ

INDIRECT (ref_text, [a1])

คำสั่งกำหนด

ref_text ; อ้างอิง (เป็นข้อความ).

a1 ; ตัวบ่งชี้บูลีนของการอ้างอิงเซลล์สไตล์ A1 หรือ R1C1 โดยค่าเริ่มต้น จะเป็น A1 style = TRUE [ไม่บังคับ]

ขั้นตอนที่ 1: พิมพ์สูตรหลังลงในเซลล์ว่างใดก็ได้ (เช่น G4 )

=INDIRECT("b"&COLUMN()-3)

ret_text (เช่น “b”&COLUMN()-3 ) มี 2 ส่วน ; ที่ 1 หนึ่งคือ COLUMN ฟังก์ชัน ที่ผ่าน หมายเลขคอลัมน์ และ ที่ 2 หนึ่งคือ คอลัมน์ ชื่อ . ref_text รวม 2 เหล่านี้แล้วสร้างการอ้างอิงเซลล์ 3 น้อยกว่าผลลัพธ์ของฟังก์ชัน COLUMN ผลลัพธ์ที่ได้จะเป็น B(7-3) = B4 ดังนั้น รายการเซลล์ B4 จึงแสดงใน G4

ขั้นตอนที่ 2: ทำซ้ำ ขั้นตอนที่ 1 แทนที่สูตรก่อนหน้าด้วยสูตรด้านล่างใน G5 , G6 และ G7 .

=INDIRECT("c"&COLUMN()-3)

=INDIRECT("d"&COLUMN()-3)

=INDIRECT("e"&COLUMN()-3)

สูตร 3 ทั้งหมดนี้ประกาศอาร์กิวเมนต์เดียวกันกับสูตรก่อนหน้า และดึงรายการของเซลล์ตามลำดับ (เช่น G5=C4 , G6=D4 และ G7=E4 )

ขั้นตอนที่ 3: ใช้ Fill Handle เพื่อนำสูตรไปใช้ทางด้านขวาของเซลล์ และรายการของเซลล์ที่เกี่ยวข้องทั้งหมดจะถูกย้ายตามที่ควรจะเป็น

อ่านเพิ่มเติม: Excel VBA: รับหมายเลขแถวและคอลัมน์จากที่อยู่เซลล์ (4 วิธี)

การอ่านที่คล้ายกัน

  • วิธีสลับแถวและคอลัมน์ในแผนภูมิ Excel (2 วิธี)
  • <23 เพิ่มหลายแถวและหลายคอลัมน์ใน Excel (ทุกวิธีที่เป็นไปได้)
  • วิธีข้ามทุกคอลัมน์อื่นๆ โดยใช้สูตร Excel (3 วิธี)
  • Excel VBA: กำหนดช่วงตามแถวและหมายเลขคอลัมน์ (3 ตัวอย่าง)
  • วิธีค้นหาหมายเลขคอลัมน์ตามค่าใน Excel

วิธีที่ 4: การใช้ฟังก์ชัน INDEX เพื่อย้ายคอลัมน์เป็นแถว

คล้ายกับ วิธีที่ 3 INDEX ฟังก์ชัน นำข้อมูลจากตำแหน่งที่กำหนด ไวยากรณ์ของฟังก์ชัน INDEX คือ

INDEX(อาร์เรย์, row_num, [col_num])

ขั้นตอนที่ 1: เขียนสูตรด้านล่างในเซลล์ว่าง G4 .

=INDEX($B$4:$E$14,COLUMN()-6,1)

ในสูตร $B$4:$E$14 หมายถึงอาร์กิวเมนต์ อาร์เรย์ ฟังก์ชัน COLUMN ส่งคืนค่าหมายเลขคอลัมน์ที่แทรกสูตร (เช่น G4 ) ดังนั้น COLUMN()-6 ผลลัพธ์ ( 7-6 ) 1 เป็น row_num สำหรับ อาร์เรย์ และ 1 เป็น col_num ภายใน อาร์เรย์ แล้ว

ขั้นตอนที่ 2: ทำซ้ำสูตรสำหรับ G5 , G6 และ G7 เพียงแค่เปลี่ยน col_num ตามที่แสดงในภาพด้านล่าง<3 =INDEX($B$4:$E$14,COLUMN()-6,2)

=INDEX($B$4:$E$14,COLUMN()-6,3)

=INDEX($B$4:$E$14,COLUMN()-6,4)

สูตรเหล่านี้ดึงรายการจาก อาร์เรย์ , แถว 1 และ คอลัมน์ 2 , 3 และ เดียวกัน 4 ตามลำดับ คุณจะเห็นว่าค่าผลลัพธ์แสดงถึงส่วนหัวของคอลัมน์ขณะที่สูตรดึงข้อมูลมา

ขั้นตอนที่ 3: ลาก Fill Handle เพื่อแทรกรายการตามคอลัมน์ในแนวนอน ดังนั้นการแปลงคอลัมน์เป็นแถว

อ่านเพิ่มเติม: วิธีหาหมายเลขดัชนีคอลัมน์ใน Excel (2 วิธี)

วิธีที่ 5: ย้ายหลายคอลัมน์เป็นแถวโดยใช้ Power Query

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

ขั้นตอนที่ 1: เลือกชุดข้อมูลทั้งหมด จากนั้นไปที่ ข้อมูล > คลิกที่ จากตาราง/ช่วง (จากส่วน รับและแปลงข้อมูล )

ขั้นตอน2: Excel มีแนวโน้มที่จะแปลงชุดข้อมูลทั้งหมดเป็น ตาราง เป็นผลให้กล่องโต้ตอบ สร้างตาราง ปรากฏขึ้น คลิกที่ ตกลง .

ขั้นตอนที่ 3: สักครู่ Excel จะโหลด ตัวแก้ไข Power Query ตามที่แสดงในภาพด้านล่าง

➧ เลือกส่วน แปลงร่าง

➧ คลิกที่ แปลงร่าง .

<31

ขั้นตอนที่ 4: หลังจากดำเนินการ Transpose คุณจะต้องโหลดข้อมูลที่ถ่ายโอน ย้ายไปที่ หน้าแรก > คลิกที่ ปิด & โหลด > เลือก ปิด & โหลด .

🔼 จะใช้เวลาสักครู่ในการโหลดข้อมูลที่เปลี่ยนลงในเวิร์กชีตใหม่ ในที่สุด Excel จะโหลดข้อมูลที่แปลงหลายคอลัมน์เป็นแถวตามที่คุณสังเกตได้จากภาพด้านล่าง

อ่านเพิ่มเติม: วิธีแปลงหลายแถวเป็นคอลัมน์ใน Excel (9 วิธี)

วิธีที่ 6: ย้ายหลายคอลัมน์เป็นแถวโดยใช้มาโคร VBA

VBA มาโคร มีประสิทธิภาพอย่างยิ่งในการแสวงหาผลลัพธ์ที่มุ่งเน้นผลลัพธ์ เราสามารถเขียนแมโครสองสามบรรทัดเพื่อสลับหลายคอลัมน์เป็นแถว

ขั้นตอนที่ 1: เมื่อต้องการแทรกแมโคร ในตอนแรก ให้เปิด Microsoft Visual Basic โดยใช้ ALT+F11 จากนั้น เลือก แทรก (จาก แถบเครื่องมือ ) > คลิกที่ โมดูล เพื่อแทรกโมดูล

ขั้นตอนที่ 2: วางมาโครต่อไปนี้ใน โมดูล .

8198

มาโครเริ่มต้นดำเนินการโดยใช้ช่วงที่จะย้ายและเซลล์เพื่อแทรกข้อมูลที่ย้ายโดยใช้ VBA InputBox ฟังก์ชัน จากนั้น วิธีวางแบบพิเศษ จะวางช่วงทั้งหมดเป็นข้อมูลที่มีการสลับตำแหน่งในเซลล์ที่กำหนด

ขั้นตอนที่ 3: ใช้ปุ่ม F5 เพื่อ เรียกใช้แมโคร Maco เริ่มต้น กล่องใส่ข้อมูล แรกเพื่อแทรกช่วง ระบุช่วงจากนั้นคลิกที่ ตกลง .

ขั้นตอนที่ 4: หลังจากนั้น Excel จะนำ 2nd Input Box เพื่อกำหนดเซลล์ ให้การอ้างอิงเซลล์ที่สะดวก จากนั้น คลิก บน ตกลง .

🔼 สุดท้าย Excel จะแปลงเซลล์ทั้งหมด ชุดข้อมูลเป็นคอลัมน์เป็นแถว

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

อ่านเพิ่มเติม: Excel Macro: แปลงหลายแถวเป็นคอลัมน์ (3 ตัวอย่าง)

บทสรุป

ในบทความนี้ เราสาธิตคุณลักษณะ ฟังก์ชันต่างๆ ตลอดจน VBA Macro ใน Excel เพื่อย้ายคอลัมน์หลายคอลัมน์เป็นแถว ฟังก์ชัน TRANSPOSE จะแปลงคอลัมน์เป็นแถวด้วยวิธีที่สะดวกที่สุด ฟังก์ชันอื่นๆ เช่น I NDIRECT หรือ INDEX ก็ทำหน้าที่ได้ดีเช่นกัน หวังว่าวิธีการที่กล่าวถึงข้างต้นเหล่านี้จะช่วยอธิบายความเข้าใจของคุณเกี่ยวกับการย้ายตำแหน่ง แสดงความคิดเห็นหากคุณมีคำถามเพิ่มเติมหรือมีมีอะไรเพิ่ม

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง