Thep Excel

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

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

fx
=List.Alternate(list, count, [repeatInterval], [offset]) as list

ความนิยม5/10
ความยาก4/10
ประโยชน์5/10

อัปเดต 3 December 2025

Syntax & Arguments

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

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

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

How it works

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

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

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

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

Examples

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

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

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

ผลลัพธ์{2, 3, 4, 5, 6, 7, 8, 9, 10}
ตัวอย่างที่ 2: เลือกเลขคู่ (Skip 1, Keep 1)List.Alternate({1..10}, 1, 1)

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

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

ผลลัพธ์{2, 4, 6, 8, 10}
ตัวอย่างที่ 3: เลือกเลขคี่ (Offset 1, Skip 1, Keep 1)List.Alternate({1..10}, 1, 1, 1)

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

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

ผลลัพธ์{1, 3, 5, 7, 9}
ตัวอย่างที่ 4: รูปแบบซับซ้อน (Offset 1, Skip 1, Keep 2)List.Alternate({1..10}, 1, 2, 1)

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

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

ผลลัพธ์{1, 3, 4, 6, 7, 9, 10}

FAQs

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

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

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

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

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ List.Alternate จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้List.AlternateList functions
List functions (5)
List.FirstN

List.FirstN จะคืน List ใหม่ที่มีสมาชิก N ตัวแรกจาก List ต้นฉบับ สามารถระบุจำนวน N ด้วยตัวเลข หรือกำหนดเป็นฟังก์ชันเงื่อนไขเพื่อให้ดึงสมาชิกที่ตรงเงื่อนไขจากจุดเริ่มต้นไปเรื่อยๆ จนกว่าเงื่อนไขจะไม่เป็นจริง

List.Range

List.Range ดึงช่วงของสมาชิกจาก List โดยระบุตำแหน่งเริ่มต้น (offset) และจำนวนสมาชิกที่ต้องการดึง ฟังก์ชันนี้มีประโยชน์เมื่อต้องการดึงข้อมูลชุดย่อยจากตำแหน่งใดๆ ในรายการ

List.Repeat

List.Repeat จะคืน List ใหม่ที่ประกอบด้วยสมาชิกทั้งหมดของ List ต้นฉบับที่ถูกทำซ้ำกัน 'count' ครั้ง โดยเรียงต่อกันไปตามลำดับเดิม

List.Select

List.Select จะรับ List และฟังก์ชันเงื่อนไข (selection as function) โดยจะประเมินฟังก์ชันเงื่อนไขกับสมาชิกแต่ละตัว หากฟังก์ชันคืนค่า true จะเก็บสมาชิกนั้นไว้ใน List ใหม่ หากคืนค่า false จะถูกคัดทิ้งไป

List.Skip

List.Skip ข้ามสมาชิกจำนวน N ตัวแรกจากรายการและคืนส่วนที่เหลือ ฟังก์ชันนี้มีประโยชน์เมื่อต้องการลบแถวหัวตารางที่ไม่ต้องการ หรือข้ามข้อมูลบางส่วนจากจุดเริ่มต้น

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่