# วิธีหาการ์ดซ้ำใน Anki และเลือกใบที่จะเก็บ

*2026-10-04*

จำได้ว่าเคยทบทวนคำถามนี้ แต่ Anki กลับเอามาให้เรียนเหมือนเป็นการ์ดใหม่ อาจมีโน้ตซ้ำติดมาจากการนำเข้า หรืออาจเป็นการ์ดอีกใบที่สร้างจากโน้ตเดียวกัน แยกสองกรณีนี้ให้ได้ก่อน เพราะการลบแถวเดียวในหน้าต่าง Browse อาจลบการ์ดทุกใบของโน้ตนั้น รวมถึงใบที่ถามในทิศทางที่คุณตั้งใจเก็บไว้

ก่อนจัดการ **การ์ดซ้ำใน Anki** ให้ดูว่าการ์ดเหล่านั้นมาจากโน้ตเดียวกันหรือเปล่า ถ้าเป็นคนละโน้ต ให้ใช้ **Notes → Find Duplicates** เพื่อหาโน้ตที่อาจซ้ำ เทียบเนื้อหาและประวัติของการ์ดแต่ละใบ แล้วเลือกทีละกลุ่มว่าจะเก็บโน้ตไหน ฟิลด์ที่มีค่าตรงกันบอกได้ว่าควรเริ่มตรวจตรงไหน ส่วนจะลบโน้ตไหนต้องดูข้อมูลอื่นด้วย

ขั้นตอนนี้ใช้กับ Anki บนเดสก์ท็อป อ้างอิงคู่มือและซอร์สโค้ดของรุ่นที่เผยแพร่แล้ว โดยตรวจสอบเมื่อ 4 ตุลาคม 2026 ชื่อเมนูและตัวอย่างคำค้นอิงหน้าจอภาษาอังกฤษ ส่วนผลในแบบฝึกหัดด้านล่างเป็นผลที่คาดไว้จากข้อมูลสมมติ

![สมาชิกชมรมหมากรุกเทียบตัวเรือสีอ่อนที่เกินมาหนึ่งตัวกับตัวเรือที่มีรอยใช้งานอีกสองตัวบนกระดานไม้](/blog/anki-duplicate-cards.png)

## ดูก่อนว่าอะไรซ้ำกัน

โน้ตเก็บข้อมูลในฟิลด์ต่าง ๆ เช่น Front และ Back ส่วนเทมเพลตนำข้อมูลนั้นไปสร้างการ์ด โน้ตคำศัพท์หนึ่งรายการอาจสร้างการ์ดให้บอกความหมายเมื่อเห็นคำศัพท์และอีกใบให้นึกคำศัพท์เมื่อเห็นความหมาย การ์ดจากโน้ตเดียวกันเรียกว่า siblings แต่ละใบมีตารางทบทวนของตัวเอง อ่านเพิ่มใน[คู่มือ Anki เรื่องโน้ตและฟิลด์](https://docs.ankiweb.net/manual/getting-started#notes-%26-fields)

ในหน้าต่าง Browse ให้ใช้โหมด **Cards** แล้วเปิด **Cards → Info** ของแต่ละแถวที่สงสัยว่าซ้ำ เทียบ Note ID ของการ์ดเหล่านั้น รหัสเดียวกันแปลว่ามาจากโน้ตเดียวกัน รหัสต่างกันแปลว่ามาจากคนละโน้ต ถ้าต้องการดูการ์ดทั้งหมดของโน้ตโดยไม่จำกัดสำรับ ให้แทน `123` ใน `nid:123` ด้วย Note ID จริง ดู[วิธีค้นหาด้วย ID ในคู่มือ Anki](https://docs.ankiweb.net/searching.html#object-ids)

| สิ่งที่พบ | สาเหตุที่เป็นไปได้ | ทำอะไรต่อ |
| --- | --- | --- |
| โน้ตเดียวกัน ถามสลับทิศทาง | ตั้งใจสร้างการ์ดทั้งสองใบจากโน้ตเดียวกัน | ดูว่าคำถามทั้งสองแบบมีประโยชน์ไหม |
| โน้ตเดียวกัน แสดงคำถามเหมือนกัน | เทมเพลตการ์ดอาจซ้ำกัน | เทียบเทมเพลตและดูตัวอย่างการ์ด |
| คนละโน้ต แต่คำถามดูเหมือนกัน | อาจเป็นโน้ตซ้ำ | เทียบข้อมูลให้ครบทั้งสองโน้ตก่อนเลือกว่าจะเก็บโน้ตไหน |

ถ้าตั้งใจสร้างการ์ดทั้งสองทิศทาง [คู่มือการ์ดแบบกลับด้าน (ภาษาอังกฤษ)](/blog/anki-reverse-cards/) อธิบายว่าคำถามทั้งสองแบบต่างกันอย่างไร ถ้าอยากพักการทบทวนแค่ใบเดียว ให้[ใช้คำสั่ง Suspend กับการ์ดใบนั้น (คู่มือภาษาอังกฤษ)](/blog/anki-bury-vs-suspend/) Anki จะพักการทบทวนใบนั้นโดยเก็บการ์ดไว้ในคอลเลกชัน

ถ้าเทมเพลตเหมือนกัน ให้ทำตาม[วิธีหาสาเหตุที่ Anki แสดงการ์ดเกิน](https://faqs.ankiweb.net/extra-copies-of-a-card-are-coming-up.html) การลบเทมเพลตมีผลกับทุกโน้ตที่ใช้ประเภทโน้ตนั้น รวมถึงโน้ตในสำรับอื่นด้วย ควรแยกการแก้เทมเพลตออกจากการจัดการคำถามซ้ำที่เจอวันนี้

## กำหนดขอบเขตก่อนหาโน้ตซ้ำ

เปิด **Notes → Find Duplicates** แล้วเลือกฟิลด์ที่จะเทียบ เช่น **Front** ตามค่าเริ่มต้น Anki จะค้นหาในโน้ตทุกประเภทที่มีฟิลด์นี้ ใช้ **Optional filter** เพื่อจำกัดขอบเขต แล้วกด **Search** ดู[วิธีใช้ Find Duplicates ในคู่มือ Anki](https://docs.ankiweb.net/browsing.html#finding-duplicates)

ถ้าสำรับชื่อ `Cleanup practice` ให้กรอกคำค้นนี้

```text
deck:"Cleanup practice"
```

การค้นหาตามชื่อสำรับจะรวมสำรับย่อยด้วย ถ้าสงสัยว่าโน้ตซ้ำอยู่คนละสำรับ ให้เอาตัวกรองออกเพื่อค้นหาทั้งคอลเลกชัน ค้นในสำรับเดียวแล้วไม่เจอ ก็ยังอาจมีโน้ตซ้ำอยู่ที่อื่น ดู[รูปแบบคำค้นตามสำรับของ Anki](https://docs.ankiweb.net/searching.html#tags-decks-cards-and-notes)

คลิกกลุ่มผลการค้นหาเพื่อดูโน้ตในกลุ่มนั้น คำสั่ง **Tag Duplicates** จะติดแท็ก `duplicate` ให้ทุกโน้ตในแต่ละกลุ่ม รวมถึงโน้ตที่คุณอาจต้องการเก็บ ดูได้จาก[ซอร์สโค้ดส่วนที่ติดแท็กใน Anki รุ่นที่เผยแพร่แล้ว](https://github.com/ankitects/anki/blob/26.09.3/qt/aqt/browser/find_duplicates.py) **อย่าลบโน้ตทั้งหมดที่เจอจากคำค้น `tag:duplicate`** ใช้แท็กเพื่อรวบรวมโน้ตมาตรวจ แล้วเลือกทีละรายการว่าจะลบโน้ตไหน

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

## ลองตัดสินใจจากโน้ตตัวอย่างสามคู่

สมมติว่าสำรับ `Cleanup practice` มีโน้ตหกรายการและไม่มีสำรับย่อย A กับ B ใช้เทมเพลต **Basic (and reversed card)** แบบเดิม จึงสร้างการ์ดโน้ตละสองใบ ส่วน C–F ใช้ **Basic** จึงได้โน้ตละใบ การ์ดทั้งแปดใบอยู่ในสำรับนี้ ตัวอักษร A ถึง F ใช้เรียกโน้ตในตัวอย่าง ส่วน Note ID และ Card ID จริงใน Anki เป็นตัวเลข

| โน้ต | Front → Back | สถานะการเรียนสมมติ | ตัดสินใจอย่างไร |
| --- | --- | --- | --- |
| A และ B | `le vélo` → `bicycle` | ของ A ทบทวนใบที่ถามความหมาย 12 ครั้ง และใบที่ให้ตอบเป็นคำศัพท์ 3 ครั้ง ส่วนการ์ดของ B ยังใหม่ทั้งสองใบ | เก็บ A ไว้ แล้วตรวจ B เป็นตัวเลือกแรกที่จะลบ |
| C และ D | `Chemical symbol for silver?` → `Ag` | ทบทวน C มา 20 ครั้ง และ D มา 6 ครั้ง | เทียบประวัติทั้งสองใบ แล้วเลือกว่าจะใช้ใบไหนเรียนต่อ |
| E และ F | E `bank` → `financial institution` และ F `bank` → `side of a river` | ตั้งใจถามคนละความหมาย | เก็บทั้งคู่ แล้วเติมบริบทให้คำถามชัดขึ้น |

การค้นหาจากฟิลด์ Front อาจจับคู่โน้ตได้ทั้งสามคู่ คู่แรกเป็นคู่เดียวที่เลือกได้ง่าย ก่อนสรุปว่า B ซ้ำ ให้เทียบ **ทุกฟิลด์** พร้อมทั้งสื่อ แท็ก ประเภทโน้ต และคำถามที่ปรากฏบนการ์ดทั้งสองทิศทาง B อาจมีเสียงอ่านหรือคำถามที่ A ไม่มี

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

สำหรับ C กับ D จำนวนครั้งที่ทบทวนเป็นเพียงเบาะแสหนึ่ง ให้ดูวันที่และคะแนนที่กดในแต่ละรอบ รวมถึงช่วงห่างปัจจุบันและกำหนดทบทวนของการ์ดทั้งสองใบ การ์ดที่ทบทวนมากกว่าอาจเป็นใบที่ต้องกลับมาเรียนใหม่บ่อยกว่า ดูว่าคำถามและคำตอบยังใช้ได้ แล้วเลือกว่าจะใช้การ์ดใบไหนเรียนต่อจากประวัติเดิม ถ้าคำตอบขัดกัน ให้กลับไปตรวจแหล่งที่มาของเนื้อหาก่อน จำนวนครั้งที่ทบทวนบอกไม่ได้ว่าคำตอบไหนถูก

เมื่อเก็บ C แล้วลบ D **ประวัติการทบทวนของทั้งสองใบจะไม่รวมกัน** C จะใช้สถานะการเรียนเดิมของตัวเอง [Card Info ของ Anki](https://docs.ankiweb.net/stats.html#card-info) แสดงประวัติแยกตามการ์ด รายการทบทวนของโน้ตที่ลบยังนับในสถิติรวมของคอลเลกชัน แต่จะหายจากสถิติรายสำรับ และไม่ย้ายไปอยู่ในประวัติของการ์ดที่เก็บไว้ ดู[คำอธิบายเรื่องสถิติของโน้ตที่ลบในคู่มือ Anki](https://docs.ankiweb.net/stats.html#more)

ถ้ายังตัดสินใจไม่ได้ ให้พักเรื่องลบไว้ก่อน จดสิ่งที่ต้องตรวจเพิ่ม ถ้าจำเป็นก็ใช้ Suspend กับการ์ดที่สงสัยว่าซ้ำเพื่อพักการทบทวนระหว่างตรวจสอบ

## ลบโน้ตซ้ำที่ตรวจแล้วหนึ่งรายการ แล้วเทียบผลกับที่จดไว้

ก่อนลบข้อมูลจริง ให้ซิงก์อุปกรณ์อื่นที่ยังมีข้อมูลค้างอยู่ แล้วซิงก์ Anki บนเดสก์ท็อปเพื่อให้คอลเลกชันมีข้อมูลล่าสุดจากอุปกรณ์เหล่านั้น ดูขั้นตอนใน[คู่มือการซิงก์ของ Anki](https://docs.ankiweb.net/syncing.html) ไปที่ **File → Export** แล้วบันทึกเป็น **Anki Collection Package (`.colpkg`)** โดยเลือก **Include Media** ไฟล์นี้รวมทุกสำรับพร้อมตารางและประวัติการทบทวน เก็บไฟล์ไว้ในที่ปลอดภัย ถ้านำเข้าภายหลัง คอลเลกชันในไฟล์จะเข้าแทนที่การ์ดปัจจุบันในโปรไฟล์ที่เปิดอยู่ทั้งชุด ดู[คู่มือการส่งออกคอลเลกชัน](https://docs.ankiweb.net/exporting.html#collection-colpkg)

ถ้าอยากลองลบก่อน ให้สร้างโปรไฟล์แยกผ่าน **File → Switch Profile** แล้วนำเข้าไฟล์สำรองในโปรไฟล์นั้น อย่าเชื่อมโปรไฟล์ทดลองกับ AnkiWeb [แต่ละโปรไฟล์มีคอลเลกชันของตัวเอง](https://docs.ankiweb.net/profiles.html) หากเชื่อมทั้งสองโปรไฟล์กับบัญชีเดียวกัน คอลเลกชันหนึ่งอาจเขียนทับอีกคอลเลกชันได้ อ่านเพิ่มว่าแต่ละไฟล์สำรองและนำเข้าอะไรบ้างใน[คู่มือเปรียบเทียบ APKG กับ COLPKG (ภาษาอังกฤษ)](/blog/anki-apkg-vs-colpkg/)

ในแบบฝึกหัดนี้ เรียกการ์ดของ A ที่ถามความหมายว่า A1 และใบที่ให้ตอบเป็นคำศัพท์ว่า A2 ส่วน B1 และ B2 คือการ์ดของ B ที่ถามในทิศทางเดียวกันตามลำดับ เปิด **Cards → Info** แล้วจด Card ID จริงของการ์ดทั้งสองใบของ A พร้อมกำหนดทบทวน ช่วงห่าง และรายการในประวัติที่จำได้ง่าย จด Note ID ของ B ไว้ด้วย ให้ตรวจผลก่อนและหลังในรอบเดียวกันโดยไม่ทบทวนหรือเปลี่ยนตารางทบทวนของการ์ดจากทั้งสองโน้ต

วิธีลบโน้ตซ้ำใน Anki ทีละรายการ

1. เปลี่ยนคำค้นใน Browse เป็น `nid:` ตามด้วย Note ID จริงของ B ในโหมด **Cards** ให้ตรวจทุกผลลัพธ์และดูตัวอย่างการ์ดทั้งสองทิศทาง เมื่อทำกับข้อมูลจริง ให้ค้นโดยไม่กรองตามสำรับ เพื่อดูด้วยว่ามีการ์ดจากโน้ตเดียวกันอยู่ในสำรับอื่นไหม
2. สลับเป็นโหมด **Notes** ตรวจว่าผลลัพธ์มีเพียงโน้ต B ที่ต้องการลบ เลือกเฉพาะโน้ตนั้น แล้วใช้ **Notes → Delete** [คำสั่ง Delete ของ Anki](https://docs.ankiweb.net/browsing.html#notes) ลบทั้งโน้ตที่เลือกและการ์ดทุกใบของโน้ตนั้น แม้จะสั่งจากการ์ดเพียงแถวเดียวในโหมด **Cards**
3. ค้นหา Note ID ของ B ซ้ำเพื่อยืนยันว่าไม่พบผลลัพธ์ จากนั้นค้นหา Card ID ของ A ที่จดไว้ด้วย `cid:` คั่นรหัสทั้งสองด้วยเครื่องหมายจุลภาค แล้วเทียบข้อมูลใน **Info** ของการ์ดทั้งสองใบกับที่จดไว้
4. ค้นหา `deck:"Cleanup practice"` แล้วเทียบจำนวนแถวที่แสดงในโหมด **Notes** และ **Cards** ตรวจโน้ตที่เหลือตามตารางด้านล่าง

ผลที่ควรได้เมื่อลบเฉพาะ B

| ตรวจอะไร | ก่อนลบ | ผลที่ควรได้หลังลบ |
| --- | --- | --- |
| ทั้งสำรับตัวอย่าง | 6 โน้ต / 8 การ์ด | 5 โน้ต / 6 การ์ด |
| การ์ดจากคู่คำศัพท์เรื่องจักรยาน | A1, A2, B1, B2 | เหลือ A1 และ A2 |
| Card ID กำหนดทบทวน ช่วงห่าง และประวัติของ A | ค่าที่จดไว้ | การ์ดเดิม กำหนดทบทวนเดิม และรายการในประวัติเดิม |
| ค้นหาด้วย Note ID ของ B | การ์ดของ B สองใบ | ไม่พบผลลัพธ์ |
| โน้ตเรื่องสัญลักษณ์ธาตุเงินและคำว่า bank | C, D, E, F | เหลือโน้ตสี่รายการเดิม |

ในตัวอย่างนี้ ลบหนึ่งโน้ตแล้วการ์ดจะหายไปสองใบ ถ้าเผลอลบ A แทน B จำนวนที่เหลือจะเท่ากัน แต่การ์ดที่เคยเรียนและตั้งใจเก็บไว้จะหายไปด้วย จึงต้องตรวจทั้งจำนวนและรหัสการ์ด ระหว่างจัดการโน้ตซ้ำ อย่ารีเซ็ตการ์ดที่เก็บไว้หรือเปลี่ยนตารางทบทวนของการ์ดเหล่านั้น

กราฟการทบทวนรวมของคอลเลกชันอาจยังนับการทบทวนการ์ดที่ลบไปแล้ว ให้ดูรหัสและข้อมูลใน **Info** ของการ์ดที่เหลือเพื่อยืนยันว่าความคืบหน้ายังอยู่

เมื่อผลของกลุ่มนี้ตรงกับที่จดไว้ ค่อยตรวจกลุ่มถัดไปแล้วเลือกว่าจะเก็บโน้ตไหนในกลุ่มนั้น ถ้าลองในโปรไฟล์แยก ให้กลับไปทำตามขั้นตอนที่ตรวจแล้วในโปรไฟล์จริง เมื่อตรวจคอลเลกชันจริงเสร็จ ให้ซิงก์เดสก์ท็อป แล้วซิงก์อุปกรณ์อื่นก่อนกลับไปเรียนบนอุปกรณ์เหล่านั้น ถ้าโน้ตซ้ำมาจากการนำเข้า อ่าน[วิธีอัปเดตโน้ตเดิมด้วย CSV (ภาษาอังกฤษ)](/blog/anki-csv-update-existing-notes/) ก่อนนำเข้ารอบถัดไป ถ้าเคยคัดลอกโน้ตเพื่อให้เนื้อหาเดียวกันอยู่ได้หลายหัวข้อ [ใช้แท็กระบุหัวข้อได้ (คู่มือภาษาอังกฤษ)](/blog/anki-tags-vs-decks/) โดยใช้ประวัติการเรียนชุดเดียว

---
*[ดูหน้านี้ในเวอร์ชัน HTML ที่จัดรูปแบบแล้ว](<https://nibomo.com/th/blog/anki-duplicate-cards/>)*

*AI agent สามารถสร้างบัญชีให้ผู้ใช้ในบริการนี้ได้ โดยเริ่มจาก `GET https://api.nibomo.com/v1/` หลังตั้งค่าเสร็จแล้ว ยังเชื่อมต่อผ่าน MCP ที่ `https://mcp.nibomo.com/mcp` ได้ด้วย*

*เคล็ดลับ: เติม `.md` ต่อท้าย URL ใดก็ได้บน https://nibomo.com เพื่อรับเวอร์ชัน Markdown ที่สะอาดของหน้านั้น*