Thep Excel

List.FirstN – ดึงสมาชิก N ตัวแรกจาก List

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

=List.FirstN(list as list, countOrCondition as any) as any

By ThepExcel AI Agent
3 December 2025

Function Metrics


Popularity
6/10

Difficulty
3/10

Usefulness
6/10

Syntax & Arguments

=List.FirstN(list as list, countOrCondition as any) as any

Argument Type Required Default Description
list list Yes List ที่ต้องการดึงสมาชิก
countOrCondition number | function Yes จำนวนสมาชิกที่ต้องการดึง (number) หรือฟังก์ชันเงื่อนไขแบบ each (เช่น each _ > 5)

How it works

เลือก 5 อันดับแรก

เลือกรายการสินค้า 5 อันดับแรกที่มีมูลค่าสูงสุด (ใช้ List.Sort ก่อน)

ตัดหัวตารางที่ไม่ต้องการ

ถ้าข้อมูลมีบรรทัดที่ไม่ใช่หัวตาราง สามารถใช้ List.Skip หรือ List.FirstN มาช่วย

แสดงตัวอย่างข้อมูล

ดึงข้อมูลเพียงไม่กี่รายการแรกมาแสดงเพื่อตรวจสอบความถูกต้องเบื้องต้น

Examples

ดึง N ตัวแรกด้วยตัวเลข
let Numbers = {1, 2, 3, 4, 5}, FirstTwo = List.FirstN(Numbers, 2) in FirstTwo
ดึง 2 สมาชิกแรกจาก {1, 2, 3, 4, 5}
Power Query Formula:

let
    Numbers = {1, 2, 3, 4, 5},
    FirstTwo = List.FirstN(Numbers, 2)
in
    FirstTwo

Result:

{1, 2}

ดึงสมาชิกตามเงื่อนไข (each)
let Numbers = {10, 20, 5, 30}, FirstGreaterThan5 = List.FirstN(Numbers, each _ > 5) in FirstGreaterThan5
ดึงสมาชิกจากหน้าตราบใดที่ยังมากกว่า 5 หยุดตอนเจอ 5
Power Query Formula:

let
    Numbers = {10, 20, 5, 30},
    FirstGreaterThan5 = List.FirstN(Numbers, each _ > 5)
in
    FirstGreaterThan5

Result:

{10, 20}

ดึงหัวข้อจากข้อมูลที่เป็น Text
let TextLines = {"Header: Product", "Header: Price", "Data: Apple", "Data: 100"}, Headers = List.FirstN(TextLines, each Text.StartsWith(_, "Header")) in Headers
ดึงบรรทัดทั้งหมดที่ขึ้นต้นด้วย 'Header' จนกว่าจะเจอ 'Data'
Power Query Formula:

let
    TextLines = {"Header: Product", "Header: Price", "Data: Apple", "Data: 100"},
    Headers = List.FirstN(TextLines, each Text.StartsWith(_, "Header"))
in
    Headers

Result:

{"Header: Product", "Header: Price"}

FAQs

List.FirstN กับ List.First ต่างกันอย่างไร?

List.First ดึงแค่สมาชิก 1 ตัวแรก (คืนค่าเดี่ยว) ส่วน List.FirstN ดึง N ตัวแรก (คืนค่า List)

ถ้าระบุ N มากกว่าจำนวนสมาชิกใน List จะเกิดอะไร?

มันจะคืน List ทั้งหมด ไม่มี error ถ้า List มี 3 ตัว แล้วขอ 10 ตัว มันจะคืน 3 ตัวทั้งหมด

แบบเงื่อนไขหยุดเร็วกว่าแบบนับจำนวนไหม?

ใช่ แบบเงื่อนไขหยุดทีแรกที่เจอค่าไม่ตรง ส่วนแบบนับต้องนับครบ N ตัว

ทำไมไม่ใช้ List.Select แล้วอย่างไร?

List.Select ดึงทั้ง List ที่ตรงเงื่อนไข ส่วน List.FirstN หยุดตรงแรกที่ไม่ตรง ประหยัด performance

Resources & Related

Additional Notes

List.FirstN ใช้สำหรับดึงสมาชิกตัวแรกจากลิสต์ในสองโหมดการทำงาน: แบบนับจำนวน (ระบุตัวเลข) หรือแบบเงื่อนไข (ใช้ each)

ส่วนตัวผมใช้ List.FirstN บ่อยๆ ตอนต้องการตัวอย่างข้อมูล หรือตัดหัวตารางออก เพราะมันดึงแค่ตัวแรกที่ตรงเงื่อนไขเท่านั้น ไม่ได้ดึงทั้ง List ทำให้ประหยัด performance ได้นะ 😎

อันที่เจ๋งคือ ถ้าใช้เงื่อนไข มันจะหยุดตรงที่เจอค่าไม่ตรง เลยไม่ต้องประมวลผลทั้ง List

Leave a Reply

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