TLDR สรุปสั้นๆ
OFFSET เลื่อนช่วงเซลล์จากจุดเริ่มต้นตามจำนวนแถวและคอลัมน์ที่ระบุ โดยสามารถกำหนดขนาดช่วงได้
คำอธิบาย
ฟังก์ชัน OFFSET ของ Excel จะช่วยให้คุณสามารถเลื่อนการอ้างอิงเซลล์หรือช่วงของเซลล์ในทิศทางที่กำหนดจากจุดอ้างอิงเริ่มต้นที่จะเป็นเซลล์เดียวหรือช่วงของเซลล์ก็ได้
มีครั้งแรกในเวอร์ชันไหน
Excel 2003 or earlier
รูปแบบคำสั่ง (Syntax)
OFFSET(reference, rows, cols, [height], [width])
Arguments
- reference (Required – reference)
เซลล์หรือช่วงของเซลล์ที่เป็นจุดเริ่มต้นที่เราต้องการอ้างอิง โดยเป็นเซลล์เดียว หรือ เป็นช่วงเซลล์ที่ต่อเนื่อง ไม่เช่นนั้นจะให้ค่า #VALUE! - rows (Required – number)
จำนวนแถวที่ต้องการเลื่อนลงหรือขึ้นจากอ้างอิงเริ่มต้น- เลขบวก (เลขแถวมากขึ้น) =เลื่อนลง
- เลขลบ (เลขแถวน้อยลง)= เลื่อนขึ้น
- cols (Required – number)
จำนวนคอลัมน์ที่ต้องการเลื่อนไปทางขวาหรือซ้ายจากอ้างอิงเริ่มต้น- เลขบวก (คอลัมน์มากขึ้น) =เลื่อนขวา
- เลขลบ (คอลัมน์น้อยลง)= เลื่อนซ้าย
-
height (Optional – number)
ความสูงของช่วงที่ต้องการอ้างอิงในหน่วยของแถว ซึ่งต้องเป็นจำนวนบวก หากเว้นไว้จะใช้ความสูงเดียวกับ reference -
width (Optional – number)
ความกว้างของช่วงที่ต้องการอ้างอิงในหน่วยของคอลัมน์ ซึ่งต้องเป็นจำนวนบวก หากเว้นไว้จะใช้ความกว้างเดียวกับ reference
ตัวอย่างการใช้งาน (Examples)
- Formula:
Description: เลื่อนจาก D3 ลงไป 3 แถว แล้วเลื่อนซ้าย 2 คอลัมน์ (ผลสุดท้ายขนาดเดิม)=OFFSET(D3,3,-2)
Result: เลื่อนการอ้างอิงไปที่ B6 - Formula:
Description: เลื่อนจาก D3 ลงไป 3 แถว แล้วเลื่อนซ้าย 2 คอลัมน์ แล้วเปลี่ยนขนาดให้มี 5 แถว 1 คอลัมน์=OFFSET(D3,3,-2,5,1)
Result: เลื่อนการอ้างอิงไปที่ B6:B10 - Formula:
Description: เลื่อนจาก D3:E5 ลงไป 3 แถว แล้วเลื่อนซ้าย 2 คอลัมน์ (ผลสุดท้ายขนาดเดิม)=OFFSET(D3:E5,3,-2)
Result:เลื่อนการอ้างอิงไปที่ B6:C8 - Formula:
Description: เลื่อนจาก D3:E5 ลงไป 3 แถว แล้วเลื่อนซ้าย 2 คอลัมน์ แล้วเปลี่ยนขนาดให้มี 5 แถว 1 คอลัมน์=OFFSET(D3:E5,3,-2,5,1)
Result:เลื่อนการอ้างอิงไปที่ B6:B10
Tips & Tricks
OFFSET เป็นฟังก์ชันที่ทรงพลังมากในการสร้างการอ้างอิงช่วงแบบ dynamic ซึ่งมักจะใช้ร่วมกับฟังก์ชันอื่น ๆ เช่น SUM หรือ AVERAGE เพื่อสร้างสูตรที่คำนวณผลลัพธ์ในแบบ dynamic
ข้อควรระวัง (Cautions)
OFFSET เป็นฟังก์ชันที่ volatile ทำให้ทุกครั้งที่มีการเปลี่ยนแปลงในชีทจะมีการคำนวณใหม่ อาจทำให้การทำงานช้าลงถ้าใช้ในช่วงข้อมูลขนาดใหญ่ และหากตัวเลข row/column ระบุอ้างอิงนอกช่วงของชีท จะให้ค่า #REF!
ฟังก์ชันที่เกี่ยวข้อง
References
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply