การนำเข้าเฉพาะบางแถวระหว่างเอกสารสเปรดชีต


12

เอกสาร 1 มีข้อมูลหลายแถว

ฉันจะนำเข้าสู่เอกสาร 2 เฉพาะแถวที่มีค่าบางอย่างในคอลัมน์ C ได้อย่างไร

คำตอบ:


15

ข้อมูลเบื้องต้น:

สิ่งนี้ไม่ได้ส่งตรงตามการนำเข้าปกติโดยใช้IMPORTฟังก์ชั่น ด้วยฟังก์ชั่นนี้คุณสามารถนำเข้าเท่านั้น:

=IMPORTRANGE("key","range")

การเพิ่มฟังก์ชั่นเช่นSUMหรือFILTERภายในสตริง "ช่วง" จะส่งผลให้เกิดข้อผิดพลาด ต้องพบวิธีแก้ปัญหาโดยใช้QUERYฟังก์ชัน:

=QUERY(IMPORTRANGE("key","range"),"SELECT * WHERE Col1='value'")

หรือ

=QUERY(IMPORTRANGE("key","A:Z"),"SELECT * WHERE Col1 contains 'value'")

บันทึก:

หลังจาก WHERE นิยามคอลัมน์ต้องเป็นตัวอักษรตัวใหญ่ตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก Col จะทำงาน COL หรือ col จะไม่ทำงาน

การเรียงลำดับ:

เมื่อนำเข้าแล้วคุณสามารถสั่งซื้อผลลัพธ์ได้โดยใช้ORDER BYข้อ:

=QUERY(IMPORTRANGE("key","A:Z"),"SELECT * WHERE Col1 contains 'value' ORDER BY Col1")

เลือกคอลัมน์:

ดังนั้นIMPORTRANGEฟังก์ชั่นไม่สามารถเลือกคอลัมน์ได้มันสามารถทำได้เพียงหนึ่งช่วงบล็อกเท่านั้น วิธีรอบนี้คือการใช้ส่วนคำสั่งQUERYฟังก์ชั่นSELECT:

=QUERY(IMPORTRANGE("key","A:Z"),"SELECT Col1, Col2, Col3 WHERE Col1 contains 'value' ORDER BY Col1")

อ้างอิง:

  • IMPORTRANGEฟังก์ชั่น: IMPORTRANGE
  • การใช้งานQUERYร่วมกับIMPORTฟังก์ชั่น: QUERY / IMPORT
  • การใช้WHEREส่วนคำสั่งในQUERYฟังก์ชั่น: QUERY / WHERE
  • การใช้ORDER BYclause ในQUERYฟังก์ชัน: QUERY / ORDER BY

1
@ user2338585 โปรดทำเครื่องหมายคำตอบเพื่อให้ผู้เยี่ยมชมในอนาคตจะสังเกตเห็น !! โชคดี.
จาค็อบ ม.ค. Tuinstra

เฮ้ @Jacob - ขอบคุณมาก! นั่นเป็นงานเขียนที่น่าทึ่ง ... ฉันพยายามทำสิ่งที่คล้ายกันมาก แต่ด้วยขั้นตอนพิเศษหนึ่งขั้น ... ฉันต้องการให้เลือกข้อมูลหลักเพื่อตั้งค่าผ่านค่าของเซลล์ในสเปรดชีตเป้าหมาย .. . ie ในคอลัมน์แผ่นงาน A แถวที่ 2 ฉันมีค่า (เช่น 10,00023) และฉันต้องการค่าคอลัมน์จากแถวที่ตรงกันในสเปรดชีตต้นทางที่จะนำเข้า ... พยายามใช้เซลล์ A2 ในคอลัมน์คอลัมน์ที่คุณเลือกโดยใช้จำนวนมาก ชุดค่าผสมที่แตกต่างกันเพื่ออ้างอิง เฉื่อยชาเมื่อฉันแก้ไขสูตรของมันแสดงให้เห็นค่า A2 เมื่อไฮไลต์ แต่จะไม่ใช้มัน ..
จูเลียน Higginson

3

มีปัญหาเดียวกันนี้: นี่คือสิ่งที่ฉันลงเอยด้วยการใช้

= iferror (QUERY (IMPORTRANGE (" https://docs.google.com/spreadsheets/d/urlYOUR_KEY_FROM_URLOWN/edit ", "ชื่อแผ่นงานที่คุณกำลังใช้! A2: I42"), "เลือก * ที่ซึ่ง Col5 CONTAINS ' ผ้าเช็ดตัว "", 1), "ยังไม่มีค่า!")

ให้ทำลายมันลงเล็กน้อย

IFERROR อนุญาตให้คุณแสดงข้อความที่เป็นมิตรกับผู้ใช้หากสิ่งนี้ล้มเหลวเนื่องจากไม่มีการส่งคืนข้อมูล

QUERY อนุญาตให้คุณระบุเกณฑ์การค้นหา คุณสามารถละเว้นสิ่งนี้ได้หากคุณต้องการนำเข้าช่วงของเซลล์โดยไม่คำนึงถึง

นำเข้าใช้ url ที่มีให้จากนั้นดึงชีตนี้ดูช่วงเหล่านี้ (ซ้ายบนไปขวาล่าง)


เป็นสิ่งสำคัญที่จะต้องทราบว่า IMPORTRANGE จะส่งคืน 'สเปรดชีตขนาดเล็ก' ตามสิ่งที่คุณต้องการ: A2: I42 ในกรณีนี้ 9 คอลัมน์ แม้ว่าแผ่นงานต้นฉบับของคุณมี 20 คอลัมน์แบบสอบถามจะมีสิทธิ์เข้าถึงคอลัมน์ที่จะถูกส่งกลับเท่านั้น ดังนั้นหาก QUERY ใช้ Col12 มันจะส่งข้อผิดพลาดเนื่องจากมีการส่งคืนเพียง 9 รายการเท่านั้น
roberthuttinger
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.