ฟังก์ชั่น OFFSET เอาไว้แสดงผลลัพธ์เป็นการอ้างอิงช่อง/ช่วง (ผลเป็น Reference) โดยใช้วิธีเลื่อนตำแหน่งจากช่องที่เราอ้างอิงไปในทิศทางต่างๆ เช่น เราสามารถอ้างอิงให้เริ่มที่ช่อง G3 แล้วให้เลื่อนลงล่าง 2 แถว ไปทางซ้ายอีก 4 แถว ซึ่งจะได้ผลลัพธ์เป็นค่าในช่อง C5 เป็นต้น
พูดง่ายๆ ว่า OFFSET มีความสามารถในการทำ Dynamic Range นั่นเองครับ
วิธีการใช้งาน
=OFFSET(reference,rows,cols,[height],[width])
วิธีการใช้งาน ภาษาชาวบ้าน
= OFFSET(จุดอ้างอิง, เลื่อนลงล่างกี่แถว, เลื่อนขวากี่แถว, [ความสูงของ Range ผลลัพธ์], [ความกว้างของ Range ผลลัพธ์])ประเภทของ Argument ที่ใส่ลงไป
= OFFSET(Cell/Range Reference, ตัวเลข, ตัวเลข, ตัวเลข, ตัวเลข)
ประเภทของผลลัพธ์ที่ได้จาก Function
ได้เป็น Cell/Range Reference
ประเด็นที่น่าสนใจ
- จุดอ้างอิงจะเป็น Cell หรือ Range ก็ได้
- Rows ถ้าใส่เลขบวกจะเลื่อนลง ถ้าใส่ติดลบจะเลื่อนขึ้น
- Columns ถ้าใส่เลขบวกจะเลื่อนไปขวา ถ้าใส่ติดลบจะเลื่อนไปทางซ้าย
- ถ้าไม่ใส่ Height หรือ width จะถือว่าให้สูงหรือกว้างเท่าช่องอ้างอิงต้นฉบับ
- Height และ Width ติดลบไม่ได้ เป็น 0 ไม่ได้
เช่น
- =OFFSET(C3,2,3,1,1)
- จะส่งผลกลับมาเป็นการอ้างอิงช่อง F5 เพราะเลื่อนจาก C3 ไปล่าง 2 ช่อง ขวา 3 ช่อง
- =SUM(OFFSET(C3:E5,-1,0,3,3))
- จะทำการ Sum ช่วง C2:E4 เพราะเลื่อนจาก C3:E5 ขึ้นไป 1 ช่อง
- =OFFSET(C3:E5,0,-3,3,3)
- จะ Error (#REF!) เพราะการอ้างอิงหลุดกรอบการทำงานของ Worksheet (เลื่อน C ไปซ้าย 3 ช่อง จะเลย A ออกไป)