สารบัญ
วันนี้ฉันขอแนะนำให้คุณรู้จักกับ ฟังก์ชัน 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