Thep Excel

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

List.First ใช้เพื่อดึงค่าสมาชิกตัวแรกจาก List หากเอา List ว่างเปล่า ให้ใช้ค่า Default ปกป้อง

fx
= List.First(list, [defaultValue]) as any

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
list list List ที่ต้องการดึงสมาชิกตัวแรก
[defaultValue]ไม่บังคับ any null ค่าที่จะคืนกลับมาหาก List ว่างเปล่า (ค่าเริ่มต้นคือ null)

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

Additional Notes

ฟังก์ชัน List.First ใช้สำหรับดึงสมาชิกตัวแรกของ List ออกมา หากไม่มีค่า Default ที่ระบุ List ว่าง ฟังก์ชันจะคืนค่าเป็น null

ที่เจ๋งคือ List.First ช่วยให้เราเขียน Code ที่ safety มากขึ้น โดยการระบุค่า Default ตั้งแต่ต้น ไม่ต้องลดส่วนหลัง Error ตัวตั้งแต่ต้น

ส่วนตัวผมใช้ List.First บ่อยเวลา Transform Data ที่อาจจะไม่มีค่า (Empty Result) คู่กับ List.Select หรือ List.Filter เพื่อปกป้อง Edge Case ต่างๆ ครับ

How it works

ดึงข้อมูลล่าสุด

หาก List เรียงลำดับจากใหม่ไปเก่า สามารถใช้ List.First เพื่อดึงข้อมูลล่าสุดออกมา

ป้องกัน Error จาก List ว่าง

ใช้ดึงค่าจาก List ที่อาจจะว่างเปล่าได้ โดยกำหนดค่า Default เพื่อป้องกันการเกิด Error หรือค่า null ที่ไม่ต้องการ

Examples

ตัวอย่างที่ 1: ดึงค่าตัวแรกจาก List ปกติList.First({1, 2, 3})

List มี 3 ตัว ฟังก์ชันคืนค่าสมาชิกตัวแรก

fx
= List.First({1, 2, 3})

ผลลัพธ์1
ตัวอย่างที่ 2: ดึงค่าจาก List ว่างเปล่า (ไม่มี Default)List.First({})

List ว่างและไม่ได้ระบุค่า defaultValue จึงคืนค่า null

fx
= List.First({})

ผลลัพธ์null
ตัวอย่างที่ 3: ดึงค่าจาก List ว่างเปล่า (มี Default)List.First({}, "ไม่มีข้อมูล")

List ว่างจึงคืนค่า Default ที่ระบุไว้

fx
= List.First({}, "ไม่มีข้อมูล")

ผลลัพธ์"ไม่มีข้อมูล"
ตัวอย่างที่ 4: ดึงค่าแรกจาก Filtered List (Real-world)let Source = {10, 20, 30, 40, 50}, Filtered = List.Select(Source, each _ > 25), FirstValue = List.First(Filtered, -1) in FirstValue

Filter List ให้เหลือแค่ค่า > 25 แล้วดึงค่าแรกออกมา ถ้า Filtered List ว่าง จะคืนค่า -1

fx
let
Source = {10, 20, 30, 40, 50},
Filtered = List.Select(Source, each _ > 25),
FirstValue = List.First(Filtered, -1)
in
FirstValue

ผลลัพธ์30

FAQs

List.First ต่างจาก List.FirstN อย่างไร?+

List.First คืนค่าสมาชิก 'ตัวเดียว' (single value) ในขณะที่ List.FirstN คืนค่าเป็น 'List' ของสมาชิก N ตัวแรก เช่น List.FirstN({1,2,3}, 1) คืนค่า {1} ไม่ใช่ 1

จะเกิดอะไรถ้า List มีสมาชิกแต่เป็นค่า null?+

ฟังก์ชันคืนค่า null นั้นออกมา ไม่ใช่ defaultValue (defaultValue ใช้เฉพาะกรณี List ว่างเท่านั้น)

ใช้ List.First กับ Table ได้ไหม?+

ไม่ได้โดยตรง ต้องแปลง Table เป็น List ก่อน โดยใช้ Table.ToList() หรือเข้าถึง Column เป็น List

Resources & Related

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

ฟังก์ชันนี้List.FirstList functions
List functions (7)
List.FirstN

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

List.IsEmpty

List.IsEmpty ตรวจสอบว่ารายการไม่มีข้อมูลเลย คืนค่า true หากรายการว่าง false หากมีข้อมูล

List.Last

List.Last คืนค่าสมาชิกตัวสุดท้ายของ List หรือค่า Default ถ้า List ว่าง

List.Select

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

List.Single

คืนค่าสมาชิกตัวเดียวใน List (ถ้ามีมากกว่า 1 จะ Error)

List.SingleOrDefault

List.SingleOrDefault คืนค่าเดียวจากรายการ หรือค่าเริ่มต้นหากไม่พบหรือมีมากกว่า 1 ค่า ใช้สำหรับการดึงข้อมูลเดียว

List.Split

List.Split แบ่งรายการให้เป็นกลุ่มย่อยตามขนาดที่ระบุ ใช้สำหรับการจัดกลุ่มข้อมูล การแบ่งหน้า และการประมวลผลแบทช์

Table functions (1)
Table.First

ดึงแถวแรก (Record) จากตารางข้อมูล พร้อมตัวเลือกค่า default สำหรับกรณีตารางว่าง

Comments

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