ตรวจสอบว่าค่าที่ส่งเข้าไปเป็นการอ้างอิงเซลล์ (Reference) จริง ๆ หรือแค่ค่าธรรมดา คืนค่า TRUE หรือ FALSE
=ISREF(value)
=ISREF(value)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| value | Any | Yes | ค่าหรือ Reference ที่ต้องการตรวจสอบ สามารถเป็นเซลล์ reference, Named Range, ข้อความ, ตัวเลข หรือค่าอื่น ๆ |
ISREF(G8)=ISREF(G8)
TRUE
ISREF(SalesData)=ISREF(SalesData)
TRUE
ISREF("A1")=ISREF("A1")
FALSE
ISREF(INDIRECT("B2:B10"))=ISREF(INDIRECT("B2:B10"))
TRUE
ISREF ตรวจสอบว่าเป็น Reference หรือไม่ คืนค่า TRUE/FALSE เท่านั้น ส่วน ISERROR ตรวจสอบว่าเป็น error (#N/A, #VALUE! เป็นต้น) หรือไม่ ใช้งานที่ต่างกันมาก
เพราะ “A1” เป็นข้อความ (text string) ไม่ใช่ Reference object จริง ต้องใช้ A1 โดยไม่มีอัญประลัษ หรือใช้ INDIRECT(“A1”) เพื่อให้ได้ Reference
มีประโยชน์เมื่อสร้าง Reference แบบพลวัตด้วย INDIRECT และต้องเช็กว่าสร้างสำเร็จหรือไม่ หรือตรวจสอบ Named Range ที่ผู้ใช้สร้างขึ้น
ISREF เป็นฟังก์ชันจากครอบครัว IS ที่ใช้ตรวจสอบว่าค่าที่ส่งเข้าไปเป็น Reference object ตัวจริงหรือไม่ ทำให้เรารู้ว่าสูตรสร้าง Reference ได้สำเร็จหรือไม่
สิ่งสำคัญคือ ISREF ไม่แปลงค่า เช่น ISREF(“A1”) จะคืน FALSE เพราะ “A1” เป็นเพียงข้อความ ไม่ใช่ Reference จริง แต่ ISREF(A1) จะคืน TRUE เพราะ A1 เป็น Reference ที่แท้จริง
ฟังก์ชันนี้มีประโยชน์มากเมื่อใช้กับ INDIRECT ในการสร้าง Reference แบบพลวัต หรือตรวจสอบว่า Named Range ถูกสร้างหรือทำงานถูกต้องหรือไม่