อ้างอิงช่วงข้อมูลที่เลื่อนจากตำแหน่งเริ่มต้น สร้าง dynamic range ได้
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| reference | required | ตำแหน่งเริ่มต้น (cell หรือ range) ที่จะเลื่อนออกมา |
| rows | required | จำนวนแถวที่จะเลื่อน (บวก = ลง, ลบ = ขึ้น) |
| cols | required | จำนวนคอลัมน์ที่จะเลื่อน (บวก = ขวา, ลบ = ซ้าย) |
| height | optional | ความสูงของช่วง (จำนวนแถว) – ถ้าไม่ระบุ ใช้ความสูงเดิม |
| width | optional | ความกว้างของช่วง (จำนวนคอลัมน์) – ถ้าไม่ระบุ ใช้ความกว้างเดิม |
OFFSET เป็นฟังก์ชันที่ช่วยคุณ ‘เลื่อน’ ไปยังช่วงข้อมูลใหม่โดยอ้างอิงจากตำแหน่งเดิม ลองนึกภาพคุณชี้ไปที่เซลล์ A1 แล้วพูดว่า ‘เลื่อนลง 3 แถว ขวา 2 คอลัมน์’ – นั่นคือสิ่งที่ OFFSET ทำ 😎
ทำไมต้องใช้ OFFSET? เพราะมันทำให้สูตรของคุณ ‘อัจฉริยะ’ – เมื่อข้อมูลเพิ่มขึ้น สูตรจะปรับตัวเองโดยอัตโนมัติ ไม่ต้องแก้มือ
=OFFSET(reference, rows, cols, [height], [width])
OFFSET ทำงานได้ 2 ขั้น:
เคล็ดลับ: เลขบวก = ลง/ขวา, เลขลบ = ขึ้น/ซ้าย ง่ายมาก!
ใช้ OFFSET ใน Named Range เพื่อให้กราฟสามารถปรับช่วงข้อมูลได้เองโดยอัตโนมัติเมื่อมีการเพิ่มข้อมูลใหม่ ทำให้ไม่ต้องมาแก้ไข Chart Source Data ซ้ำๆ
ใช้ OFFSET ร่วมกับ COUNTA หรือ MATCH เพื่อดึงข้อมูลจากแถวหรือคอลัมน์สุดท้ายที่มีข้อมูลอยู่เสมอ เหมาะสำหรับรายงานที่ต้องการแสดงค่าล่าสุด
เริ่มจาก A1 แล้วเลื่อนลง 1 แถว ขวา 1 คอลัมน์ ก็ไปหยุดที่ B2 พอดี สูตรเลยดึงค่าใน B2 ออกมาแสดง
ตั้งจุดเริ่มที่ A1 เลื่อนลง 1 แถวไปเริ่มที่ A2 แล้วกำหนดขนาดช่วงเป็นสูง 5 แถว กว้าง 1 คอลัมน์ ได้ช่วง A2:A6 ให้ SUM บวกรวมทันที
เริ่มจากแถวสุดท้าย D31 แล้วเลื่อนขึ้น 6 แถวไปเริ่มที่ D25 กำหนดสูง 7 แถว จึงได้ช่วง D25:D31 พอดี 7 วันล่าสุดเสมอไม่ว่าจะเพิ่มข้อมูลกี่แถว
ใช้ COUNTA(A:A) นับจำนวนเซลล์ที่มีข้อมูลในคอลัมน์ A ทั้งหมดรวม header แล้วลบ 1 เพื่อตัด header ออก ทำให้ความสูงของช่วงขยับตามข้อมูลจริงที่เพิ่มเข้ามาเรื่อยๆ
ใส่เลขลบใน rows และ cols ทำให้เลื่อนขึ้น 2 แถวและเลื่อนซ้าย 1 คอลัมน์จาก E5 พาไปหยุดที่ D3 พอดี
OFFSET เป็นฟังก์ชัน volatile คือคำนวณใหม่ทุกครั้งที่ workbook เปลี่ยนแปลงแม้จะไม่เกี่ยวกับสูตรนี้เลย ทำให้ไฟล์ใหญ่ๆ อืด ส่วน INDEX ไม่ volatile และให้ผลลัพธ์แบบ dynamic range ได้เหมือนกัน ถ้าไม่จำเป็นจริงๆ แนะนำใช้ INDEX แทน
เกิดจากเลื่อน rows หรือ cols ออกนอกขอบเขตของชีท เช่น เลื่อนขึ้นเกินแถว 1 หรือเลื่อนซ้ายเกินคอลัมน์ A ลองเช็คค่าที่ใส่ในอาร์กิวเมนต์ rows/cols ว่าเกินขอบไหม
ใช้ได้แต่ไม่ค่อยจำเป็น เพราะ Excel Table ขยายขนาดตามข้อมูลอัตโนมัติอยู่แล้วผ่าน structured reference เช่น Table1[คอลัมน์] จึงมักไม่ต้องพึ่ง OFFSET เลย
ฟังก์ชันที่ผู้เขียนโยงไว้กับ ฟังก์ชัน OFFSET ใน Excel จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
AREAS นับว่าการอ้างอิงที่เรากำหนดนั้นมีกี่พื้นที่ (area) พื้นที่หมายถึงช่วงเซลล์ต่อเนื่องหรือเซลล์เดี่ยว เช่น ถ้าเราอ้างอิง (A1:B2, D5:E5) ถือว่ามี 2 พื้นที่แยกกัน
INDEX คืนค่าหรือ reference ของเซลล์จากตำแหน่งที่ระบุใน range หรือ array โดยอ้างอิงจากหมายเลขแถวและคอลัมน์ที่เราระบุ มักถูกใช้ร่วมกับ MATCH เพื่อสร้าง INDEX-MATCH pattern ที่ยืดหยุ่นกว่า VLOOKUP เยอะ เพราะสามารถดึงข้อมูลจากทิศทางไหนก็ได้ และไม่พังเมื่อมีการแทรกหรือลบคอลัมน์
INDIRECT แปลงข้อความเป็นการอ้างอิงเซลล์จริง ช่วยให้สามารถเปลี่ยนตำแหน่งเซลล์ได้ไดนามิกโดยใช้ตัวเลขหรือชื่อเซลล์
MATCH คืนเลขลำดับตำแหน่งของค่าที่ค้นหาในช่วงข้อมูลแถวเดียวหรือคอลัมน์เดียว รองรับการค้นหา 3 โหมด คือ Exact Match (0) ที่ไม่ต้องเรียงข้อมูล, Approximate Match แบบ Less Than or Equal (1) ที่ต้องเรียงจากน้อยไปมาก, และ Greater Than or Equal (-1) ที่ต้องเรียงจากมากไปน้อย รองรับ Wildcard (* และ ?) ในโหมด Exact Match และมักใช้คู่กับ INDEX เป็นรูปแบบ INDEX-MATCH ที่ยืดหยุ่นกว่า VLOOKUP
ฟังก์ชันใหม่ใน Excel 365 ที่ตัดแถวและคอลัมน์ว่างออกจากขอบของช่วงข้อมูล ช่วยให้การอ้างอิงช่วงกว้าง ๆ หรือทั้งคอลัมน์ปลอดภัยและไม่ดึงข้อมูลว่างเข้ามาปนกับสูตร dynamic array
ฟังก์ชัน XLOOKUP ใช้สำหรับค้นหาข้อมูลในตารางทั้งแนวตั้งและแนวนอน มีความยืดหยุ่นสูงกว่า VLOOKUP โดยสามารถค้นหาจากซ้ายไปขวา ขวาไปซ้าย และกำหนดค่าเริ่มต้นเมื่อไม่พบข้อมูลได้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่