ฟังก์ชัน INDIRECT และตัวอย่างการใช้งาน หลายวันก่อน ไปพบคำถามในเว็บบอร์ดแห่งหนึ่ง ผู้ถามสงสัยว่าฟังก์ชัน INDIRECT ใช้ทำอะไร เห็นมีคนใช้กันเยอะ แต่ผู้ถามไม่เข้าใจความหมาย และวิธีการใช้งาน ผมได้โพสคำตอบให้ไป แล้วก็เลยขอเอาเรื่องนี้ มาเก็บไว้ใน blog แห่งนี้ด้วย ดังนี้ ....................................... อธิบายง่ายๆ คือ INDIRECT จะเป็นการอ้างถึงสิ่งที่อยู่ในเซลล์ แทนที่จะอ้างอิงเซลล์ ตัวอย่างเช่น (ดูรูปประกอบ) ![]() ถ้าในเซลล์ B6 เราพิมพ์สูตรว่า =A1+A2 ซึ่งจะได้ผลลัพธ์ 15 แต่ถ้าเราจะเปลี่ยนเป็น =A1+A3 หรือ A1+A4 เราก็ต้องมาทำการแก้ไขสูตรใหม่ ซึ่งจะเห็นว่า จากตัวอย่างข้างต้นนี้ เซลล์ A1 เป็นเซลล์หลักที่เราจะนำไปบวกกับ A2, A3 หรือ A4 ดังนั้น ถ้าจะให้ใช้งานสะดวกขึ้น โดยที่ไม่ต้องมาแก้ไขที่ตัวสูตร ผมจะเขียนสูตรใหม่เป็น =A1+INDIRECT(B1) แล้วใน B1 ผมก็จะใส่ข้อความว่า A2, A3 หรือ A4 (หรืออาจทำเป็น Drop down list โดยการใช้ Data > Validation > List ก็ได้) ซึ่งผลลัพธ์ใน B6 จะเปลี่ยนแปลงไป ขึ้นอยู่กับว่าเราพิมพ์อะไรในเซลล์ B1 โดยที่เราไม่ต้องไปแก้ไขสูตร และผลลัพธ์ที่ได้ ก็เหมือนกับที่ต้องการ อีกสักตัวอย่างนะครับ (อ้างอิงจากรูปข้างบน) สมมติว่าถ้าในเซลล์ B7 คุณต้องการพิมพ์สูตร =A1+เซลล์แถวสุดท้ายที่มีข้อมูลในคอลัมน์ A เช่น ถ้ามีข้อมูลถึง A4 สูตรก็คือ =A1+A4 หรือถ้ามีข้อมูลถึง A7 สูตรก็ต้องเปลี่ยนเป็น =A1+A7 เป็นต้น ในกรณีนี้ เราสามารถใช้ INDIRECT มาช่วยได้ครับ โดยการพิมพ์สูตร =A1+INDIRECT("A"&COUNT(A:A)) โดยที่...
ดังนั้น =A1+INDIRECT("A"&COUNT(A:A)) จึงมีความหมายเหมือนกับ =A1+A4 นั่นเอง เพื่อให้เกิดความเข้าใจมากขึ้น คุณลองสร้างข้อมูลตามรูปตัวอย่าง แล้วลองพิมพ์สูตรตามที่อธิบายไว้ จากนั้นให้ลองเพิ่มหรือลดข้อมูลในคอลัมน์ A ก็จะเห็นความแตกต่างครับ อีก 1 บล็อกที่มีประโยชน์ครับ ต่อๆไป จะได้ Search ได้อะไรๆที่มีสาระมากขึ้นครับ
โดย: mitrapap
![]() สุดยอดเลยจริง ๆ
โดย: nan IP: 203.147.53.130 วันที่: 23 พฤศจิกายน 2550 เวลา:17:02:28 น.
ใจครับ
โดย: sek IP: 61.91.204.90 วันที่: 9 ธันวาคม 2551 เวลา:12:59:36 น.
|
บทความทั้งหมด
|