Thep Excel

GENERATESERIES – สร้างลำดับตัวเลขอัตโนมัติเป็นตาราง

GENERATESERIES สร้างตารางคอลัมน์เดียวที่เป็นลำดับตัวเลขจาก StartValue ถึง EndValue ด้วย increment ที่กำหนดได้ เหมาะกับตารางช่วย parameter table หรือสร้างชุดตัวเลขสำหรับ what-if analysis

=GENERATESERIES(<StartValue>, <EndValue>[, <IncrementValue>])

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
6/10

Difficulty
4/10

Usefulness
6/10

Syntax & Arguments

=GENERATESERIES(<StartValue>, <EndValue>[, <IncrementValue>])

Argument Type Required Default Description
StartValue number Yes ค่าเริ่มต้นของลำดับ (จำนวนทั้งหมด)
EndValue number Yes ค่าสิ้นสุดของลำดับ (ต้องมากกว่า StartValue)
IncrementValue number Optional 1 ขั้นเพิ่มค่าของลำดับ (ต้องเป็นบวก default = 1)

How it works

สร้างตารางตัวเลขสำหรับ parameter

เช่น ทำตาราง 1–100 เพื่อใช้เลือกค่าในรายงาน

สร้างตารางช่วงคะแนน/ระดับ

เช่น สร้างค่า 0–1 แบบ step 0.1 เพื่อทำ bin หรือ threshold

Examples

ตัวอย่างที่ 1: สร้างตาราง 1 ถึง 10 (เพิ่มทีละ 1)
Numbers 1-10 = GENERATESERIES(1, 10)
GENERATESERIES คืนค่าเป็นตารางเดียวคอลัมน์ชื่อ Value ที่เป็นลำดับตัวเลขตามช่วงที่กำหนด
DAX Formula:

Numbers 1-10 =
GENERATESERIES(1, 10)

Result:

ตารางที่มีคอลัมน์ Value: 1,2,3,4,5,6,7,8,9,10

ตัวอย่างที่ 2: สร้าง parameter table สำหรับ discount (ทีละ 5%)
Discount Parameter = GENERATESERIES(0, 50, 5)
ใช้สร้าง parameter table ที่แสดงช่วง discount 0%-50% เพื่อให้ user เลือกค่า discount ผ่าน slicer
DAX Formula:

Discount Parameter =
GENERATESERIES(0, 50, 5)

Result:

ตารางตัวเลข 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50

ตัวอย่างที่ 3: สร้าง rating scale 0.5 ถึง 5 (ทีละ 0.5)
Rating Scale = GENERATESERIES(0.5, 5, 0.5)
สร้างตารางช่วย rating scale สำหรับ what-if analysis ด้วยการใช้ increment = 0.5
DAX Formula:

Rating Scale =
GENERATESERIES(0.5, 5, 0.5)

Result:

ตาราง 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5

ตัวอย่างที่ 4: ใช้กับ ADDCOLUMNS เพื่อสร้าง lookup table สมบูรณ์
Discount Table = ADDCOLUMNS( GENERATESERIES(0, 50, 5), "Discount Label", FORMAT([Value], "0%"), "Price Factor", (100 - [Value]) / 100 )
ใช้ GENERATESERIES เป็นพื้นฐาน แล้วใช้ ADDCOLUMNS เพิ่มคอลัมน์ label และ formula เพื่อให้ได้ lookup table สมบูรณ์
DAX Formula:

Discount Table =
ADDCOLUMNS(
    GENERATESERIES(0, 50, 5),
    "Discount Label", 
    FORMAT([Value], "0%"),
    "Price Factor", 
    (100 - [Value]) / 100
)

Result:

ตารางที่มี 3 คอลัมน์: Value (0-50), Discount Label (0%, 5%, ...), Price Factor (1.00, 0.95, ...)

FAQs

คอลัมน์ของ GENERATESERIES ชื่ออะไร?

คอลัมน์จะชื่อ Value โดยอัตโนมัติ ใช้ [Value] หรือ GENERATESERIES(…)[Value] เพื่ออ้างอิง

GENERATESERIES ใช้สร้างวันที่ได้ไหม?

ไม่ โดยตรง GENERATESERIES สร้างเป็นตัวเลขเท่านั้น หากต้องการลำดับวันที่ ให้ใช้ CALENDAR หรือ CALENDARAUTO แทน หรือสร้างตัวเลขด้วย GENERATESERIES แล้วแปลงเป็นวันที่ด้วย DATE/DATEADD

EndValue < StartValue จะเกิดอะไร?

ฟังก์ชันจะคืนค่ากลับมาเป็น empty table (ตารางว่าง) ไม่มีข้อผิดพลาด

IncrementValue สามารถเป็นลบได้ไหม?

ไม่ IncrementValue ต้องเป็นจำนวนบวกเท่านั้น หากต้องการลำดับลดลง ให้สลับค่า StartValue และ EndValue แล้วใช้ Increment บวก

ใช้ GENERATESERIES ใน DirectQuery ได้ไหม?

ไม่ GENERATESERIES ไม่รองรับ DirectQuery mode สำหรับ calculated columns หรือ RLS rules ต้องใช้กับ Import mode

Resources & Related

Additional Notes

GENERATESERIES เป็นฟังก์ชันที่สร้างตารางตัวเลขแบบลำดับเรียบง่าย ส่วนตัวผมชอบใช้เพื่อสร้าง parameter table สำหรับ slicer ตัวเลข หรือสร้างชุดค่า discount/commission range สำหรับการวิเคราะห์ what-if

สิ่งที่เจ๋งคือ มันง่ายมากในการใช้ แต่มีความจำเป็นสูงมาก โดยเฉพาะเวลาต้องสร้าง lookup table ตัวเลขที่ติดต่อกัน แทนที่จะไปพิมพ์ตัวเลขด้วยมือ

ส่วนตัวผม ถ้าต้องการเพิ่มความซับซ้อน เช่น เพิ่มคำอธิบาย หรือ label ให้แต่ละตัวเลข ก็ใช้ ADDCOLUMNS ช่วยได้ครับ 😎 วิธีนี้ทำให้ parameter table ของเราเป็นตารางสมบูรณ์ที่พร้อมใช้เลย

Leave a Reply

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