TLDR สรุปสั้นๆ
ADDRESS ได้ผลลัพธ์เป็นที่อยู่ของ Cell ในลักษณะของข้อความ สามารถใช้งานร่วมกับฟังก์ชันอื่นเพื่อสร้างการอ้างอิงที่ซับซ้อน
คำอธิบาย
ฟังก์ชัน ADDRESS ใน Excel ใช้เพื่อหาที่อยู่เซลล์ในตาราง จากการกำหนดหมายเลขแถวและคอลัมน์ที่เจาะจง เช่น ถ้าใช้ =ADDRESS(2,3) จะคืนค่า $C$2 ซึ่งมันเป็นตำแหน่งแบบสัมบูรณ์ของเซลล์ในแถวที่ 2 คอลัมน์ที่ 3 โดยฟังก์ชันนี้สามารถใช้ร่วมกับฟังก์ชันอื่น ๆ เช่น ROW และ COLUMN เพื่อนำค่าแถวและคอลัมน์มาใช้เป็นอาร์กิวเมนต์ได้
มีครั้งแรกในเวอร์ชันไหน
Excel 2003 หรือ Version ก่อนหน้า
รูปแบบคำสั่ง (Syntax)
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
Arguments
- row_num (Required – number)
กำหนดหมายเลขแถวที่ต้องการ - column_num (Required – number)
กำหนดหมายเลขคอลัมน์ที่ต้องการ เช่น 2 สำหรับคอลัมน์ B - abs_num (Optional – number)
ประเภทของการอ้างอิง (Default คือ 1):1
= แบบสัมบูรณ์ ($A$1)2
= แถวสัมบูรณ์, คอลัมน์สัมพัทธ์ (A$1)3
= แถวสัมพัทธ์, คอลัมน์สัมบูรณ์ ($A1)4
= แบบสัมพัทธ์ทั้งหมด (A1)
- a1 (Optional – boolean) ค่า logic ที่ระบุว่าจะใช้อ้างอิงแบบใด
TRUE
= รูปแบบ A1 (Default)FALSE
= รูปแบบ R1C1
-
sheet_text (Optional – text)
ชื่อ worksheet ที่ใช้อ้างอิงภายนอก ถ้าไม่ใส่จะใช้แผ่นงานปัจจุบัน
ตัวอย่างการใช้งาน (Examples)
- Formula:
Description: ต้องการที่อยู่ แถวที่ 2 คอลัมน์ที่ 3 (ค่า Default Lock $ ทั้งคู่)=ADDRESS(2,3)
Result:$C$2 (คืนที่อยู่เซลล์แบบสัมบูรณ์ : Lock ทังคอลัมน์และแถว) - Formula:
Description: ต้องการที่อยู่ แถวแบบสัมบูรณ์ Lock แถวที่ 2 ไม่ Lock คอลัมน์ที่ 3=ADDRESS(2,3,2)
Result:C$2 (Lock แต่แถวอย่างเดียว) - Formula:
Description: ต้องการที่อยู่ แถวแบบสัมบูรณ์ คอลัมน์แบบสัมพัทธ์ในรูปแบบ R1C1=ADDRESS(2,3,2,FALSE)
Result:R2C[3] (ที่อยู่แบบสัมพัทธ์ใน R1C1 เนื่องจาก FALSE) - Formula:
Description: ต้องการที่อยู่ แถว 3 คอลัมน์ 4 Lock$ หมด แบบ A1 บนชีต “Sheet2”=ADDRESS(3, 4, 1, TRUE, "Sheet2")
Result: Sheet2!$D$3 - Formula:
Description: ใช้ฟังก์ชัน INDIRECT อ่านค่าจาก “ข้อความที่อยู่ที่สร้างโดยโดย ADDRESS” แล้วแปลงให้เป็นการอ้างอิงจริงๆ=INDIRECT(ADDRESS(E1, E2))
Result:คืนค่าจากเซลล์ที่ ADDRESS ระบุตำแหน่ง -
Formula:
Description: หาแถวที่มีค่าสูงสุดในช่วง แล้วคืนที่อยู่ของเซลล์นั้น=ADDRESS(MATCH(MAX(B2:B7), B:B, 0), COLUMN(B2))
Result:คืนที่อยู่แบบสัมบูรณ์ของเซลล์ที่มีค่ามากที่สุดในคอลัมน์
Tips & Tricks
ใช้ ADDRESS ฟังก์ชันร่วมกับ INDIRECT จะทำให้แปลงข้อความของที่อยู่เป็นอ้างอิงที่ใช้งานได้จริง นอกจากนี้คุณสามารถใช้ abs_num เป็นตัวกำหนดได้หลากหลาย เช่น สัมบูรณ์ที่แถวและสัมพัทธ์ที่คอลัมน์
ข้อควรระวัง (Cautions)
ADDRESS คืนค่าเป็นข้อความ, ไม่ใช่อ้างอิงเซลล์จริง ถ้าต้องการอ้างอิงคุณจะต้องใช้ INDIRECT คู่กัน และควรระวังเมื่อใช้งานกับ sheet_text ว่าใส่ชื่อ worksheet ถูกต้อง
ฟังก์ชันที่เกี่ยวข้อง
References
- Microsoft Official Documentation
- Ablebits ADDRESS function guide
- Contextures ADDRESS function examples
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply