สารบัญ
บล็อกโพสต์วันนี้มีวิธีการรวม Google ชีต 2 แผ่นเข้าด้วยกัน คุณจะใช้โปรแกรมเสริม VLOOKUP, INDEX/MATCH, QUERY และ Merge Sheets เพื่ออัปเดตเซลล์ในแผ่นงานหนึ่งจากบันทึกจากอีกแผ่นหนึ่งตามข้อมูลที่ตรงกันในคอลัมน์ทั่วไป
ผสาน Google ชีตที่ใช้ฟังก์ชัน VLOOKUP
สิ่งแรกที่คุณอาจใช้เมื่อต้องจับคู่และรวม Google ชีตสองแผ่นคือฟังก์ชัน VLOOKUP
ไวยากรณ์ & การใช้งาน
ฟังก์ชันนี้ค้นหาคอลัมน์ที่คุณระบุสำหรับค่าคีย์บางค่า และดึงหนึ่งในระเบียนที่เกี่ยวข้องจากแถวเดียวกันไปยังตารางหรือแผ่นงานอื่น
แม้ว่า Google ชีต VLOOKUP จะถือว่าเป็น หนึ่งในฟังก์ชันที่ยาก ซึ่งจริง ๆ แล้วค่อนข้างตรงไปตรงมาและง่ายด้วยซ้ำเมื่อคุณรู้จักมัน
มาดูส่วนประกอบของมันกัน:
=VLOOKUP(search_key, range, index, [is_sorted] )- search_key คือค่าคีย์ที่คุณกำลังมองหา โดยอาจเป็นสตริงข้อความ ตัวเลข หรือการอ้างอิงเซลล์ก็ได้
- ช่วง คือกลุ่มของเซลล์ (หรือตาราง) ที่คุณจะมองหา คีย์การค้นหา และคุณจะดึงบันทึกที่เกี่ยวข้องจากที่ใด
หมายเหตุ VLOOKUP ใน Google ชีตจะสแกนคอลัมน์แรกของ ช่วง เพื่อหา คีย์การค้นหา เสมอ
- ดัชนี คือจำนวนคอลัมน์ภายใน ช่วง ที่คุณต้องการดึงข้อมูลมา
เช่น ถ้าช่วงที่คุณต้องการค้นหาคือ A2:E20 และเป็นคอลัมน์ Eคุณต้องรับข้อมูลจาก ให้ป้อน 5 แต่ถ้าช่วงของคุณคือ D2:E20 คุณจะต้องป้อน 2 เพื่อรับระเบียนจากคอลัมน์ E
- [is_sorted] เป็นอาร์กิวเมนต์เดียวที่คุณสามารถละเว้นได้ ใช้เพื่อบอกว่าคอลัมน์ที่มีค่าคีย์ถูกจัดเรียง (TRUE) หรือไม่ (FALSE) หากเป็น TRUE ฟังก์ชันจะทำงานร่วมกับคู่ที่ใกล้เคียงที่สุด หากเป็น FALSE จะทำงานร่วมกับคู่ที่สมบูรณ์ เมื่อละเว้น TRUE จะถูกใช้เป็นค่าเริ่มต้น
เคล็ดลับ เรามีคำแนะนำโดยละเอียดเกี่ยวกับ VLOOKUP ใน Google ชีต โปรดตรวจสอบเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชัน ลักษณะเฉพาะ & ขีดจำกัด และรับตัวอย่างสูตรเพิ่มเติม
เมื่อคำนึงถึงข้อโต้แย้งเหล่านี้แล้ว เราจะใช้ VLOOKUP เพื่อรวม Google ชีตสองแผ่น
สมมติว่าฉันมีตารางเล็กๆ ที่มีผลเบอร์รี่และ ID ของตารางใน Sheet2 ไม่ทราบว่ามีสต็อคไหม:
ขอเรียกตารางนี้ว่าตารางหลักเนื่องจากเป้าหมายของฉันคือการกรอกข้อมูล
ยังมีตารางอื่นใน Sheet1 ที่มี ข้อมูลทั้งหมดที่มีอยู่ รวมทั้งสต็อกที่มีอยู่:
ฉันจะเรียกมันว่าตารางการค้นหา เนื่องจากฉันจะตรวจสอบเพื่อให้ได้ข้อมูล
ฉัน จะใช้ฟังก์ชัน VLOOKUP ของ Google ชีตเพื่อรวม 2 ชีตนี้เข้าด้วยกัน ฟังก์ชันจะจับคู่ผลเบอร์รี่ในทั้งสองตาราง และดึงข้อมูล "หุ้น" ที่สอดคล้องกันจากการค้นหาไปยังตารางหลัก
=VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)
นี่คือวิธีการ สูตรจะรวมแผ่นงาน Google สองแผ่นเข้าด้วยกัน:
- ค้นหาค่าจาก B2 (แผ่นงานหลัก) ในคอลัมน์ B บนSheet1 (แผ่นค้นหา)
หมายเหตุ อย่าลืมว่า VLOOKUP จะสแกนคอลัมน์ที่ 1 ของช่วงที่ระบุ — Sheet1!$B$2:$C$10
หมายเหตุ ฉันใช้การอ้างอิงแบบสัมบูรณ์สำหรับช่วง เพราะฉันคัดลอกสูตรลงในคอลัมน์ ดังนั้นฉันต้องการช่วงนี้ให้คงเดิมในทุกแถว เพื่อไม่ให้ผลลัพธ์ขาดตอน
- FALSE ในตอนท้ายบอกว่าข้อมูลในคอลัมน์ B (ในแผ่นงานการค้นหา) ไม่ได้ถูกจัดเรียง ดังนั้นระบบจะพิจารณาเฉพาะข้อมูลที่ตรงกันเท่านั้น
- เมื่อมีข้อมูลที่ตรงกัน Google ชีต VLOOKUP จะดึงบันทึกที่เกี่ยวข้องจากคอลัมน์ที่ 2 ของช่วงนั้น (คอลัมน์ C)
ซ่อนข้อผิดพลาดที่ส่งคืนโดย VLOOKUP ใน Google ชีต — IFERROR
แต่ #N เหล่านั้นจะเป็นอย่างไร /A error?
คุณเห็นข้อผิดพลาดในแถวที่ผลเบอร์รี่ไม่ตรงกันในแผ่นงานอื่น และไม่มีอะไรจะส่งคืน โชคดีที่มีวิธีทำให้เซลล์ดังกล่าวว่างเปล่าแทน
เพียงรวม Google ชีต VLOOKUP ของคุณไว้ใน IFERROR:
=IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),"")
เคล็ดลับ . ดักจับและแก้ไขข้อผิดพลาดอื่นๆ ที่ Google ชีตของคุณ VLOOKUP อาจส่งคืนโดยใช้วิธีแก้ปัญหาจากคู่มือนี้
จับคู่& อัปเดตบันทึกสำหรับทั้งคอลัมน์พร้อมกัน — ArrayFormula
อีกสิ่งหนึ่งที่ฉันอยากจะพูดถึงคือวิธีจับคู่และรวมข้อมูล Google ชีตสำหรับทั้งคอลัมน์พร้อมกัน
ไม่มีอะไรพิเศษที่นี่ อีกหนึ่งฟังก์ชัน — ArrayFormula
เพียงแทนที่ระเบียนคีย์เซลล์เดียวของคุณใน Google ชีต VLOOKUP ด้วยทั้งคอลัมน์ แล้วใส่สูตรทั้งหมดนี้ภายใน ArrayFormula:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),""))
วิธีนี้ คุณไม่จำเป็นต้องคัดลอกสูตรลงในคอลัมน์ ArrayFormula จะส่งคืนผลลัพธ์ที่ถูกต้องไปยังแต่ละเซลล์ทันที
แม้ว่า VLOOKUP ใน Google ชีตจะสมบูรณ์แบบสำหรับงานง่ายๆ ดังกล่าว แต่ก็มีขีดจำกัดอยู่บ้าง นี่คือหนึ่งในข้อเสีย: ไม่สามารถมองไปทางซ้ายได้ ไม่ว่าคุณจะระบุช่วงใด ระบบจะสแกนคอลัมน์แรกเสมอ
ดังนั้น หากคุณต้องการรวม Google ชีต 2 แผ่นและดึง ID (ข้อมูลคอลัมน์ที่ 1) ตามผลเบอร์รี่ (คอลัมน์ที่ 2) VLOOKUP จะไม่ช่วยอะไร . คุณจะไม่สามารถสร้างสูตรที่ถูกต้องได้
ในกรณีเช่นนี้ INDEX MATCH สำหรับ Google ชีตจะเข้าสู่เกม
จับคู่ & รวม Google ชีตโดยใช้ INDEX MATCH duo
INDEX MATCH หรือมากกว่า INDEX & MATCH เป็นฟังก์ชัน Google ชีตที่แตกต่างกันสองฟังก์ชัน แต่เมื่อใช้ร่วมกัน มันก็เหมือนกับ VLOOKUP ระดับถัดไป
ใช่ พวกมันรวม Google ชีตด้วย: อัปเดตเซลล์ในตารางหนึ่งด้วยระเบียนจากตารางอื่นตามระเบียนคีย์ทั่วไป
แต่พวกเขาทำได้ดีกว่ามากเนื่องจากไม่สนใจข้อจำกัดทั้งหมดที่ VLOOKUP มี
วันนี้ฉันจะไม่พูดถึงพื้นฐานทั้งหมดเพราะฉันทำอย่างนั้นในบล็อกโพสต์นี้ แต่ฉันจะให้ตัวอย่างสูตร INDEX MATCH สองสามตัวอย่าง เพื่อให้คุณเห็นว่าสูตรเหล่านี้ทำงานโดยตรงในสเปรดชีตของ Google ได้อย่างไร ฉันจะใช้ตารางตัวอย่างเดียวกันจากด้านบน
การทำงานของ INDEX MATCH ใน Google ชีต
ก่อนอื่น เรามารวมตารางเหล่านั้นGoogle ชีตและอัปเดตความพร้อมของสต็อคสำหรับผลเบอร์รี่ที่ตรงกันทั้งหมด:
=INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0))
INDEX & MATCH ทำงานเมื่อใช้ร่วมกันอย่างนั้นหรือ
- MATCH ดูที่ B2 และค้นหาระเบียนเดียวกันในคอลัมน์ B บน Sheet1 เมื่อพบแล้ว จะส่งคืนจำนวนแถวที่มีค่านั้น — 10 ในกรณีของฉัน
- INDEX ไปที่แถวที่ 10 ใน Sheet1 เช่นกัน แต่จะรับค่าจากคอลัมน์อื่นเท่านั้น — C
ตอนนี้มาลองทดสอบ INDEX MATCH กับสิ่งที่ Google ชีต VLOOKUP ไม่สามารถทำได้ — รวมชีตและอัปเดตคอลัมน์ซ้ายสุดด้วยรหัสที่จำเป็น:
=INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0))
ง่ายนิดเดียว :)
จัดการข้อผิดพลาดที่ส่งคืนโดย INDEX MATCH ใน Google ชีต
มาดำเนินการต่อและกำจัดข้อผิดพลาดเหล่านั้นในเซลล์ที่ไม่มีรายการที่ตรงกัน IFERROR จะช่วยอีกครั้ง เพียงใส่ INDEX MATCH ของ Google ชีตเป็นอาร์กิวเมนต์แรก
ตัวอย่าง 1.
=IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
ตัวอย่าง 2.
=IFERROR(INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0)),"")
ตอนนี้ คุณจะรวม Google ชีตเหล่านั้นโดยใช้ INDEX MATCH และอัปเดตเซลล์ทั้งหมดในคอลัมน์ทั้งหมดพร้อมกันได้อย่างไร
อืม... คุณ อย่า. มีปัญหาเล็กน้อย: ArrayFormula ใช้ไม่ได้กับสองสูตรนี้
คุณจะต้องคัดลอกสูตร INDEX MATCH ลงในคอลัมน์หรือใช้ฟังก์ชัน QUERY ของ Google ชีตแทน
ผสาน Google ชีต & อัปเดตเซลล์โดยใช้ QUERY
Google ชีต QUERY เป็นฟังก์ชันที่มีประสิทธิภาพมากที่สุดในสเปรดชีตเมื่อคำนึงถึงสิ่งนี้ จึงไม่แปลกใจเลยที่จะเสนอวิธีการผสานตาราง — จับคู่ & amp; รวมค่าจากชีตต่างๆ
=QUERY(data, query, [headers])เคล็ดลับ หากคุณไม่เคยใช้ QUERY ของ Google ชีตมาก่อน บทแนะนำนี้จะแนะนำคุณเกี่ยวกับภาษาเฉพาะ
สูตร QUERY ควรมีลักษณะอย่างไรเพื่ออัปเดตคอลัมน์ สต็อก ด้วยข้อมูลจริง
=QUERY(Sheet1!$A$2:$C$10,"select C where&Sheet4!$B2:$B$10&""")
- Google ชีต QUERY ดูที่แผ่นการค้นหาของฉัน (Sheet1 ที่มีระเบียนที่ฉันต้องดึงไปที่ตารางหลัก)
- และส่งกลับเซลล์เหล่านั้นทั้งหมดจากคอลัมน์ C โดยที่คอลัมน์ B ตรงกับผลเบอร์รี่ในตารางหลักของฉัน
ให้ฉันเสียข้อผิดพลาดเหล่านั้นสำหรับเซลล์ที่ไม่ตรงกัน:
=IFERROR(QUERY(Sheet1!$A$2:$C$10,"select C where&Sheet4!$B2:$B$10&"""),"")
ดีกว่า :)
รวมตารางจากสเปรดชีตต่างๆ ของ Google — ฟังก์ชัน IMPORTRANGE
มีอีกหนึ่งฟังก์ชันที่ฉันอยากพูดถึง มีความสำคัญเนื่องจากช่วยให้คุณสามารถผสานแผ่นงานที่อยู่ในสเปรดชีตของ Google (ไฟล์) ต่างๆ ได้
ฟังก์ชันนี้เรียกว่า IMPORTRANGE:
=IMPORTRANGE("spreadsheet_url","range_string")- อันแรกไปที่ลิงก์ไปยังสเปรดชีตที่คุณดึงข้อมูลจาก
- อันหลังไปที่ชีต & ช่วงที่คุณต้องการรับจากสเปรดชีตนั้น
หมายเหตุ ฉันขอแนะนำให้ใช้ Google เอกสารในฟังก์ชันนี้ เพื่อให้คุณไม่พลาดสาระสำคัญใดๆ ของการทำงานของมัน
ลองจินตนาการว่าแผ่นงานการค้นหาของคุณ (ที่มีไฟล์ข้อมูลอ้างอิง) อยู่ในสเปรดชีต 2 (หรือที่เรียกว่าสเปรดชีตการค้นหา) แผ่นงานหลักของคุณอยู่ในสเปรดชีต 1 (สเปรดชีตหลัก)
หมายเหตุ เพื่อให้ IMPORTRANGE ทำงานได้ คุณต้องเชื่อมต่อทั้งสองไฟล์ และแม้ว่า Google ชีตจะแนะนำปุ่มสำหรับสิ่งนั้นทันทีหลังจากที่คุณพิมพ์สูตรของคุณในเซลล์และกด Enter สำหรับสูตรด้านล่าง คุณอาจต้องทำก่อน คำแนะนำทีละขั้นตอนนี้จะช่วยคุณได้
ด้านล่างคือตัวอย่างการรวม Google ชีตจากไฟล์ต่างๆ โดยใช้ IMPORTRANGE กับแต่ละฟังก์ชันที่คุณได้เรียนรู้ก่อนหน้านี้
ตัวอย่าง 1. IMPORTRANGE + VLOOKUP
ใช้ IMPORTRAGE เป็นช่วงใน VLOOKUP เพื่อรวม 2 สเปรดชีตของ Google แยกกัน:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq…j7o/edit","Sheet1!$B$2:$C$10"),2,FALSE),""))
ตัวอย่างที่ 2. IMPORTRANGE + INDEX MATCH
สำหรับ INDEX MATCH & นำเข้าช่วง สูตรจะมีขนาดใหญ่ขึ้นเนื่องจากคุณต้องอ้างอิงสเปรดชีตอื่นสองครั้ง: เป็นช่วงสำหรับ INDEX และเป็นช่วงสำหรับ MATCH:
=IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq…j7o/edit","Sheet1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq…j7o/edit","Sheet1!$B$2:$B$10"),0)),"")
ตัวอย่าง 3. IMPORTRANGE + QUERY
สูตรผสมนี้เป็นรายการโปรดส่วนตัวของฉัน พวกเขาสามารถจัดการกับเกือบทุกอย่างในสเปรดชีตเมื่อใช้ร่วมกัน การรวม Google ชีตจากสเปรดชีตแยกต่างหากนั้นไม่ใช่ข้อยกเว้น
=IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq…j7o/edit","Sheet1!$A$2:$C$10"),"select Col3 where&QUERY!$B2:$B$10&"""),"")
ว้าว!
นั่นคือทั้งหมดสำหรับฟังก์ชัน & สูตร
คุณมีอิสระที่จะเลือกฟังก์ชัน & สร้างสูตรของคุณเองตามตัวอย่างข้างต้น...
หรือ...
...ลองใช้เครื่องมือพิเศษที่รวม Google ชีตเข้าด้วยกัน! ;)
ปราศจากสูตรวิธีจับคู่ & amp; รวมข้อมูล — Add-on ผสานชีตสำหรับ Google ชีต
หากคุณไม่มีเวลาสร้างหรือแม้แต่เรียนรู้สูตร หรือถ้าคุณเพียงมองหาวิธีที่ง่ายที่สุดในการรวมข้อมูลตามบันทึกทั่วไป รวมชีตจะสมบูรณ์แบบ
ทั้งหมดที่คุณต้องทำคือทำเครื่องหมายที่ช่องทำเครื่องหมายใน 5 ขั้นตอนที่ใช้งานง่าย:
- เลือกชีตหลักของคุณ
- เลือก แผ่นงานการค้นหาของคุณ
- ทำเครื่องหมายคอลัมน์หลัก (ที่มีระเบียนที่จะจับคู่) พร้อมช่องทำเครื่องหมาย
- เลือกคอลัมน์ที่จะอัปเดต:
มีความเป็นไปได้ที่จะบันทึกตัวเลือกที่เลือกทั้งหมดลงในสถานการณ์และนำมาใช้ใหม่ได้ทุกเมื่อที่คุณต้องการ:
ดูวิดีโอสาธิตความยาว 3 นาทีเพื่อดูวิธีการทำงาน:
ขอแนะนำให้คุณติดตั้ง Merge Sheets จาก Google Sheets Store และทำตามคำแนะนำเหล่านี้เพื่อลอง และอัปเดตตารางของคุณเองด้วยข้อมูลจากชีตอื่น
สเปรดชีตพร้อมตัวอย่างสูตร
ผสาน Google ชีต & อัปเดตข้อมูล - ตัวอย่างสูตร (ทำสำเนาไฟล์)