Thep Excel

71 functions

List.Accumulate เป็นฟังก์ชันสำหรับการวนลูปผ่านแต่ละ element ใน list พร้อมทั้งเก็บสถานะสะสมไว้ตลอดการทำงาน.โดยจะเริ่มต้นจากค่าเริ่มต้นที่กำหนด (seed value) และในแต่ละรอบของการวนลูป ฟังก์ชันจะส่งค่าสถานะปัจจุบัน (current state) พร้อมกับ element ปัจจุบันเข้าไปใน accumulator function ที่คุณกำหนดขึ้นมา เพื่อคำนวณและสร้างสถานะใหม่สำหรับรอบถัดไป.เมื่อวนลูปครบทุก element แล้ว ฟังก์ชันจะคืนค่าสถานะสุดท้ายกลับมา เหมาะสำหรับการคำนวณยอดสะสม (running totals) การรวมแบบกำหนดเอง (custom aggregations) และการสร้างรูปแบบ For-Next loop pattern ใน M language ครับ

Syntax
List.Accumulate(list as list, seed as any, accumulator as function) as any

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

Syntax
List.Alternate(list as list, count as number, optional repeatInterval as nullable number, optional offset as nullable number) as list

List.Average คำนวณค่าเฉลี่ยของตัวเลข วันที่ เวลา หรือระยะเวลาในรายการ ฟังก์ชันนี้เป็นตัวช่วยแรกที่ผมใช้ทุกครั้งที่ต้องการวิเคราะห์ค่าเฉลี่ยจากชุดข้อมูลใดๆ

Syntax
List.Average(list as list, optional precision as nullable number) as any

List.Buffer เก็บรายการข้อมูลไว้ในหน่วยความจำเพื่อเพิ่มประสิทธิภาพเมื่อต้องเข้าถึงรายการเดียวกันหลายครั้ง ฟังก์ชันนี้มีประโยชน์เมื่อต้องใช้ผลลัพธ์จากการคำนวณซ้ำๆ หรือเมื่อต้องการลดจำนวนการเข้าถึงแหล่งข้อมูลภายนอก

Syntax
List.Buffer(list as list) as list

List.ConformToPageReader ใช้ภายในเพื่อแปลง List ของ Record เป็น Table ตาม Schema ที่กำหนด เหมาะสำหรับโครงสร้างข้อมูลที่ Page Reader ต้องการ

Syntax
List.ConformToPageReader(list as list, optional options as nullable record) as table

List.Contains จะคืนค่า true หาก value ที่กำหนดเป็นสมาชิกของ List และคืนค่า false หากไม่พบ สามารถระบุ Comparer เพื่อกำหนดว่าจะให้ตรวจสอบแบบ Case Sensitive หรือ Case Insensitive ได้

Syntax
List.Contains(list as list, value as any, optional comparer as nullable function) as logical

List.Distinct จะคืน List ใหม่ที่ไม่มีค่าซ้ำกัน โดยเก็บสมาชิกตัวแรกที่พบไว้ และทิ้งตัวที่ซ้ำกันทิ้งไป สามารถกำหนด Comparer เพื่อใช้ Logic การเปรียบเทียบที่แตกต่างกันได้ เช่น ไม่สนใจตัวพิมพ์เล็ก/ใหญ่

Syntax
List.Distinct(list as list, optional equationCriteria as any) as list

List.FindText ค้นหาสมาชิกในรายการที่มีข้อความย่อยที่กำหนด เหมาะเมื่อต้องการกรองข้อมูลไม่ใช่แค่ตรงแม่นทั้งคำ แต่ต้องการค้นหาแบบบางส่วนก็ได้

Syntax
List.FindText(list as list, text as text) as list

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

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

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

Syntax
List.Generate(initial as function, condition as function, next as function, optional selector as nullable function) as list

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

Syntax
List.LastN(list as list, count as any) as any

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

Syntax
List.Max(list as list, optional default as any, optional comparisonCriteria as any, optional includeNulls as nullable logical) as any

List.Median คืนค่ามัธยฐานของ List หากมีจำนวนคู่จะหาค่าเฉลี่ยของคู่กลาง (สำหรับตัวเลข/เวลา) หรือคืนค่าตัวที่น้อยกว่า

Syntax
List.Median(list as list, optional comparisonCriteria as any) as any

List.Min หาค่าที่น้อยที่สุดในรายการ ใช้เมื่อต้องการหาค่าสุดต่ำ วันที่เก่าสุด หรือเปรียบเทียบแบบ custom criteria

Syntax
List.Min(list as list, optional default as any, optional comparisonCriteria as any, optional includeNulls as nullable logical) as any

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

Syntax
list.mode(value as any) as any

List.Percentile คำนวณค่า percentile ของรายการตัวเลข ใช้สำหรับการวิเคราะห์ข้อมูล การหากลุ่มควอร์ไทล์ และการประเมินการกระจายตัวของข้อมูล

Syntax
list.percentile(value as any) as any

List.PositionOf จะคืนค่า Index แรกสุด (0-based) ของ value ที่พบใน list ถ้าไม่พบจะคืนค่า -1 สามารถระบุ occurrence เพื่อหาตำแหน่งของตัวที่ซ้ำกัน และใช้ comparer เพื่อกำหนดวิธีการเปรียบเทียบ (Case Sensitive/Insensitive)

Syntax
List.PositionOf(list as list, value as any, optional occurrence as nullable number, optional comparer as nullable function) as any

List.Product คำนวณผลคูณ (คูณ) ของตัวเลขทั้งหมดในรายการ โดยจะแสดงผลลัพธ์เป็นตัวเลขหรือ null หากไม่มีค่าตัวเลขในรายการ ฟังก์ชันนี้มีประโยชน์สำหรับการคำนวณค่าทางสถิติและการวิเคราะห์ข้อมูล เช่น การคำนวณผลคูณของราคา ปริมาณ หรือสัดส่วนต่างๆ

Syntax
List.Product(numbersList as list, optional precision as nullable number) as nullable number

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

Syntax
List.Range(list as list, offset as number, optional count as nullable number) as list

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

Syntax
list.removefirstn(value as any) as any

List.RemoveItems จะคืน List ใหม่ที่ไม่มีสมาชิกที่ตรงกับสมาชิกใน removeItems List โดยการเปรียบเทียบจะเป็นแบบ Case Sensitive และตรงกันทุกประการ (Ordinal Comparison)

Syntax
List.RemoveItems(list as list, removeItems as list) as list

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

Syntax
list.removelastn(value as any) as any