การใช้การอ้างอิงแบบมีโครงสร้างกับตาราง Excel

ฉันหวังว่าชื่อของปัญหาของฉันถูกต้อง ฉันจะพยายามยกตัวอย่าง สมมติว่าฉันมี 2 ตาราง ("table1", "table2") ซึ่งมีโครงสร้างเหมือนกัน (สมมติว่ามี 3 คอลัมน์ "FirstName", "LastName", "Age")

หากฉันต้องการรับข้อมูลในตารางเฉพาะ (อายุของบุคคลในตารางที่ 1) ฉันรู้ว่าฉันสามารถทำอะไรบางอย่างเช่น vlookup หรือ index(match()) แต่ตอนนี้ ฉันมาถึงส่วนที่ยุ่งยากแล้ว ฉันต้องการให้ชื่อตารางอ้างอิงในเซลล์ โดยเมื่อฉันลากสูตร ชื่อตารางจะเปลี่ยนไป:

Age LastName    FirstName
18  Lname1      Fname1
18  Lname2      Fname2
20  Lname3      Fname3


Age LastName    FirstName
22  Lname4       Fname1
22  Lname5      Fname2
21  Lname6      Fname3

so, if I want to get the age of Fname2 from Table1 I would do something like this:

=INDEX(Table1[อายุ],MATCH("Fname2",Table1[FirstName],0))

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

=INDEX(C3[อายุ],MATCH("Fname2",C3[FirstName],0))

เห็นได้ชัดว่ามันใช้งานไม่ได้ แต่มีวิธีการทำเช่นนี้หรือไม่?

ขอบคุณล่วงหน้านะนิมิ


person Nimi    schedule 28.06.2015    source แหล่งที่มา
comment
คุณหมายความว่าคุณต้องการสร้างสูตรที่อ้างอิงถึง Table1 (เช่น =INDEX(Table1[Age],MATCH("Fname2",Table1[FirstName],0)) ) เพื่อให้เวอร์ชันที่ทำซ้ำนั้นอ้างอิงถึงตารางอื่น เช่น Table2 หรือไม่ และคุณต้องการระบุว่าชื่อของอีกตารางหนึ่งถูกป้อนเป็นบิตของข้อความลงในเซลล์ C3 หรือไม่?   -  person DMM    schedule 28.06.2015
comment
ใช่ ในตัวอย่างของฉัน c3 มีข้อความ table1 และ c4 จะเป็น table2   -  person Nimi    schedule 28.06.2015


คำตอบ (1)


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

  1. C3[Age] ไม่มีความหมาย คุณต้องการเชื่อมโยงเนื้อหาของ C3 กับสตริงข้อความ "[AGE]" ซึ่งจะทำให้คุณมีสตริงข้อความที่มีความหมายในการใช้งาน
  2. ต่อไป ค้นหาเกี่ยวกับฟังก์ชัน INDIRECT ซึ่งจะทำให้คุณสามารถระบุบิตของเวิร์กชีต เช่น เซลล์ ช่วง ฯลฯ เป็นสตริงข้อความ แต่จะถือว่าเวิร์กชีทนั้นเป็นเซลล์ ช่วง ฯลฯ เอง
  3. Next, find about array formulae. This is because, if you have successfully navigated steps 1. and 2. above, you'll find that INDIRECT doesn't work when its argument (the thing in brackets) is trying to deliver a range of cells (rather than just a single cell). In this case it needs to be specified as an array formula instead of just being a simple formula (which is the default for Excel formulae)
    1. Once you have done all this, you will have the tools to know what you should be using instead of C3[Age] and C3[FirstName] in the formula you stated in your question.

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

person DMM    schedule 28.06.2015