นำเข้าช่วงเซลล์จากสเปรดชีตที่ระบุ
ตัวอย่างการใช้งาน
IMPORTRANGE("
https://docs.google.com/spreadsheets/d/abcd123abcd123
", "sheet1!A1:C10")
IMPORTRANGE(A2,"B2")
ใช้การอ้างอิงตาราง: IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "DeptSales[Sales Amount]")
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ตารางใน Google ชีต
ใช้ช่วงที่ตั้งชื่อแล้ว: IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "Sales_total")
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีตั้งชื่อช่วงของเซลล์
รูปแบบคำสั่ง
IMPORTRANGE(spreadsheet_url, range_string)
-
spreadsheet_url
- URL ของสเปรดชีตจากที่ที่นำเข้าข้อมูล- ค่าของ
spreadsheet_url
ต้องอยู่ในเครื่องหมายคำพูดหรือเป็นการอ้างอิงเซลล์ที่มี URL ของสเปรดชีต
- ค่าของ
-
range_string
- สตริงในรูปแบบ"[sheet_name!]range"
(เช่น"Sheet1!A2:B6"
หรือ"A2:B6"
) ซึ่งระบุช่วงที่ต้องการนำเข้า-
ผู้ใช้จะระบุหรือไม่ระบุองค์ประกอบ
sheet_name
ของrange_string
ก็ได้ โดยระบบจะนำเข้าค่าเริ่มต้นIMPORTRANGE
จากช่วงที่ระบุของชีตแรก -
ค่าของ
range_string
ต้องอยู่ในเครื่องหมายคำพูดหรือเป็นการอ้างอิงเซลล์ที่มีข้อความที่ถูกต้อง
-
รายละเอียดทางเทคนิคและแนวทางปฏิบัติแนะนำ
การอัปเดตเอกสารต้นทาง IMPORTRANGE
จะทําให้เอกสารที่ได้รับข้อมูลซึ่งเปิดอยู่ทั้งหมดรีเฟรชและแสดงแถบการโหลดสีเขียว นอกจากนี้ IMPORTRANGE
ยังรอให้การคํานวณเสร็จสมบูรณ์ในเอกสารต้นทางก่อนจะแสดงผลในเอกสารที่ได้รับข้อมูล แม้ว่าจะไม่มีการคํานวณในช่วงต้นทางดังกล่าวก็ตาม
แนวทางปฏิบัติแนะนำ
- จํากัดจํานวนชีตที่ได้รับข้อมูลเนื่องจากต้องอ่านชีตแต่ละรายการจากชีตต้นทาง
- ปรับโครงสร้างและจํากัดผลลัพธ์ก่อนที่จะใช้
IMPORTRANGE
โดยเฉพาะหากนําเข้าข้อมูลจากชีตที่อัปเดตบ่อย- ตัวอย่างเช่น เป้าหมายของคุณคือการคํานวณผลรวมของแถวแนวนอน 1,000,000 แถวจากสเปรดชีตอื่น จะเห็นได้ว่าการคํานวณผลรวมของสเปรดชีตนั้นทำได้รวดเร็วกว่าเดิม จากนั้นให้ใช้
IMPORTRANGE
เพื่อดึงข้อมูลผลรวมจํานวนนั้นแทนที่จะใช้IMPORTRANGE
เพื่อโอนข้อมูลแถวแนวนอนทั้ง 1,000,000 แถวโดยตรง และคํานวณผลรวมในสเปรดชีต วิธีนี้จะจํากัดและรวบรวมข้อมูลสําหรับIMPORTRANGE
ก่อนการโอน
- ตัวอย่างเช่น เป้าหมายของคุณคือการคํานวณผลรวมของแถวแนวนอน 1,000,000 แถวจากสเปรดชีตอื่น จะเห็นได้ว่าการคํานวณผลรวมของสเปรดชีตนั้นทำได้รวดเร็วกว่าเดิม จากนั้นให้ใช้
การอัปเดต IMPORTRANGE
สามารถเผยแพร่ไปยังชีตอื่นๆ เมื่อคุณเชื่อมโยงชีตเข้าด้วยกัน หากชีต B มี IMPORTRANGE(sheet A)
และชีต C มี IMPORTRANGE(sheet B)
ระบบจะสร้างเชน การอัปเดตชีต A จะทําให้ชีต B และชีต C โหลดซ้ํา
แนวทางปฏิบัติแนะนำ
- จํากัดเชน
IMPORTRANGE
ในชีตหลายรายการ - หลีกเลี่ยงวงจรของ
IMPORTRANGE
ตัวอย่างเช่น อาจเป็นการสร้างวงจรหากคุณใช้IMPORTRANGE
ในหลายสเปรดชีตที่อ้างอิงถึงกันและกัน เช่น ข้อมูลของสเปรดชีต A ใช้IMPORTRANGE
จากสเปรดชีต B และสเปรดชีต B ก็ใช้IMPORTRANGE
เพื่อดึงข้อมูลจากสเปรดชีต A การดําเนินการนี้จะทําให้ระบบวนซ้ําในแต่ละรายการ โดยพยายามอ้างอิงกันและกันอย่างต่อเนื่อง และไม่ทําให้เกิดเอาต์พุตข้อมูลจริง - การเปลี่ยนแปลงของชีตต้นฉบับและชีตที่ได้รับผลกระทบจะมีความล่าช้า ซึ่งหมายความว่าเลเยอร์
IMPORTRANGE
หลายเลเยอร์ในเอกสารหลายๆ เชนอาจทําให้การอัปเดตชีตต้นทางล่าช้าและส่งผลต่อชีตที่ได้รับผลกระทบ
IMPORTRANGE
จะโหลดซ้ําเมื่อมีการเปิดเอกสารครั้งแรกหรือเปิดเอกสารภายใน 5 นาทีที่ผ่านมา เช่นเดียวกับกรณีของเชนการอัปเดต วิธีนี้ต้องใช้ IMPORTRANGE
เพื่อ "ปลุก" เอกสารทั้งหมดที่นําเข้ามา
แนวทางปฏิบัติแนะนำ
- โปรดทราบว่าการอัปเดตเอกสารอาจใช้เวลาสักพัก คุณควรจํากัดเชนของ
IMPORTRANGE
สิทธิ์และการเข้าถึง
IMPORTRANGE
เมื่อชีตปลายทางดึงข้อมูลจากชีตต้นทางใหม่เป็นครั้งแรก ผู้ใช้จะได้รับข้อความแจ้งว่าต้องให้สิทธิ์IMPORTRANGE
เพื่อโอนข้อมูลจากสเปรดชีตที่คุณเป็นเจ้าของ ข้อความนี้จะปรากฏขึ้น- รอสักครู่หลังจากใช้ฟังก์ชัน
IMPORTRANGE
เสร็จสมบูรณ์แล้ว - ข้อผิดพลาด #REF จะเปิดขึ้นและพร้อมระบุว่า "คุณต้องเชื่อมต่อชีตเหล่านี้ โปรดอนุญาตให้เข้าถึง"
- หากต้องการให้สิทธิ์เข้าถึงสเปรดชีตต้นทาง ให้คลิกอนุญาตให้เข้าถึง
หากคุณพยายามใช้ IMPORTRANGE
เพื่อโอนข้อมูลจากสเปรดชีตที่คุณไม่ได้เป็นเจ้าของ ข้อความนี้จะปรากฏขึ้นในอีกไม่กี่วินาที
- ป้อน URL สเปรดชีตต้นฉบับในเบราว์เซอร์
- ขอสิทธิ์เข้าถึงสเปรดชีต
- รอให้เจ้าของสเปรดชีตมอบสิทธิ์ให้คุณ
IMPORTRANGE
เพื่อดึงข้อมูลจากส่วนใดก็ได้ของสเปรดชีตต้นทาง สิทธิ์การเข้าถึงจะมีผลต่อไปจนกว่าผู้ใช้ที่ให้สิทธิ์นั้นจะถูกนำออกจากแหล่งที่มาของข้อมูล โปรดทราบว่าสิทธิ์เข้าถึงชีตปลายทางจะใช้โควต้าการแชร์ให้ผู้ใช้ได้สูงสุด 600 รายสําหรับชีตต้นทางประสิทธิภาพ
IMPORTRANGE
เป็นฟังก์ชันข้อมูลภายนอก เช่นเดียวกับ IMPORTXML
และ GOOGLEFINANCE
ซึ่งหมายความว่าคุณจะต้องเชื่อมต่ออินเทอร์เน็ตจึงจะใช้งานได้ ชีตต้องดาวน์โหลดทั้งช่วงลงในคอมพิวเตอร์ของคุณและจะดำเนินการได้ช้าหากเครือข่ายมีความเร็วต่ำ โดยจะรับข้อมูลได้ไม่เกิน 10 MB ต่อคำขอ หากพบว่าโฟลเดอร์ IMPORTRANGE
ทํางานช้า คุณควรจํากัดขนาดของช่วงที่นําเข้า หรือใส่การคํานวณแบบสรุปไว้ในเอกสารต้นทางเพื่อลดจำนวนข้อมูลที่จะโอนไปยังชีตในเครื่อง ซึ่งทำให้คํานวณเพิ่มเติมจากระยะไกลได้มากขึ้น
เคล็ดลับ: คุณอาจใช้เครื่องมืออื่นๆ AppsScript สามารถอ่านข้อมูลจากเอกสารอื่นๆ และทริกเกอร์การแก้ไขได้และตามกําหนดเวลาที่ระบุไว้ล่วงหน้า ชีตที่เชื่อมต่อมีการรีเฟรชที่กําหนดเวลาไว้ รวมทั้งได้รับการสร้างขึ้นให้โหลดและนําเข้าชุดข้อมูลที่ใหญ่ขึ้นได้ดีกว่า
ขีดจำกัดการใช้งาน
IMPORTRANGE
สร้างการรับส่งข้อมูลมากเกินไป คุณอาจเห็นข้อความในเซลล์ที่ระบุว่า "กําลังโหลด…" พร้อมข้อความแสดงข้อผิดพลาดโดยละเอียดว่า "เกิดข้อผิดพลาดในการโหลด อาจใช้เวลาสักครู่เนื่องจากมีคําขอจํานวนมาก ลองลดจํานวนฟังก์ชัน IMPORTHTML
, IMPORTDATA
, IMPORTFEED
หรือ IMPORTXML
ในสเปรดชีตที่คุณสร้าง"=IMPORTRANGE(arg)
มีการเปลี่ยนแปลงบ่อย อาจมีการออกการเรียกภายนอกหลายรายการ ซึ่งอาจทําให้มีการควบคุมความใหม่ของข้อมูล
IMPORTRANGE
จะตรวจหาการอัปเดตโดยอัตโนมัติทุกชั่วโมงขณะที่เอกสารเปิดอยู่ แม้ว่าสูตรและสเปรดชีตจะไม่เปลี่ยนแปลง หากคุณลบ อ่าน หรือเขียนทับเซลล์ที่มีสูตรเดียวกัน ระบบจะทริกเกอร์การโหลดฟังก์ชันซ้ํา หากคุณเปิดและโหลดเอกสารซ้ํา ระบบจะไม่ทริกเกอร์การโหลดซ้ําใน IMPORTRANGE
ความผันผวน
IMPORTRANGE
คุณอาจได้รับ "#ERROR!" ในเซลล์ พร้อมข้อความแสดงข้อผิดพลาดโดยละเอียด "เกิดข้อผิดพลาด ฟังก์ชันนี้ไม่สามารถอ้างอิงเซลล์ด้วย NOW
, RAND
หรือ RANDBETWEEN
" ฟังก์ชันนําเข้าต้องไม่อ้างอิงฟังก์ชันที่มีความผันผวนโดยตรงหรือโดยอ้อม เช่น ตอนนี้
RAND
หรือ RANDBETWEEN
วิธีนี้จะช่วยป้องกันไม่ให้สเปรดชีตของผู้ใช้ทํางานหนักเกินไป เนื่องจากฟังก์ชันที่มีความผันผวนเหล่านี้มีการอัปเดตบ่อยครั้งTODAY
ซึ่งมีความผันผวน แต่จะอัปเดตเพียงวันละไม่เกิน 1 ครั้งขอแนะนำให้คุณทำดังนี้
- คัดลอกผลลัพธ์ของฟังก์ชันที่มีความผันผวนเหล่านั้น
- ใช้การวางแบบพิเศษ ค่าเท่านั้น
- อ้างอิงค่าแบบคงที่เหล่านั้น
หากทําเช่นนี้ ค่าทั้งหมดจะกลายเป็นแบบคงที่ เช่น หากคัดลอกและวางผลลัพธ์แบบพิเศษ NOW
ในรูปแบบของค่า ค่าที่คุณวางจะไม่เปลี่ยนแปลง
หากยังมีคําถาม โปรดไปที่ชุมชนความช่วยเหลือเกี่ยวกับเครื่องมือแก้ไข Google เอกสารเพื่อขอความช่วยเหลือ
ดูเพิ่มเติม
IMPORTXML
: นำเข้าข้อมูลจากประเภทข้อมูลที่มีโครงสร้างที่หลากหลาย ซึ่งรวมถึง XML, HTML, CSV, TSV และฟีด RSS และ ATOM XML
IMPORTHTML
: นำเข้าข้อมูลจากตาราง/รายการภายในหน้า HTML
IMPORTFEED
: นำเข้าฟีด RSS หรือ Atom
IMPORTDATA
: นำเข้าข้อมูลจาก URL ที่ระบุในรูปแบบ .csv (ค่าที่คั่นด้วยจุลภาค) หรือ .tsv (ค่าที่คั่นด้วยแท็บ)