การเปลี่ยนรูปแบบชุดข้อมูล จากแนวตั้ง เป็นแนวนอน

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

วิธีที่ง่ายที่สุด คือ Copy และ Paste ทีละ Cell แต่ถ้ามีเยอะ ๆ ก็ไม่ไหวเหมือนกัน วิธีที่ดีที่สุด คือการใช้สูตรช่วย ทำให้ง่ายและเร็วขึ้น

สูตรที่จะใช้คือ index() เพื่อคัดลอกข้อมูลใน Cell ไปยังที่ใหม่  สูตรการใช้ index() คือ

index(array, row_num, [column_num])

array ในที่นี้ ก็คือ คอลัมน์ A ทั้งหมด เพราะข้อมูลอยู่ในคอลัมน์ A 
row_num ในกรณีนี้ ต้องใช้อ้างอิงจากตำแหน่งแถวแรกของข้อมูลแต่ละชุด
-ข้อมูลชุดชุดที่ 1 คือ เลขที่ 99 หมู่ที่ 8 เริ่มที่คอลัมน์ 2
-
ข้อมูลชุดชุดที่ 2 คือ เลขที่ 9 หมู่ที่ 6 เริ่มที่คอลัมน์ 7
-ข้อมูลชุดชุดที่ 3  คือ เลขที่ 30 หมู่ที่ 8 เริ่มที่คอลัมน์ 12
column_num ในกรณีนี้ เราไม่ต้องใช้

ดังนั้นถ้าจะใช้สูตรคัดลอกจากแนวตั้ง เป็นแนวนอน จะได้ดังนี้

D2 =index(A:A,2)
E2 =index(A:A,3)
F2 =index(A:A,4)
G2 =index(A:A,5)

เพื่อให้สามารถลากสูตร โดยใช้ Auto Fill ได้ จึงต้องกำหนดค่าตัวเลข โดยใน คอลัมน์ C กำหนดให้เป็นตัวเลขเริ่มต้นแถวของข้อมูลแต่ละชุด และ D1:G1 เป็นตัวเลขอ้างอิงจากตำแหน่งแรกของข้อมูลชุดนั้น ๆ ดังนั้น จะได้ตัวเลข 0-3 เพราะมี 4 แถวลงมา
สูตรในช่อง D2 มีดังนี้
=INDEX($A:$A,$C2+D$1)
จากสูตร จะเห็นว่า $C2+D$1 ได้เท่ากับ 2 ซึ่งเหมือนกับสูตรของเซลล์ D2 ในตารางข้างบน

จากนั้น จะสามารถลากปุ่ม Auto Fill ให้ครอบคลุมทั้งหมด จะได้ ดังนี้

ถ้าต้องการซ่อนตัวเลขหัวแถว และด้านบน ให้จัดรูปแบบเป็นชนิด กำหนดเอง และกำหนดรูปแบบเป็น ;;; จะซ่อนตัวเลขในเซลล์

จะได้เหมือนกับข้อมูลในตัวอย่างข้างบน




ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

อุปมา อุปไมย สำนวนการเปรียบเทียบ ของไทย

ความสามารถทั่วไปด้านเหตุผล การหาความสัมพันธ์จาก ภาพ สัญลักษณ์

แนวข้อสอบ เงื่อนไขสัญลักษณ์