ค้นหาตำแหน่ง (Index) ของแถวในตาราง
=Table.PositionOf(table as table, row as record, optional occurrence as nullable number, optional equationCriteria as any) as any
=Table.PositionOf(table as table, row as record, optional occurrence as nullable number, optional equationCriteria as any) as any
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| table | table | Yes | ตารางที่ต้องการค้นหา | |
| row | record | Yes | Record ที่ต้องการค้นหา (แถว) | |
| occurrence | number | Optional | Occurrence.First | ระบุว่าจะหาตัวแรก (Occurrence.First), ตัวสุดท้าย (Occurrence.Last) หรือทั้งหมด (Occurrence.All) |
| equationCriteria | any | Optional | – | เกณฑ์การเปรียบเทียบ (เช่น “ID” หรือ Comparer.OrdinalIgnoreCase) |
ค้นหา Index ของข้อมูลเพื่อใช้ในการอ้างอิง
ตรวจสอบว่าข้อมูลอยู่ในลำดับที่เท่าไหร่
ใช้ร่วมกับฟังก์ชันอื่นที่ต้องการ Input เป็น Index
let Source = #table({"ID", "Name"}, {{1, "A"}, {2, "B"}, {3, "C"}}), // หาตำแหน่งของแถวที่มี ID=2 และ Name="B" Position = Table.PositionOf(Source, [ID=2, Name="…let
Source = #table({"ID", "Name"}, {{1, "A"}, {2, "B"}, {3, "C"}}),
// หาตำแหน่งของแถวที่มี ID=2 และ Name="B"
Position = Table.PositionOf(Source, [ID=2, Name="B"])
in
Position
1
let Source = #table({"ID"}, {{1}, {2}, {3}}), Position = Table.PositionOf(Source, [ID=99]) in Positionlet
Source = #table({"ID"}, {{1}, {2}, {3}}),
Position = Table.PositionOf(Source, [ID=99])
in
Position
-1
let Source = #table({"Category"}, {{"A"}, {{"B"}}, {{"A"}}}), // หาตำแหน่งของทุกแถวที่เป็น "A" Positions = Table.PositionOf(Source, [Category="A"], Occurrence.A…let
Source = #table({"Category"}, {{"A"}, {{"B"}}, {{"A"}}}),
// หาตำแหน่งของทุกแถวที่เป็น "A"
Positions = Table.PositionOf(Source, [Category="A"], Occurrence.All)
in
Positions
{0, 2}
ฟังก์ชัน Table.PositionOf ใช้สำหรับค้นหาตำแหน่ง (Index) ของแถวที่ตรงกับเงื่อนไขหรือค่าที่ระบุ โดยจะคืนค่าเป็นตัวเลข (เริ่มนับที่ 0) หากไม่พบจะคืนค่า -1