Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

วิธีใช้ฟังก์ชัน INDIRECT ใน Excel ให้เกิดประโยชน์สูงสุด

เมื่อคุณเชี่ยวชาญการใช้ฟังก์ชัน INDIRECT ใน Excel แล้ว คุณจะสามารถดึงข้อมูลจากชีตอื่นๆ อ้างอิงช่วงข้อมูลที่ตั้งชื่อไว้ (Named Ranges) และรวมใช้งานร่วมกับฟังก์ชันอื่นๆ เพื่อสร้างเครื่องมือที่ทรงพลังและยืดหยุ่นได้ แม้จะต้องฝึกฝนเล็กน้อยเพื่อเข้าใจแนวคิด แต่ INDIRECT จะช่วยให้คุณทำได้มากกว่าที่คิด

บทความนี้ใช้ได้กับ: Excel สำหรับ Microsoft 365, Excel 2019 และ Excel 2016

ฟังก์ชัน INDIRECT คืออะไร?

ฟังก์ชัน INDIRECT ใช้เพื่อแปลงสตริงข้อความ (Text String) ให้กลายเป็นการอ้างอิงเซลล์ (Cell Reference) กล่าวคือ มันจะดึงข้อมูลจากที่อยู่เซลล์หรือช่วงข้อมูลที่ระบุเป็นข้อความ จุดสำคัญคือ การอ้างอิงที่สร้างขึ้นจะ ไม่เปลี่ยนแปลง แม้คุณจะเพิ่ม/ลบแถว คอลัมน์ หรือเซลล์ในช่วงข้อมูลที่อ้างอิง และการอ้างอิงจะถูกประเมินค่าแบบเรียลไทม์ จึงแม่นยำต่อข้อมูลต้นทางตลอดเวลา

หากยังสับสน ไม่ต้องกังวล INDIRECT จะเข้าใจง่ายขึ้นเมื่อลองทำตามตัวอย่างและขั้นตอนด้านล่างนี้

ใช้ INDIRECT ร่วมกับ Named Ranges (ช่วงข้อมูลที่ตั้งชื่อ)

Named Ranges ใน Excel ช่วยจัดกลุ่มข้อมูลภายใต้ชื่อเดียว ทำให้อ้างอิงง่ายขึ้น และ INDIRECT จะช่วยดึงข้อมูลจาก Named Ranges ได้อย่างมีประสิทธิภาพ ขั้นตอนดังนี้:

  1. เปิดไฟล์ Excel ที่มี Named Ranges ตั้งไว้แล้ว ตัวอย่างนี้มีข้อมูลยอดขายอาหาร/เครื่องดื่มรายวัน จัดกลุ่มไว้ภายใต้ชื่อผลิตภัณฑ์ เช่น "Burgers", "Lemonade", "Desserts"

  2. เลือกเซลล์สำหรับใส่ชื่อ Named Range ที่ต้องการดึงข้อมูล (ตัวอย่างใช้เซลล์ G5) และพิมพ์ชื่อ Named Range ลงไป เช่น Burgers สามารถเพิ่มหัวข้อและสีสันเพื่อความชัดเจนได้

  3. เลือกเซลล์ที่ต้องการแสดงผลลัพธ์ เนื่องจากเราต้องการหาผลรวมยอดขายรายสัปดาห์ของ Burgers ให้พิมพ์สูตรดังนี้:

    =SUM(INDIRECT(G5))

  4. สูตรนี้จะสั่งให้ SUM ทำงานร่วมกับ INDIRECT โดยดึงข้อมูลจาก Named Range ที่ระบุใน G5 (คือ Burgers) ผลลัพธ์คือ 3,781 (ยอดขายรวม Burgers ตลอดสัปดาห์)

  5. ลองเปลี่ยนค่าใน G5 เป็น "Lemonade" หรือ "Desserts" ผลลัพธ์จะเปลี่ยนเป็นผลรวมของ Named Range นั้นทันที

ใช้ INDIRECT ดึงข้อมูลข้ามชีต (Multiple Sheets)

INDIRECT มีพลังมากขึ้นเมื่อใช้ดึงข้อมูลจากชีตอื่น ไม่จำเป็นต้องใช้ Named Ranges ก็ได้

  1. เปิดไฟล์ Excel ที่มีหลายชีต หรือสร้างชีตใหม่พร้อมข้อมูลที่ต้องการ

  2. ในชีตที่ต้องการแสดงผล ให้สร้างเซลล์เก็บชื่อชีตต้นทาง ตัวอย่างใช้ชื่อ FoodSales วางไว้ที่เซลล์ B4

  3. เพื่อดึงยอดขาย Burgers จากชีต FoodSales ให้พิมพ์สูตร (ปรับชื่อชีตและช่วงเซลล์ตามจริง):

    =SUM(INDIRECT(B4&"!B4:B10"))

  4. การทำงาน: SUM รวมค่า INDIRECT สร้างอ้างอิงจากข้อความใน B4 (ชื่อชีต) ต่อกับ & และเครื่องหมาย ! พร้อมช่วงเซลล์ B4:B10

  5. ผลลัพธ์คือยอดขาย Burgers รวมของสัปดาห์นั้น เมื่อสร้างชีตใหม่ชื่อ FoodSales2 สำหรับสัปดาห์ถัดไป ให้เปลี่ยน B4 เป็น "FoodSales2" ก็จะได้ข้อมูลสัปดาห์ใหม่ทันที

ใช้ INDIRECT ร่วมกับการอ้างอิงแบบ R1C1

สำหรับตารางที่ขยายตัวต่อเนื่อง ที่ตำแหน่งข้อมูลเปลี่ยนไปเรื่อยๆ การอ้างอิงแบบ R1C1 (Row 1 Column 1) จะช่วยให้ INDIRACT ดึงค่าล่าสุดได้อัตโนมัติ ตัวอย่าง: ตารางสรุปยอดขายอาหารรายเดือน ต้องการดึงยอดขายล่าสุดของเดือน

  1. เปิดไฟล์ข้อมูล เลือกเซลล์สำหรับผลลัพธ์ INDIRECT

  2. สูตรตัวอย่าง:

    =INDIRECT("R12C"&COUNTA(12:12),FALSE)

  3. คำอธิบาย: INDIRECT ใช้ข้อความ "R12C" (แถว 12) ต่อกับ & และฟังก์ชัน COUNTA(12:12) นับเซลล์ที่ไม่ว่างในแถว 12 เพื่อหาคอลัมน์สุดท้ายที่มีข้อมูล FALSE ระบุว่าเป็นการอ้างอิงแบบ R1C1

  4. ผลลัพธ์จะเป็นค่าล่าสุดในแถว 12 (เช่น 8,102) เมื่อเพิ่มข้อมูลเดือนใหม่ ผลลัพธ์จะอัปเดตอัตโนมัติแบบเรียลไทม์