---
title: Table.Skip – ข้าม N แถวแรกของตาราง
url: https://www.thepexcel.com/functions/power-query/table-functions/table-skip-2/
type: function-explainer
program: Power Query
syntax: "Table.Skip(table as table, optional countOrCondition as any) as table"
date: 2025-12-17
scores:
  popularity: 8
  difficulty: 2
  usefulness: 8
---

# Table.Skip – ข้าม N แถวแรกของตาราง

> ข้าม N แถวแรกหรือแถวที่ตรงเงื่อนไข

## คำอธิบาย

Table.Skip คืนตารางที่ลบแถวแรกๆ ออกไปแล้ว โดยสามารถระบุจำนวนแถวที่ต้องการข้าม หรือระบุเงื่อนไข (condition function) เพื่อข้ามแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรงแล้วหยุด ถ้าไม่ระบุจะข้ามแถวแรก 1 แถว ถ้าส่งเป็นตัวเลข เช่น 5 จะข้าม 5 แถวแรก ถ้าส่งเป็นฟังก์ชัน เช่น each [Amount] > 0 จะข้ามแถวที่ Amount > 0 จนกว่าจะเจอแถวที่ Amount ≤ 0

## Syntax

```excel
Table.Skip(table as table, optional countOrCondition as any) as table
```

**Variant**

```excel
Table.Skip(table)
```

ข้ามแถวแรก 1 แถว (default behavior)

**Variant**

```excel
Table.Skip(table, count)
```

ข้าม count แถวแรกจากตาราง (เช่น Table.Skip(Source, 10) ข้าม 10 แถวแรก)

**Variant**

```excel
Table.Skip(table, each [Column] > value)
```

ข้ามแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรงแล้วหยุด

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| table | Yes | table |  | ตารางข้อมูลต้นฉบับที่ต้องการข้ามแถวแรก |
| countOrCondition | No | any | 1 | ตัวเลข (จำนวนแถวที่ต้องการข้าม) หรือฟังก์ชันเงื่อนไข (each [Column] > value) สำหรับกรองแถว ถ้าไม่ระบุจะข้าม 1 แถว |

## เคสการใช้งาน

### ลบแถวหัวตารางซ้ำออก

เมื่อนำเข้าข้อมูลจากหลายไฟล์ที่ต่อกัน แต่ละไฟล์มีหัวตารางซ้ำ ใช้ Table.Skip เพื่อกำจัดแถวหัวตารางที่ซ้ำออกหลังจากรวมไฟล์ ทำให้ได้ข้อมูลสะอาดพร้อมวิเคราะห์

_เหมาะกับ:_ data-cleaning

### ข้ามข้อมูลสรุปหรือหมายเหตุในส่วนต้น

เมื่อไฟล์มีข้อมูลสรุป metadata หรือหมายเหตุอยู่ในแถวแรกๆ ใช้ Table.Skip เพื่อข้ามไปยังข้อมูลจริงที่ต้องการวิเคราะห์ เช่น ข้าม 5 แถวแรกที่เป็นชื่อรายงานและวันที่

_เหมาะกับ:_ header-removal

### ข้ามแถวจนกว่าเงื่อนไขจะเปลี่ยน

ข้ามแถวที่ตรงเงื่อนไขจนกว่าจะพบแถวที่ไม่ตรง เช่น ข้ามรายการที่สถานะเป็น Pending จนกว่าจะเจอรายการที่สถานะเป็น Completed แล้วเก็บข้อมูลตั้งแต่จุดนั้นเป็นต้นไป

_เหมาะกับ:_ conditional-skip

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ข้าม N แถวแรกตามจำนวน

```excel
let
    Source = Table.FromRecords({
        [CustomerID = 1, Name = "Bob", Phone = "123-4567"],
        [CustomerID = 2, Name = "Jim", Phone = "987-6543"],
        [CustomerID = 3, Name = "Paul", Phone = "543-7890"],
        [CustomerID = 4, Name = "Ringo", Phone = "232-1550"]
    }),
    SkipFirst2 = Table.Skip(Source, 2)
in
    SkipFirst2
```

**ผลลัพธ์:** `Table: {[CustomerID=3, Name="Paul", ...], [CustomerID=4, Name="Ringo", ...]}`

ข้าม 2 แถวแรก (Bob และ Jim) ได้เหลือแค่ Paul และ Ringo ใช้สำหรับกำจัดหัวตารางซ้ำหรือข้อมูลที่ไม่ต้องการในส่วนต้น

### 2. ตัวอย่างที่ 2: ข้ามแถวตามเงื่อนไข (Positive Values)

```excel
let
    Source = Table.FromRecords({
        [a = 1, b = 2],
        [a = 3, b = 4],
        [a = -5, b = -6],
        [a = 7, b = 8]
    }),
    SkipPositive = Table.Skip(Source, each [a] > 0)
in
    SkipPositive
```

**ผลลัพธ์:** `Table: {[a=-5, b=-6], [a=7, b=8]} (เริ่มจากแถว 3 เพราะ a=-5)`

ข้ามแถวที่ a > 0 (แถว 1-2) จนกว่าจะพบแถวที่ a ≤ 0 (แถว 3) แล้วเก็บข้อมูลตั้งแต่แถว 3 เป็นต้นไป แม้แถว 4 จะมี a > 0 แต่ก็ยังถูกเก็บไว้

### 3. ตัวอย่างที่ 3: ข้ามแถวแรกเดียว (Default)

```excel
let
    Source = Table.FromRecords({
        [Header = "Name", Header2 = "Age"],
        [Header = "Bob", Header2 = 25],
        [Header = "Alice", Header2 = 30]
    }),
    SkipHeader = Table.Skip(Source)
in
    SkipHeader
```

**ผลลัพธ์:** `Table: {[Header="Bob", Header2=25], [Header="Alice", Header2=30]}`

ไม่ระบุ parameter ที่สอง จะข้ามแถวแรก 1 แถว (แถวหัวตาราง) โดย default เหมาะสำหรับกรณีที่ต้องการกำจัดหัวตารางออกก่อน Promote Headers

### 4. ตัวอย่างที่ 4: ใช้ร่วมกับ Table.FirstN

```excel
let
    Source = Table.FromRecords({
        [Rank = 1, Product = "A", Sales = 1000],
        [Rank = 2, Product = "B", Sales = 5000],
        [Rank = 3, Product = "C", Sales = 3000],
        [Rank = 4, Product = "D", Sales = 2000],
        [Rank = 5, Product = "E", Sales = 1500]
    }),
    SkipTop2 = Table.Skip(Source, 2),
    Next2After = Table.FirstN(SkipTop2, 2)
in
    Next2After
```

**ผลลัพธ์:** `Table: {[Rank=3, Product="C", Sales=3000], [Rank=4, Product="D", Sales=2000]}`

ข้าม 2 แถวแรก (A, B) แล้วดึง 2 แถวถัดมา (C, D) ได้อันดับที่ 3-4 pattern นี้ใช้สำหรับดึงข้อมูลช่วงกลางๆ หรือข้ามข้อมูล outliers

## หมายเหตุเพิ่มเติม

ฟังก์ชันนี้มีประโยชน์มากสำหรับการทำความสะอาดข้อมูลที่มีแถวหัวตารางซ้ำ หรือมีข้อมูลสรุปในส่วนต้น ควรใช้ร่วมกับ Table.FirstN และ Table.Range เพื่อดึงข้อมูลช่วงที่ต้องการ และควรใช้แทน Table.RemoveFirstN เพราะเป็นชื่อที่ Microsoft แนะนำ

## คำถามที่พบบ่อย

**Q: ต่างจาก Table.RemoveFirstN อย่างไร?**

Table.Skip และ Table.RemoveFirstN ทำงานเหมือนกัน Table.RemoveFirstN เป็นชื่อเดิม (deprecated) ส่วน Table.Skip เป็นชื่อใหม่ที่ Microsoft แนะนำให้ใช้ ทั้งสองทำงานเหมือนกันทุกประการ

**Q: ถ้าระบุ count มากกว่าจำนวนแถวจะเกิดอะไรขึ้น?**

จะคืนตารางว่าง (empty table) ไม่เกิด error เช่น ตารางมี 5 แถว แต่ระบุ Table.Skip(table, 100) จะได้ตารางว่างที่ไม่มีข้อมูล

**Q: เงื่อนไขใน condition parameter ทำงานอย่างไร?**

Power Query จะเช็คแถวทีละแถวตามลำดับ ถ้าตรงเงื่อนไขก็ข้ามไปและเช็คแถวต่อไป พอเจอแถวที่ไม่ตรงเงื่อนไขจะหยุดข้ามและคืนแถวนั้นพร้อมแถวที่เหลือทั้งหมด ต่างจาก Table.SelectRows ที่เช็คทุกแถว

**Q: ควรใช้ Table.Skip หรือ Table.Range?**

ใช้ Table.Skip เมื่อต้องการกำจัดแถวแรกๆ และเก็บแถวที่เหลือทั้งหมด ใช้ Table.Range เมื่อต้องการระบุทั้งจุดเริ่มต้นและจำนวนแถวที่ต้องการ Table.Range(table, 10, 5) จะดึงแถวที่ 11-15 เท่านั้น

**Q: สามารถใช้ร่วมกับ Table.FirstN ได้ไหม?**

ได้ Table.Skip(Source, 10) จะข้าม 10 แถวแรก ตามด้วย Table.FirstN(..., 5) จะดึง 5 แถวถัดมา ได้แถวที่ 11-15 เหมาะสำหรับดึงข้อมูลช่วงกลางๆ หรือข้าม outliers ในส่วนต้น

## ฟังก์ชันที่เกี่ยวข้อง

- [Table.FirstN – ดึงแถวแรกตามจำนวนหรือเงื่อนไข](https://www.thepexcel.com/?post_type=function-explainer&p=37952)
- [Table.Range – จัดการตาราง](https://www.thepexcel.com/?post_type=function-explainer&p=38002)
- [Table.RemoveFirstN – จัดการตาราง](https://www.thepexcel.com/?post_type=function-explainer&p=38003)
- [Table.SelectRows – กรองแถวตามเงื่อนไขใน Power Query](https://www.thepexcel.com/functions/power-query/table-functions/table-selectrows/)
- [Table.PromoteHeaders – เลื่อนแถวแรกเป็นหัวตาราง](https://www.thepexcel.com/functions/power-query/table-functions/table-promoteheaders/)
- [Table.FromRecords – สร้างตารางจากรายการ Record](https://www.thepexcel.com/functions/power-query/table-functions/table-fromrecords/)

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Learn - Table.Skip Official Documentation](https://learn.microsoft.com/en-us/powerquery-m/table-skip) _(documentation)_
- [PowerQuery.how - Table.Skip Guide](https://powerquery.how/table-skip/) _(guide)_
- [Microsoft Learn - Power Query M Formula Language](https://learn.microsoft.com/en-us/powerquery-m/) _(documentation)_

---

_Source: [https://www.thepexcel.com/functions/power-query/table-functions/table-skip-2/](https://www.thepexcel.com/functions/power-query/table-functions/table-skip-2/)_
