ฉันจะค้นหาค่าจากชีตอื่นใน Google เอกสารได้อย่างไร


16

ฉันมีหน้าซึ่งมีลักษณะเช่นนี้:

╔═══╦════════╦══════╦═══╗
║ A ║ B      ║ C    ║ D ║
╠═══╬════════╬══════╬═══╣
║ 1 ║ User A ║ 144  ║   ║
║ 2 ║ User B ║ 5478 ║   ║
║ 3 ║ User A ║ 2156 ║   ║
╚═══╩════════╩══════╩═══╝

ฉันต้องการเติมคอลัมน์ D ด้วยข้อมูลจากหน้าอื่น:

╔═════╦══════╦═══╦════════╗
║ A   ║ B    ║ C ║ D      ║
╠═════╬══════╬═══╬════════╣
║ ABC ║ User ║ B ║ User B ║
║ DEF ║ User ║ A ║ User A ║
╚═════╩══════╩═══╩════════╝

หมายเหตุ: คอลัมน์ D เป็นการต่อกันของคอลัมน์ B และ C

ในกรณีนี้ควรเติมคอลัมน์ D ในหน้า 1 ด้วยข้อมูลจากคอลัมน์ A ในหน้า 2 ที่ตรงกับ Page1! B ถึง Page2! D ซึ่งควรสร้างตารางรวมต่อไปนี้:

╔═══╦════════╦══════╦═════╗
║ A ║ B      ║ C    ║ D   ║
╠═══╬════════╬══════╬═════╣
║ 1 ║ User A ║ 144  ║ DEF ║
║ 2 ║ User B ║ 5478 ║ ABC ║
║ 3 ║ User A ║ 2156 ║ DEF ║
╚═══╩════════╩══════╩═════╝

ฉันจะทำสิ่งนี้ใน Google Spreadsheets ได้อย่างไร



1
ฉันไม่แน่ใจ. คำถามอื่นเกี่ยวกับการเชื่อมโยงไปยังเอกสารอื่นและการแก้ปัญหาแตกต่างกัน
ChrisF

คำตอบ:


23

คุณจำเป็นต้องใช้VLOOKUPฟังก์ชั่น

ฉันมีต่อไปนี้ใน Sheet1 ข้อความแสดงแทน

และนี่ในแผ่นที่ 2

ข้อความแสดงแทน

ฉันได้กำหนดช่วงให้กับค่าใน Sheet2 และเรียกว่าช่วง LookupValues

จากนั้นในสูตรของฉันสำหรับคอลัมน์ D ในแผ่นงาน 1 ฉันมี: ข้อความแสดงแทน

รายละเอียดของสูตรคือ:

  • A3คือค่าที่พบในช่วงการค้นหา
  • LookupValuesค่าที่จะค้นหา
  • 3ดัชนีของช่วงที่จะส่งคืนหากพบค่า (A3) ในช่วง (LookupValues)

UPDATE

หากต้องการสร้างช่วงให้คลิกขวาที่ sqaure ที่ด้านบนซ้ายของสเปรดชีตแล้วเลือกกำหนดช่วงที่มีชื่อ

ข้อความแสดงแทน

จากนั้นคุณป้อนชื่อเล่นหรือนามแฝงที่คุณต้องการให้ช่วงเป็นที่รู้จัก / อ้างอิงเป็นและช่วงของเซลล์ที่คุณต้องการให้มีอยู่ในช่วง

ข้อความแสดงแทน

จากนั้นคุณสามารถเข้าถึงช่วงของเซลล์ด้วยชื่อแทนที่จะใช้Sheet2!A1:T100วิธีดั้งเดิม

แก้ไข 2

เพื่อตอบคำถามที่อัปเดตของคุณคุณจะต้องเปลี่ยนสูตรเป็น:

=VLOOKUP(B1, LookupValues, 1)

นี่จะค้นหาช่วงของคุณสำหรับค่าใน B1 จาก Sheet1 เช่น "ผู้ใช้ A" จากนั้นคืนค่าใดก็ตามที่อยู่ในคอลัมน์ 1 เช่น "ABC"


คุณช่วยอธิบายช่วงที่คุณใช้สำหรับ LookupValues ​​ได้ไหม ฉันยังแก้ไขตัวอย่างเล็กน้อยเพื่อสะท้อนถึงปัญหาที่แท้จริงของฉันดีขึ้น
เหตุผล

@Senseful - ฉันได้อัปเดตคำตอบของฉันแล้ว หากคุณมีปัญหาเพิ่มเติมแจ้งให้เราทราบ
codingbadger

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

ใช่มันเหมือนกันใน MS Excel ฉันมักจะลองและพูดว่า "การค้นหาจากคอลัมน์นี้มองในคอลัมน์และให้คอลัมน์นี้แก่ฉัน" แทนที่จะระบุช่วง มันเป็นเรื่องที่แปลก :)
codingbadger

ใน Google เอกสาร (สเปรดชีต) ตอนนี้เรียกว่า "ช่วงที่ตั้งชื่อและมีการป้องกัน" ในเมนูคลิกขวา
ingh.am

3

คุณสามารถใช้:

index(reference, [row], [column])

ที่อยู่:

reference = Sheet2!$A$1:$A$2

row = match(B1,Sheet2!$D$1:$D$2,0)

column = 1

Cell D1 ได้รับค่าต่อไปนี้:

= index(Sheet2!$A$1:$A$2,match(B1,Sheet2!$D$1:$D$2,0),1)

ลากค่าเหล่านี้ไปยังเซลล์ D2 และ D3

ซึ่งถือว่าแผ่นงานที่สองของคุณเรียกว่า Sheet2 แน่นอน


match(B1,Sheet2!$D$1:$D$2,0)

... จะส่งคืนหมายเลขแถวในอาร์เรย์ D1: D2 ของ Sheet2 ซึ่งมีการจับคู่ชื่อผู้ใช้ในเซลล์ B1


2

คุณสามารถทำการจับคู่ของคุณด้วยสูตร VLOOKUP อย่างง่าย ๆ หากข้อมูลอยู่ในชีตที่ต่างกันในสเปรดชีตเดียวกัน แต่ตัวอย่างจาก codingbadger ไม่มีอาร์กิวเมนต์ (ต้องมี "FALSE" สำหรับสูตรเพื่อให้ส่งเฉพาะการจับคู่ที่แน่นอนเท่านั้น ไม่ทำงานหากแตกต่างหรือหายไป)

การใช้งานตัวอย่าง : VLOOKUP (10003, A2: B26, 2, FALSE)

ไวยากรณ์ : VLOOKUP (search_key, ช่วง, ดัชนี, [is_sorted])

search_key - ค่าที่ต้องการค้นหา ตัวอย่างเช่น 42, "Cats" หรือ I24

range - ช่วงที่ต้องพิจารณาสำหรับการค้นหา คอลัมน์แรกในช่วงจะค้นหาคีย์ที่ระบุใน search_key

ดัชนี - ดัชนีคอลัมน์ของค่าที่จะส่งคืนโดยที่คอลัมน์แรกในช่วงนั้นมีหมายเลข 1

หากดัชนีไม่อยู่ระหว่าง 1 ถึงจำนวนคอลัมน์ในช่วง #VALUE! ถูกส่งคืน is_sorted - [OPTIONAL - TRUE โดยค่าเริ่มต้น] - ระบุว่าจะค้นหาคอลัมน์ (คอลัมน์แรกของช่วงที่ระบุ) หรือไม่

หาก is_sorted เป็น TRUE หรือไม่ระบุจะส่งคืนการจับคู่ที่ใกล้ที่สุด (น้อยกว่าหรือเท่ากับคีย์การค้นหา) หากค่าทั้งหมดในคอลัมน์ค้นหามีค่ามากกว่าคีย์ค้นหาระบบจะส่งกลับ # N / A

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

หาก is_sorted เป็น FALSE จะมีการส่งคืนการจับคู่แบบตรงทั้งหมดเท่านั้น หากมีค่าที่ตรงกันหลายค่าเนื้อหาของเซลล์ที่สอดคล้องกับค่าแรกที่พบจะถูกส่งคืนและ # N / A จะถูกส่งกลับหากไม่พบค่าดังกล่าว

ตัวอย่างสดที่นี่: https://www.youtube.com/watch?v=WbWoJgdeR-s

ดูคู่มือที่สมบูรณ์ได้ที่: https://support.google.com/docs/answer/3093318?hl=th

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.