การใช้ฟังก์ชัน Offset ใน Excel

  • แบ่งปันสิ่งนี้
Hugh West

วันนี้ฉันขอแนะนำให้คุณรู้จักกับ ฟังก์ชัน OFFSET ของ Excel พร้อมตัวอย่างในชีวิตจริง 3 ตัวอย่าง

ในตอนแรก ฉันจะอธิบายไวยากรณ์ของสูตร จากนั้นฉันจะไปที่ พูดคุยเกี่ยวกับวิธีใช้ฟังก์ชัน OFFSET เพื่อแก้ปัญหาในชีวิตจริง

บทนำ

ฟังก์ชัน OFFSET สามารถส่งคืนการอ้างอิงไปยังเซลล์ (ขอเรียกว่าเซลล์เป้าหมาย) หรือช่วง (เป้าหมาย range) ซึ่งเป็นจำนวนแถวและคอลัมน์ที่ระบุห่างจากเซลล์อื่น (เซลล์อ้างอิง) หรือช่วง (ช่วงอ้างอิง)

รูปภาพด้านล่างแสดงวิธีใช้ฟังก์ชัน OFFSET เพื่อส่งกลับการอ้างอิงไปยังเซลล์ ( ส่วนซ้าย) หรือช่วง (ส่วนขวา)

จะทำให้คุณเข้าใจได้ง่ายว่าเซลล์เป้าหมายคืออะไรและเซลล์อ้างอิงคืออะไร

เซลล์ที่เน้นสีเขียวคือ เซลล์เป้าหมายในขณะที่เซลล์ที่ไฮไลต์ด้วยสีเหลืองประกอบด้วยช่วงเป้าหมาย

เซลล์ที่ไฮไลต์ด้วยสีน้ำเงินคือเซลล์อ้างอิง

รูปที่ 1

OFFSET หมายถึงอะไรใน Excel (วากยสัมพันธ์)?

นี่คือไวยากรณ์ของฟังก์ชัน Offset: OFFSET (reference, rows, cols, [height], [width])

<10 การอ้างอิง
จำเป็น การอ้างอิงคือเซลล์หรือช่วงของเซลล์ที่เริ่มต้นการชดเชย โปรดทราบว่าเซลล์ต้องอยู่ติดกันหากคุณระบุช่วงของเซลล์
แถว ต้องระบุ . จำนวนแถว ขึ้นหรือลง เซลล์อ้างอิงหรือเซลล์บนซ้ายของช่วงอ้างอิง แถว สามารถเป็นบวกหรือลบก็ได้ ดูที่ส่วนซ้ายของรูปที่ 1 เซลล์เป้าหมายจะเป็น B2 ถ้าฉันเปลี่ยนฟังก์ชันเป็น OFFSET (C3, -1, -1) B2 คือหนึ่งแถวขึ้นไป C3
Cols จำเป็น จำนวนคอลัมน์ ทางซ้ายหรือขวา ของเซลล์อ้างอิงหรือเซลล์ซ้ายบนของช่วงอ้างอิง เช่นเดียวกับอาร์กิวเมนต์ Rows ค่าของ Cols สามารถเป็นได้ทั้งค่าบวกและค่าลบ เราจะเขียนฟังก์ชัน OFFSET ได้อย่างไรหากเรากำหนดให้ B4 เป็นเซลล์อ้างอิงและ C3 เป็นเซลล์เป้าหมาย คำตอบคือ OFFSET (B4, -1, 1) ที่นี่คุณจะเห็นว่า Cols เป็นค่าบวกและ C3 เป็นหนึ่งคอลัมน์ทางด้านขวาของ B4
ความสูง ไม่บังคับ ใช้อาร์กิวเมนต์ความสูงเท่านั้นหากเป้าหมายเป็นช่วง มันบอกจำนวนแถวที่มีช่วงเป้าหมาย ความสูงต้องเป็นจำนวนบวก คุณสามารถดูได้จากส่วนด้านขวาของรูปที่ 1 ว่ามีสองแถวในช่วงเป้าหมาย ดังนั้นเราจึงตั้งค่าความสูงเป็น 2 ในกรณีนั้น
ความกว้าง ไม่บังคับ ใช้อาร์กิวเมนต์ความกว้างเท่านั้น ถ้า เป้าหมายคือช่วง (ดูส่วนขวาของรูปที่ 1) ระบุจำนวนคอลัมน์ที่มีช่วงเป้าหมาย ความกว้างต้องเป็นจำนวนบวก

ตอนนี้ให้ฉันแสดงวิธีใช้ฟังก์ชัน OFFSET เพื่อแก้ปัญหาในชีวิตจริง

กรณี 1: การค้นหาจากขวาไปซ้ายโดยรวม OFFSET และ MATCHฟังก์ชัน

เป็นที่ทราบกันดีว่าคุณสามารถค้นหาจากซ้ายไปขวาได้ด้วยฟังก์ชัน VLOOKUP เท่านั้น

ค่าที่จะค้นหาต้องอยู่ในคอลัมน์แรกของอาร์เรย์ตารางของคุณ

คุณต้องเลื่อนช่วงตารางทั้งหมดของคุณไปทางขวาทีละคอลัมน์ หากคุณต้องการเพิ่มค่าการค้นหาใหม่ หรือคุณต้องเปลี่ยนโครงสร้างข้อมูลของคุณ หากคุณต้องการใช้คอลัมน์อื่นเป็นค่าการค้นหา

แต่ด้วยการรวม OFFSET ร่วมกับฟังก์ชัน Match ทำให้สามารถลบข้อจำกัดของฟังก์ชัน VLOOKUP ได้

ฟังก์ชัน MATCH คืออะไร และเราจะรวมฟังก์ชัน OFFSET กับฟังก์ชัน Match เข้าด้วยกันได้อย่างไร ทำการค้นหาหรือไม่

ฟังก์ชันจับคู่ค้นหารายการที่ระบุในช่วงของเซลล์ แล้วส่งกลับตำแหน่งสัมพัทธ์ของรายการนั้นในช่วง

ลองใช้ช่วง B3:B8 จากรูปที่ 2.1 (ซึ่งแสดงรายได้ของประเทศต่างๆ ในปีต่างๆ) เป็นตัวอย่าง

สูตร “=MATCH (“USA”, B3:B8, 0)” จะส่งกลับ 1 เนื่องจาก สหรัฐอเมริกาเป็นรายการแรกใน ช่วง e (ดูเซลล์ B10 และ C10)

สำหรับช่วง C2:F2 อื่น สูตร “=MATCH (2015, C2:F2, 0)” จะส่งกลับ 3 เหมือนกับปี 2015 คือ รายการที่สามในช่วง (ดูเซลล์ B11 และ C11)

กลับไปที่ฟังก์ชัน OFFSET

หากเราตั้งค่าเซลล์ B2 เป็นเซลล์อ้างอิงและใช้เซลล์ E3 เป็นเซลล์เป้าหมาย เราจะเขียนสูตร OFFSET ได้อย่างไร

E3 คือ 1 แถวด้านล่าง B2 และ 3 คอลัมน์ด้านขวาB2.

ดังนั้น สูตรสามารถเขียนเป็น “=OFFSET(B2, 1 , 3 )” ดูที่ตัวเลขสีแดงอย่างใกล้ชิด คุณพบว่าตรงกันหรือไม่

นั่นคือคำตอบสำหรับคำถาม – วิธีรวมฟังก์ชัน OFFSET กับฟังก์ชันจับคู่ – สามารถใช้ฟังก์ชันจับคู่เพื่อให้บริการได้ เป็นอาร์กิวเมนต์ที่สองหรือสามของฟังก์ชัน OFFSET (ดูเซลล์ C13)

เซลล์ C14 สาธิตวิธีใช้ฟังก์ชัน VLOOKUP เพื่อดึงข้อมูลเดียวกัน

เราต้องทราบรายได้ ในปี 2015 ถูกบันทึกไว้ในคอลัมน์ที่ 4 ของอาร์เรย์ตาราง B2:F8 ก่อนที่จะเขียนฟังก์ชัน VLOOKUP

หมายความว่าเราต้องรู้เป็นอย่างดีเกี่ยวกับโครงสร้างข้อมูลเมื่อใช้ฟังก์ชัน VLOOKUP

นี่เป็นข้อจำกัดอีกอย่างหนึ่งสำหรับ VLOOKUP อย่างไรก็ตาม การใช้ฟังก์ชัน MATCH เป็นอาร์กิวเมนต์ของฟังก์ชัน OFFSET เราไม่จำเป็นต้องทราบดัชนีคอลัมน์

สิ่งนี้มีประโยชน์มากหากมีคอลัมน์จำนวนมาก

รูปที่ 2.1

ตอนนี้ เรามาดูตัวอย่างที่ซับซ้อนมากขึ้น

สมมติว่าเรามีตารางที่มีชื่อบริษัท ชื่อผู้ติดต่อ และที่อยู่อีเมลสำหรับบริษัทต่างๆ

และเราต้องการดึงชื่อบริษัทจากชื่อผู้ติดต่อที่รู้จัก หรือรับชื่อผู้ติดต่อจากที่อยู่อีเมลที่รู้จัก เราทำอะไรได้บ้าง?

ดูรูปที่ 2.2 ช่วง B5:E8 มีข้อมูลบริษัท โดยการใส่ข้อมูลลงในเซลล์ C2 และเซลล์ B3 ด้วยความช่วยเหลือของสูตรในสี่เหลี่ยมสีแดง ฉันสามารถดึงข้อมูลชื่อบริษัท ถ้าฉันทราบชื่อผู้ติดต่อ

ช่วง D2:E4 แสดงวิธีรับชื่อผู้ติดต่อพร้อมที่อยู่อีเมลที่รู้จัก

โดยสรุป ตัวอย่างทั้งสองนี้แสดงให้เห็นว่าเรา สามารถค้นหาจากขวาไปซ้ายและค่าการค้นหาไม่จำเป็นต้องอยู่ในคอลัมน์ขวาสุด คอลัมน์ใดๆ ในอาร์เรย์ของตารางสามารถมีค่าการค้นหาได้

รูปที่ 2.2

กรณีที่ 2: การคำนวณอัตโนมัติที่รวมฟังก์ชัน OFFSET และ COUNT

ก่อนที่จะแนะนำวิธีการคำนวณอัตโนมัติเมื่อใดก็ตามที่เราเพิ่มตัวเลขใหม่ใน คอลัมน์ เรามาเริ่มด้วยวิธีคืนค่าตัวเลขสุดท้ายในคอลัมน์โดยอัตโนมัติก่อน

ดูรูปด้านล่างซึ่งแสดงรายการจากฝ่ายทรัพยากรบุคคล สมมติว่าเราต้องการได้ตัวเลขสุดท้ายในคอลัมน์ B สูตรจะเป็น “=OFFSET (C2, 9 , 0)” ถ้าเราใช้ฟังก์ชัน OFFSET

จากสูตร เราสามารถทราบได้ว่า 9 เป็นหมายเลขหลัก

ตราบใดที่เราสามารถส่งคืนหมายเลขนี้โดยอัตโนมัติ เราจะสามารถค้นหาหมายเลขสุดท้ายในคอลัมน์ได้โดยอัตโนมัติ

9 เป็นเพียงจำนวนเซลล์ที่มีตัวเลขในคอลัมน์ C

หากคุณคุ้นเคยกับฟังก์ชัน COUNT คุณจะรู้ว่าฟังก์ชัน COUNT สามารถนับจำนวนได้ ของเซลล์ที่มีตัวเลขในช่วง

ตัวอย่างเช่น สูตร “=COUNT (C3:C11)” จะนับจำนวนเซลล์ที่มีตัวเลขในเซลล์ C3 ถึง C11

ในกรณีของเราเราต้องการทราบจำนวนตัวเลขในคอลัมน์ทั้งหมด ดังนั้น ควรใช้การอ้างอิงเช่น C:C ซึ่งรวมถึงแถวทั้งหมดในคอลัมน์ C

โปรดดูที่เซลล์ G4 และ H4 ซึ่งเป็นตัวเลขที่ส่งกลับโดย “=COUNT(C:C)” เท่ากับ 9 ทุกประการ

ดังนั้น เมื่อแทนที่ 9 ด้วย COUNT(C:C) ในฟังก์ชัน OFFSET ด้านบน เราจะได้ค่าใหม่ สูตร “=OFFSET (C2, COUNT(C:C) , 0)” (ในเซลล์ H5)

ตัวเลขที่ส่งคืนคือ 87000 ซึ่งเป็นตัวเลขสุดท้ายในคอลัมน์ C .

ตอนนี้ให้ไปที่การคำนวณอัตโนมัติ สมมติว่าเราต้องการผลรวมของตัวเลขทั้งหมดในคอลัมน์ C

สูตรจะเป็น "=SUM (OFFSET (C2, 1, 0, 9 , 1))" ถ้าเรา ใช้ SUM ร่วมกับ OFFSET

9 คือจำนวนแถวทั้งหมดในช่วง C3:C11 และจำนวนเซลล์ทั้งหมดที่มีตัวเลขในคอลัมน์ C ด้วย

ดังนั้น เราสามารถเขียนสูตรด้วยวิธีใหม่ เช่น “=SUM (OFFSET (C2,1, 0, COUNT (C:C), 1))”

ดูที่เซลล์ G10 และ H10 ซึ่งเป็นผลรวม จำนวนเงินเดือนสำหรับพนักงานทั้ง 9 คนนี้คือ 521,700 ดอลลาร์

ตอนนี้ ถ้าคุณใส่ตัวเลขเช่น 34,000 ดอลลาร์ในเซลล์ C12 ตัวเลขทั้งในเซลล์ G5 และ G10 จะเปลี่ยนเป็น 34,000 ดอลลาร์และ 555,700 ดอลลาร์ตามลำดับ

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

คุณต้องระมัดระวังเมื่อคุณใช้ฟังก์ชัน COUNT เนื่องจากฟังก์ชัน COUNT จะส่งคืนจำนวนเซลล์เท่านั้น ที่มีตัวเลข

ตัวอย่างเช่น“=COUNT (B: B)” ส่งคืน 0 แทน 9 เนื่องจากไม่มีเซลล์ในคอลัมน์ B ที่มีตัวเลข (ดูเซลล์ G3 และ H3)

คอลัมน์ D มีเซลล์ 10 เซลล์ที่มีตัวเลขและตัวเลขที่ส่งคืนโดย “COUNT (D: D)” คือ 10 เช่นกัน

แต่หากเราต้องการดึงหมายเลขสุดท้ายในคอลัมน์ D เหมือนที่ทำกับคอลัมน์ C เราจะได้หมายเลข 0 (ดูเซลล์ G8 และ H8)

เห็นได้ชัดว่า 0 ไม่ใช่สิ่งที่เราต้องการ มีอะไรผิดปกติ? เซลล์ D13 อยู่ห่างจากเซลล์ D2 11 แถวแทนที่จะเป็น 10 แถว

นอกจากนี้ยังสามารถแสดงให้เห็นได้ด้วยสูตร “=OFFSET (D2, COUNT (D: D) + 1 , 0 )” ในเซลล์ G7

โดยสรุป ตัวเลขควรอยู่ติดกันหากเราต้องการใช้ฟังก์ชัน COUNT ร่วมกับฟังก์ชัน OFFSET เพื่อเปิดใช้งานการคำนวณอัตโนมัติ

รูปที่ 3

กรณีที่ 3: ใช้ฟังก์ชัน OFFSET เพื่อสร้างช่วงไดนามิก

สมมติว่าเราต้องการสร้างแผนภูมิยอดขายหน่วยรายเดือนของบริษัท และรูปที่ 4.1 แสดงข้อมูลปัจจุบันและแผนภูมิที่สร้างขึ้นตามปัจจุบัน ข้อมูล

ในแต่ละเดือน ยอดขายหน่วยของเดือนล่าสุดจะถูกเพิ่มไว้ใต้ตัวเลขสุดท้ายในคอลัมน์ C

มีวิธีง่ายๆ ในการอัปเดตแผนภูมิโดยอัตโนมัติหรือไม่

กุญแจสำคัญในการอัปเดตแผนภูมิคือการใช้ฟังก์ชัน OFFSET เพื่อสร้างชื่อช่วงไดนามิกสำหรับคอลัมน์หน่วยที่ขาย

ช่วงไดนามิกสำหรับการขายหน่วยจะรวมข้อมูลการขายทั้งหมดโดยอัตโนมัติเมื่อมีการป้อนข้อมูลใหม่

รูปที่ 4.1

หากต้องการสร้างช่วงไดนามิก ให้คลิกแท็บ สูตร จากนั้นเลือก ตัวจัดการชื่อ หรือ กำหนดชื่อ

ด้านล่าง ชื่อใหม่ กล่องโต้ตอบจะแจ้ง หากคุณคลิกที่ กำหนดชื่อ .

หากคุณเลือก ตัวจัดการชื่อ คุณจะต้องคลิกที่ ใหม่ เพื่อสร้างด้านล่าง ชื่อใหม่ กล่องโต้ตอบปรากฏขึ้น

รูปที่ 4.2

ในกล่องอินพุต “ ชื่อ: ” ควรกรอกชื่อช่วงไดนามิกใน . และในช่องอินพุต “ อ้างถึง:” เราต้องพิมพ์สูตร OFFSET “=OFFSET (รูปที่ 4!$C$2, 1, 0, COUNT (!$C: $C), 1 )” ซึ่งจะสร้างช่วงไดนามิกของค่าตามค่าหน่วยขายที่พิมพ์ในคอลัมน์ C

ตามค่าเริ่มต้น ชื่อจะใช้กับสมุดงานทั้งหมดและต้องไม่ซ้ำกันภายในสมุดงาน

อย่างไรก็ตาม เราต้องการจำกัดขอบเขตเฉพาะแผ่นงานใดแผ่นหนึ่ง

ดังนั้น เราจึงเลือกรูปที่ 4 ที่นี่ในช่องป้อนข้อมูล “ ขอบเขต: ” หลังจากคลิกที่ ตกลง ช่วงไดนามิกจะถูกสร้างขึ้น

จะรวมข้อมูลการขายทั้งหมดโดยอัตโนมัติเมื่อมีการป้อนข้อมูลใหม่

ตอนนี้ให้คลิกขวาที่จุดใดก็ได้ใน แผนภูมิแล้วเลือก “เลือกข้อมูล”

รูปที่ 4.3

ในข้อความแจ้ง เลือกข้อมูล แหล่งที่มา ให้เลือก Series1 จากนั้น แก้ไข

รูปที่ 4.4

แล้วพิมพ์ “=รูปที่ 4!หน่วย” ดังรูปที่ 4.5 แสดง

รูปที่ 4.5

สุดท้าย ลองพิมพ์ 11 ในเซลล์ C13 คุณจะเห็นว่าแผนภูมิมีการเปลี่ยนแปลงและรวมค่า 11 แล้ว

แผนภูมิจะเปลี่ยนโดยอัตโนมัติเมื่อมีการเพิ่มข้อมูลใหม่

รูปที่ 4.6

อ่านเพิ่มเติม…

  • Offset(…) ฟังก์ชั่นใน Excel พร้อมตัวอย่าง

ดาวน์โหลดไฟล์งาน

ดาวน์โหลดไฟล์งานจากลิงค์ด้านล่าง

Excel-Offset-Function .rar

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง