สารบัญ
บ่อยครั้ง ผู้ใช้จำเป็นต้องแปลงหลายคอลัมน์เป็นแถว ดังนั้น 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 ก็ทำหน้าที่ได้ดีเช่นกัน หวังว่าวิธีการที่กล่าวถึงข้างต้นเหล่านี้จะช่วยอธิบายความเข้าใจของคุณเกี่ยวกับการย้ายตำแหน่ง แสดงความคิดเห็นหากคุณมีคำถามเพิ่มเติมหรือมีมีอะไรเพิ่ม