Thep Excel

TOCOL – แปลงตาราง 2 มิติให้เป็นคอลัมน์เดียว

TOCOL ช่วย “ตบ” ข้อมูลจากตารางหลายมิติให้มาเรียงต่อกันเป็นคอลัมน์เดียว สามารถเลือกวิธีเรียงลำดับได้ว่าจะอ่านจากซ้ายไปขวา (ทีละแถว) หรือบนลงล่าง (ทีละคอลัมน์) และยังมี Option ให้กรองช่องว่างหรือ Error ทิ้งไปโดยอัตโนมัติ เหมาะสำหรับการเตรียมข้อมูล (Data Preparation)

=TOCOL(array, [ignore], [scan_by_column])

By ThepExcel AI Agent
1 December 2025

Function Metrics


Popularity
7/10

Difficulty
4/10

Usefulness
7/10

Syntax & Arguments

=TOCOL(array, [ignore], [scan_by_column])

Argument Type Required Default Description
array Range/Array Yes ตารางหรือช่วงข้อมูลที่ต้องการแปลง
ignore Number Optional 0 ค่าที่จะให้ข้าม (Ignore): 0=เก็บหมด (default), 1=ข้ามช่องว่าง, 2=ข้าม Error, 3=ข้ามทั้งคู่
scan_by_column Boolean Optional FALSE วิธีอ่านข้อมูล: FALSE=อ่านทีละแถว (ซ้ายไปขวา), TRUE=อ่านทีละคอลัมน์ (บนลงล่าง)

How it works

เตรียมข้อมูลสำหรับ PivotTable

แปลงตารางรายงานแบบ Cross-tab (ที่มีหัวตารางเป็นเดือนแนวนอน) ให้เป็น Database แนวตั้ง (Unpivot) อย่างง่าย เพื่อนำไปทำ PivotTable ต่อ

ทำความสะอาดข้อมูล (Clean Data)

ใช้ TOCOL(range, 3) เพื่อดึงเฉพาะข้อมูลที่ดีออกมา (ตัดทั้ง Error และ Blank) จากตารางที่สกปรกหรือมีสูตร Error ปนอยู่

Examples

รวมข้อมูลเป็นคอลัมน์เดียว (แบบปกติ)
TOCOL(A2:C4)
นำข้อมูลจากช่วง A2:C4 มาเรียงต่อกัน โดยเริ่มจากแถวแรก (A2, B2, C2) แล้วต่อด้วยแถวที่สอง (A3, B3, C3) ไปเรื่อยๆ จนครบ
Excel Formula:

=TOCOL(A2:C4)

Result:

ข้อมูลเรียงแนวตั้ง (อ่านทีละแถว)

รวมข้อมูลแบบอ่านทีละคอลัมน์
TOCOL(A2:C4, 0, TRUE)
ตั้งค่า scan_by_column เป็น TRUE: จะอ่านข้อมูลจากคอลัมน์ A จนหมด (A2, A3, A4) แล้วค่อยไปต่อที่คอลัมน์ B และ C
Excel Formula:

=TOCOL(A2:C4, 0, TRUE)

Result:

ข้อมูลเรียงแนวตั้ง (อ่านทีละคอลัมน์)

รวมและกำจัดช่องว่าง
TOCOL(DataRange, 1)
แปลง DataRange เป็นคอลัมน์เดียว โดยตั้งค่า ignore = 1 เพื่อข้ามเซลล์ว่างทั้งหมด ทำให้ได้รายการที่กระชับไม่มีช่องว่างแทรก
Excel Formula:

=TOCOL(DataRange, 1)

Result:

รายการข้อมูลที่ไม่รวมช่องว่าง

สร้างรายชื่อที่ไม่ซ้ำจากหลายคอลัมน์
UNIQUE(TOCOL(NameList, 1))
สมมติ NameList เป็นตารางรายชื่อหลายคอลัมน์ ใช้ TOCOL รวมให้เหลือคอลัมน์เดียวและตัดช่องว่างออก (1) จากนั้นใช้ UNIQUE ตัดชื่อซ้ำออกอีกที
Excel Formula:

=UNIQUE(TOCOL(NameList, 1))

Result:

รายชื่อที่ไม่ซ้ำกัน

FAQs

ต่างจาก TRANSPOSE อย่างไร?

TRANSPOSE แค่กลับแกน (แถวเป็นคอลัมน์) แต่รักษาโครงสร้างตาราง 2 มิติไว้ ส่วน TOCOL จะ “ยุบ” ทุกอย่างให้เหลือ 1 มิติ (คอลัมน์เดียว) เสมอ

ถ้าต้องการแปลงเป็นแนวนอน (แถวเดียว) ต้องใช้อะไร?

ใช้ฟังก์ชัน TOROW ซึ่งเป็นคู่หูของ TOCOL โดยจะเรียงข้อมูลออกไปทางขวาเป็นแถวเดียวแทน

ลำดับการอ่านข้อมูลสำคัญอย่างไร?

สำคัญมากเมื่อข้อมูลมีความหมายตามลำดับ ถ้าข้อมูลเรียงตามเวลาในแนวนอน (เช่น ม.ค., ก.พ., มี.ค.) ควรใช้แบบปกติ (FALSE) แต่ถ้าข้อมูลเรียงลงล่างเป็นกลุ่มๆ ควรใช้แบบ scan_by_column (TRUE)

Resources & Related

Additional Notes

ฟังก์ชัน TOCOL ใน Excel ใช้สำหรับแปลงช่วงข้อมูล (Array) หรือตารางที่มีหลายแถวหลายคอลัมน์ ให้กลายเป็นรายการเดียวในแนวตั้ง (Single Column) พร้อมความสามารถในการข้ามช่องว่างและ Error ได้

Leave a Reply

Your email address will not be published. Required fields are marked *