แต่ละสาขามีไฟล์ของตัวเอง หรือฝ่ายขายกับฝ่ายบัญชีใช้คนละไฟล์ — ทุกสิ้นเดือนต้องเปิดไฟล์ทีละไฟล์มาก๊อปตัวเลข แล้วก็ได้ตัวเลขที่ไม่อัปเดตทันทีที่อีกฝ่ายแก้
IMPORTRANGE ดึงข้อมูลจากอีกไฟล์เข้ามาแบบอัปเดตตาม ไฟล์ต้นทางยังแยกกันอยู่ ใครกรอกที่ไหนก็กรอกที่นั่น ไฟล์สรุปเห็นตัวเลขล่าสุดเสมอ
ใช้ครั้งแรก: 3 ขั้น
- 1
ก๊อปลิงก์ไฟล์ต้นทาง
เปิดไฟล์ที่มีข้อมูล ก๊อป URL จากแถบที่อยู่ (หรือก๊อปเฉพาะรหัสยาว ๆ ระหว่าง /d/ กับ /edit ก็ได้) - 2
พิมพ์สูตรในไฟล์ปลายทาง
=IMPORTRANGE("ลิงก์ไฟล์","ขาย!A1:C")— ช่วงข้อมูลเขียนแบบ ชื่อชีต!ช่วง ในเครื่องหมายคำพูด - 3
กด อนุญาตการเข้าถึง
ครั้งแรกจะขึ้น #REF! ให้เลื่อนเมาส์ไปที่ช่องแล้วกดปุ่มอนุญาต ทำครั้งเดียวต่อคู่ไฟล์
คนที่ใส่สูตรต้องมีสิทธิ์อย่างน้อย "ดู" ไฟล์ต้นทาง ส่วนคนที่เปิดไฟล์ปลายทางทีหลังเห็นข้อมูลได้เลย ไม่ต้องมีสิทธิ์ในไฟล์ต้นทาง
ดึงมาแล้วกรองและสรุปในสูตรเดียว
IMPORTRANGE ดึงมาทั้งก้อน — ใช้ QUERY หรือ FILTER ครอบอีกชั้นเพื่อเอาเฉพาะที่ต้องการ:

ภาพจากไฟล์ Google Sheets จริง · เปิดไฟล์ตัวอย่างนี้ (ดูอย่างเดียว — ไฟล์ → ทำสำเนา เพื่อลองแก้)
ดูเป็นตาราง (ก๊อปตัวเลขได้)
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | เมนู | สาขา | ยอด | เมนู | ยอดสาขาสยาม | |
| 2 | กาแฟ | สยาม | 1,200 | กาแฟ | 2,650 | |
| 3 | ชา | สยาม | 1,100 | ชา | 1,100 | |
| 4 | กาแฟ | อารีย์ | 950 | |||
| 5 | กาแฟ | สยาม | 1,450 | |||
| 6 | ชา | อารีย์ | 600 | |||
| 7 | โกโก้ | อารีย์ | 700 |
สูตรในช่องสีฟ้า (ช่วงเช่น C2:C4 = พิมพ์ที่ช่องแรกแล้วลากลง):
- E1
=QUERY(A1:C7,"select A, sum(C) where B='สยาม' group by A label sum(C) 'ยอดสาขาสยาม'",1)
ในไฟล์จริงเปลี่ยน A1:C7 เป็น IMPORTRANGE("ลิงก์ไฟล์","ขาย!A1:C") แล้วเปลี่ยน A, B, C ในคำสั่งเป็น Col1, Col2, Col3 — QUERY ที่อ่านข้อมูลจาก IMPORTRANGE ต้องเรียกคอลัมน์ด้วยลำดับ ไม่ใช่ตัวอักษร
| อยากได้ | สูตร | หมายเหตุ |
|---|---|---|
| ทุกแถวของสาขาเดียว | =QUERY(IMPORTRANGE(ลิงก์,"ขาย!A1:C"),"select * where Col2='สยาม'",1) | Col1 Col2 Col3 แทน A B C |
| ยอดรวมตามเมนู | =QUERY(IMPORTRANGE(ลิงก์,"ขาย!A1:C"),"select Col1, sum(Col3) group by Col1",1) | ได้ตารางสรุปทันที |
| ค้นหาจากไฟล์อื่น | =VLOOKUP(A2,IMPORTRANGE(ลิงก์,"สินค้า!A:C"),3,FALSE) | ใช้เมื่อข้อมูลไม่ใหญ่ |
| รวมหลายไฟล์เป็นตารางเดียว | ={IMPORTRANGE(ลิงก์1,"ขาย!A2:C");IMPORTRANGE(ลิงก์2,"ขาย!A2:C")} | ทุกช่วงต้องมีคอลัมน์เท่ากัน |
เมื่อไหร่ควรใช้ และเมื่อไหร่ไม่ควร
ดึงทั้งคอลัมน์ใหญ่ ๆ หลายสิบสูตร
ต้องการให้ข้อมูลไม่เปลี่ยนตาม
ข้อมูลที่ไม่ควรให้คนอื่นเห็นทั้งไฟล์
Error ที่เจอบ่อย
#REF! ต้องเชื่อมต่อชีตเหล่านี้
#REF! ไม่มีสิทธิ์เข้าถึง
#REF! ผลลัพธ์ขยายไม่ได้
QUERY ขึ้น error ทั้งที่สูตรเดิมใช้ได้
เปลี่ยนชื่อชีตต้นทางแล้วข้อมูลหาย
รวมข้อมูลหลายไฟล์ หลายสาขา เป็นรายงานเดียวแบบอัตโนมัติ?
คำถามที่ถามบ่อย
IMPORTRANGE คืออะไร?
ฟังก์ชันของ Google Sheets ที่ดึงข้อมูลจากอีกไฟล์เข้ามา และอัปเดตตามเมื่อไฟล์ต้นทางเปลี่ยน รูปแบบ =IMPORTRANGE("ลิงก์ไฟล์","ชื่อชีต!ช่วง")
ทำไม IMPORTRANGE ขึ้น #REF!?
ครั้งแรกต้องกดอนุญาตการเข้าถึงที่ช่องนั้น ถ้ากดแล้วยังขึ้น ให้ตรวจว่าบัญชีของคุณมีสิทธิ์ดูไฟล์ต้นทาง และช่องที่ผลจะแสดงไม่มีข้อมูลขวาง
ใช้ QUERY กับ IMPORTRANGE ยังไง?
ครอบ IMPORTRANGE ด้วย QUERY และเรียกคอลัมน์เป็น Col1, Col2 เช่น =QUERY(IMPORTRANGE(ลิงก์,"ขาย!A1:C"),"select Col1, sum(Col3) group by Col1",1)
IMPORTRANGE อัปเดตทันทีไหม?
อัปเดตเองเมื่อไฟล์ต้นทางเปลี่ยน อาจช้ากว่าการแก้ในไฟล์เดียวกันเล็กน้อย
Excel มี IMPORTRANGE ไหม?
ไม่มีฟังก์ชันชื่อนี้ Excel ใช้การลิงก์ไฟล์หรือ Power Query แทน IMPORTRANGE มีเฉพาะ Google Sheets
