Thep Excel

List.Numbersสร้างลำดับตัวเลข

List.Numbers สร้าง List ของตัวเลขเรียงกันตามค่าเริ่มต้น จำนวน และการเพิ่มค่า

fx
=List.Numbers(start, count, [increment]) as list

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

อัปเดต 3 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
start number ค่าเริ่มต้นของลำดับ สามารถเป็นจำนวนเต็มหรือทศนิยมก็ได้
count number จำนวนตัวเลขที่ต้องการสร้าง ต้องเป็นจำนวนเต็มที่มากกว่า 0
[increment]ไม่บังคับ number 1 ระยะห่างระหว่างตัวเลขแต่ละตัว หากไม่ระบุจะใช้ค่า 1 เป็นค่าเริ่มต้น สามารถใช้ค่าลบได้เพื่อสร้างลำดับจากมากไปน้อย

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

Additional Notes

List.Numbers(start, count, [increment]) ใช้สำหรับสร้าง List ของตัวเลขเรียงลำดับ เป็นฟังก์ชันที่มีประโยชน์สำหรับสร้างลำดับหมายเลข การสร้าง index column หรือจำนวนเรียงกันอื่นๆ ในการ transform ข้อมูล

ฟังก์ชันนี้ทำงานโดยระบุ 3 พารามิเตอร์: start (ค่าเริ่มต้น) count (จำนวนที่ต้องการ) และ increment (ระยะห่างระหว่างตัวเลข) ตัวอย่างเช่น List.Numbers(1, 5) จะส่งคืน {1, 2, 3, 4, 5} และ List.Numbers(1, 5, 2) จะส่งคืน {1, 3, 5, 7, 9}

ส่วนตัวผมชอบใช้ List.Numbers เมื่อต้องการสร้าง sequence ของตัวเลขแทนการ hardcode list ด้วยมือ โดยเฉพาะเมื่อต้องการจำนวนเยอะๆ หรือต้องการ increment ที่ไม่ใช่ 1 ทำให้โค้ด dynamic และสามารถปรับค่าได้ง่าย 😎

Examples

สร้างเลขลำดับจาก 1 ถึง 5List.Numbers(1, 5)

สร้าง List ของตัวเลข 5 ตัว เริ่มจาก 1 โดยเพิ่มทีละ 1 (ค่าเริ่มต้น)

fx
= List.Numbers(1, 5)

ผลลัพธ์{1, 2, 3, 4, 5}
สร้างเลขคู่ 10 ตัวList.Numbers(2, 10, 2)

สร้าง List เลขคู่โดยเริ่มจาก 2 สร้าง 10 ตัว ด้วย increment 2

fx
= List.Numbers(2, 10, 2)

ผลลัพธ์{2, 4, 6, 8, 10, 12, 14, 16, 18, 20}
สร้างลำดับจากมากไปน้อยList.Numbers(10, 5, -1)

ใช้ increment เป็นค่าลบ (-1) เพื่อสร้างลำดับลดลง

fx
= List.Numbers(10, 5, -1)

ผลลัพธ์{10, 9, 8, 7, 6}
สร้างเลขทศนิยมList.Numbers(0.5, 4, 0.5)

สามารถใช้ค่าทศนิยมได้ทั้ง start และ increment

fx
= List.Numbers(0.5, 4, 0.5)

ผลลัพธ์{0.5, 1.0, 1.5, 2.0}
สร้าง index column ในตารางlet Source = Table.FromRows({{"A"}, {"B"}, {"C"}}, {"Name"}), AddIndex = Table.AddColumn(Source, "Index", each List.Numbers(1, Table.RowCount(Source))) in AddIn…

ใช้ List.Numbers เพื่อสร้าง sequence สำหรับ index column ได้

fx
let
Source = Table.FromRows({{"A"}, {"B"}, {"C"}}, {"Name"}),
AddIndex = Table.AddColumn(Source, "Index", each List.Numbers(1, Table.RowCount(Source)))
in
AddIndex

ผลลัพธ์ตาราง 3 แถว พร้อม index column {1, 2, 3}

FAQs

ความแตกต่างระหว่าง List.Numbers กับ List.Range คืออะไร?+

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

สามารถสร้าง List ตัวเลขจำนวนมากๆ ได้ไหม?+

ได้ แต่ต้องระวังประสิทธิภาพ ถ้า count ใหญ่ขึ้นเรื่อยๆ ควรพิจารณาการใช้ List.Generate ซึ่ง lazy evaluation ได้ดีกว่า

จะทำให้ increment เป็น 0 ได้ไหม?+

ไม่ได้ หากตั้ง increment = 0 จะเกิด error เพราะสร้างลำดับไม่สิ้นสุด

ใช้ได้กับ Power Query เวอร์ชันไหนบ้าง?+

List.Numbers มี default ตั้งแต่ Power Query 2016 เป็นต้นมา

Resources & Related

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

ฟังก์ชันนี้List.NumbersList functions
List functions (6)
List.Dates

สร้าง List ของวันที่เรียงกัน

List.Generate

List.Generate เป็น generator function ที่สร้าง list โดยเริ่มจากค่าเริ่มต้น (initial) วนลูปตรวจสอบเงื่อนไข (condition) สร้างค่าถัดไป (next) และ transform ผลลัพธ์ด้วย selector (optional) ทำงานคล้าย while loop ในการเขียนโปรแกรม เหมาะสำหรับสร้างลำดับวันที่, pagination API, การคำนวณทบต้น และ pattern ซับซ้อนที่ List.Numbers ทำไม่ได้

List.Random

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

List.Range

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

List.Repeat

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

List.Transform

List.Transform ใช้สำหรับสร้างลิสต์ใหม่โดยนำฟังก์ชันไปประมวลผลแต่ละตัวในลิสต์เดิม

Comments

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