Thep Excel

List.Alternate – เลือกและข้ามสมาชิกใน List สลับกัน

เลือกและข้ามสมาชิกใน List สลับกัน

List.Alternate ใช้สร้าง List ใหม่โดยการสลับระหว่างการข้าม (Skip) และการเก็บ (Take) สมาชิกจาก List ต้นฉบับ สามารถกำหนดจำนวนที่จะข้าม จำนวนที่จะเก็บ และจุดเริ่มต้นได้

=List.Alternate(list as list, count as number, optional repeatInterval as nullable number, optional offset as nullable number) as list

By ThepExcel AI Agent
3 December 2025

Syntax & Arguments

=List.Alternate(list as list, count as number, optional repeatInterval as nullable number, optional offset as nullable number) as list

Argument Type Required Default Description
list list Yes List ต้นฉบับที่ต้องการประมวลผล
count number Yes จำนวนสมาชิกที่จะ ‘ข้าม’ (Skip) ในแต่ละรอบ
repeatInterval number Optional null จำนวนสมาชิกที่จะ ‘เก็บ’ (Keep) ในระหว่างช่วงที่ข้าม (ถ้าไม่ระบุ จะเก็บส่วนที่เหลือทั้งหมดหลังจากข้ามครั้งแรก)
offset number Optional 0 จำนวนสมาชิกที่จะข้ามก่อนเริ่มกระบวนการสลับ (Offset เริ่มต้น)

How it works

เลือกเฉพาะบรรทัดคู่หรือคี่

ใช้เลือกข้อมูลทุกๆ 2 บรรทัด เช่น เลือกเฉพาะบรรทัดที่ 1, 3, 5… หรือ 2, 4, 6…

การสุ่มตัวอย่างแบบเป็นระบบ

เลือกข้อมูลบางส่วนมาตรวจสอบ เช่น เก็บ 5 รายการ ข้าม 95 รายการ เพื่อสุ่มตรวจ 5% ของข้อมูลทั้งหมด

Examples

ตัวอย่างที่ 1: ข้ามตัวแรก (Skip 1, Keep Rest)

ข้ามสมาชิก 1 ตัวแรก (เลข 1) แล้วเก็บที่เหลือทั้งหมด
Power Query Formula:

=List.Alternate({1..10}, 1)

Result:

{2, 3, 4, 5, 6, 7, 8, 9, 10}

ตัวอย่างที่ 2: เลือกเลขคู่ (Skip 1, Keep 1)

เริ่มด้วยการข้าม 1 ตัว (เลข 1) เก็บ 1 ตัว (เลข 2) ข้าม 1 ตัว (เลข 3) เก็บ 1 ตัว (เลข 4) สลับไปเรื่อยๆ
Power Query Formula:

=List.Alternate({1..10}, 1, 1)

Result:

{2, 4, 6, 8, 10}

ตัวอย่างที่ 3: เลือกเลขคี่ (Offset 1, Skip 1, Keep 1)

กำหนด Offset เป็น 1 คือให้เริ่มข้ามที่ตำแหน่ง Index 1 (ตัวที่ 2) ดังนั้นตัวที่ 1 (เลข 1) จะถูกเก็บไว้ก่อน แล้วค่อยเริ่มกระบวนการ (ข้าม 2, เก็บ 3, ข้าม 4…)
Power Query Formula:

=List.Alternate({1..10}, 1, 1, 1)

Result:

{1, 3, 5, 7, 9}

ตัวอย่างที่ 4: รูปแบบซับซ้อน (Offset 1, Skip 1, Keep 2)

Offset 1: เก็บตัวแรก (1)
จากนั้นเริ่มวนลูป: ข้าม 1 (2), เก็บ 2 (3, 4)
ข้าม 1 (5), เก็บ 2 (6, 7)
ข้าม 1 (8), เก็บ 2 (9, 10)
Power Query Formula:

=List.Alternate({1..10}, 1, 2, 1)

Result:

{1, 3, 4, 6, 7, 9, 10}

FAQs

Offset เริ่มนับที่ 0 หรือ 1?

ใน Power Query Offset จะเป็นการนับจำนวนตัวที่ ‘ผ่านไป’ (Skip) ดังนั้น Offset 1 หมายถึงข้ามตัวแรกไป (เริ่มกระบวนการที่ตัวที่ 2)

ถ้าไม่ใส่ repeatInterval จะเกิดอะไรขึ้น?

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

Resources & Related

Additional Notes

ฟังก์ชัน List.Alternate ใน Power Query ใช้สำหรับสร้าง List ใหม่โดยการเลือกและข้ามสมาชิกจาก List ต้นฉบับสลับกันไปเรื่อยๆ ตามรูปแบบที่กำหนด เหมาะสำหรับการเลือกข้อมูลเป็นช่วงๆ เช่น เลือกทุกบรรทัดคู่ หรือเลือก 2 บรรทัด ข้าม 1 บรรทัด

Leave a Reply

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