Thep Excel

RTDฟังก์ชันดึงข้อมูลแบบ Real-time จาก COM Automation

ฟังก์ชัน RTD ใช้สำหรับดึงข้อมูลแบบ Real-time จากโปรแกรมที่รองรับ COM automation เช่น ราคาหุ้น อัตราแลกเปลี่ยน หรือข้อมูลที่มีการอัพเดทอย่างต่อเนื่อง
.
ที่เจ๋งคือ RTD จะอัพเดทข้อมูลโดยอัตโนมัติเมื่อ Excel อยู่ในโหมดคำนวณอัตโนมัติ ไม่ต้องนั่งกด F9 หรือรีเฟรชด้วยตนเอง ซึ่งเหมาะมากสำหรับการติดตามข้อมูลตลาดการเงิน การวิเคราะห์หุ้น หรือการเชื่อมต่อกับ Data Server ภายนอก

fx
=RTD(ProgID, server, topic1, [topic2], …)

ความนิยม8/10
ความยาก5/10
ประโยชน์9/10

อัปเดต 18 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
ProgID Text ชื่อ ProgID ของ COM automation add-in ที่ได้ลงทะเบียนไว้ในเครื่องคอมพิวเตอร์ ต้องใส่ในเครื่องหมายคำพูด (เช่น “mycomaddin.progid”, “thinkorswim.rtd”)
server Text ชื่อของ Server ที่ add-in จะทำงาน หากโปรแกรมทำงานบนเครื่องเดียวกัน (Local) ให้ใส่ค่าว่างเปล่า “” สำหรับ VBA ใช้ double quotation marks หรือ NullString property
topic1 Text พารามิเตอร์แรกที่ระบุข้อมูลเรียลไทม์ที่ต้องการ เช่น ชื่อหุ้น (“AAPL”), ประเภทข้อมูล (“Price”, “Volume”) หรือชื่อ Server
[topic2]ไม่บังคับ Text – พารามิเตอร์เพิ่มเติม (สูงสุด 253 พารามิเตอร์) ที่ร่วมกันระบุข้อมูลเรียลไทม์ที่เฉพาะเจาะจง เช่น “BID”, “ASK”, “LAST” สำหรับข้อมูลราคาหุ้น สามารถเพิ่มได้หลายค่าคั่นด้วยคอมม่า

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

ฟังก์ชัน RTD ใช้สำหรับดึงข้อมูลแบบ Real-time จากโปรแกรมที่รองรับ COM automation ครับ เช่น ราคาหุ้น อัตราแลกเปลี่ยน หรือข้อมูลที่มีการอัพเดทอย่างต่อเนื่อง

.

ที่เจ๋งคือ RTD จะอัพเดทข้อมูลโดยอัตโนมัติเมื่อ Excel อยู่ในโหมดคำนวณอัตโนมัติ ไม่ต้องนั่งกด F9 หรือรีเฟรชด้วยตนเองเลย 😎

.

ส่วนตัวผมคิดว่า RTD เป็นฟังก์ชันที่ดีมากสำหรับคนที่ทำ Day Trading หรือ Swing Trading เพราะช่วยให้เราเห็นข้อมูลตลาดแบบ Real-time ได้โดยไม่ต้องสลับไปดูที่หน้าจอเทรด

.

เหมาะมากสำหรับการติดตามข้อมูลตลาดการเงิน การวิเคราะห์หุ้น หรือการเชื่อมต่อกับ Data Server ภายนอกครับ 💡

How it works

การซื้อขายหุ้นและการจัดการพอร์ตโฟลิโอ

ดึงราคาหุ้นแบบ Live จากแพลตฟอร์มเทรดเช่น ThinkOrSwim (TOS), Interactive Brokers (IBKR), หรือ Bloomberg เพื่อติดตามพอร์ตและตัดสินใจซื้อขายแบบ Real-time

อัตราแลกเปลี่ยนสกุลเงิน

ดึงอัตราแลกเปลี่ยนแบบเรียลไทม์สำหรับการวิเคราะห์ทางการเงินระหว่างประเทศ การคำนวณต้นทุนนำเข้า-ส่งออก หรือการบริหารความเสี่ยงจากอัตราแลกเปลี่ยน

การติดตาม Server Load และ Performance

เชื่อมต่อกับ Monitoring System เพื่อแสดงสถานะ Server, CPU usage, Memory, หรือ Network traffic แบบเรียลไทม์บน Dashboard

ข้อมูลสภาพอากาศและข่าวสาร

ดึงข้อมูลสภาพอากาศ อุณหภูมิ ความชื้น หรือข่าวสารจากแหล่งข้อมูลภายนอกที่มีการอัพเดทต่อเนื่อง

Examples

ตัวอย่างที่ 1: ดึงราคาหุ้นแบบ Real-timeRTD("thinkorswim.rtd", "", "AAPL", "LAST")

สูตรนี้ใช้ RTD add-in จาก ThinkOrSwim เพื่อดึงราคาหุ้น Apple (AAPL) แบบเรียลไทม์ครับ

**พารามิเตอร์:**
– ProgID: "thinkorswim.rtd" คือ COM add-in ของ TOS
– Server: "" (เว้นว่างเพราะ add-in ทำงานบนเครื่องเดียวกัน)
– Topic1: "AAPL" คือ ticker symbol ของหุ้น Apple
– Topic2: "LAST" คือราคาล่าสุด (Last Trade Price)

เมื่อใช้งานจริง ราคาหุ้นจะอัพเดทอัตโนมัติเมื่อมีการเปลี่ยนแปลงในตลาด ไม่ต้องนั่งกด F9 หรือรีเฟรชเอง 😎

**หมายเหตุ:** ต้องติดตั้งและลงทะเบียน ThinkOrSwim RTD add-in ก่อนใช้งานนะครับ

fx
=RTD("thinkorswim.rtd", "", "AAPL", "LAST")

ผลลัพธ์ราคาหุ้น Apple (AAPL) ล่าสุดแบบเรียลไทม์
ตัวอย่างที่ 2: ดึงราคา BID และ ASKRTD("interactive.brokers.rtd", "", "MSFT", "BID")

สูตรนี้ใช้ RTD add-in จาก Interactive Brokers เพื่อดึงราคา BID ของหุ้น Microsoft (MSFT)

**พารามิเตอร์:**
– ProgID: "interactive.brokers.rtd" คือ COM add-in ของ IBKR
– Server: "" (Local execution)
– Topic1: "MSFT" คือ ticker symbol ของ Microsoft
– Topic2: "BID" คือราคาเสนอซื้อสูงสุดในขณะนั้น

สามารถเปลี่ยน "BID" เป็น "ASK" ได้ถ้าอยากดูราคาเสนอขายต่ำสุดนะครับ

💡 **Tip สำหรับเทรดเดอร์:** ลองใส่ทั้ง BID และ ASK ในเซลล์ข้างๆ กัน แล้วคำนวณส่วนต่าง (Spread) ระหว่างทั้งสอง จะได้ภาพสภาพคล่องของตลาดว่าตอนนี้ซื้อขายง่ายหรือเปล่า

fx
=RTD("interactive.brokers.rtd", "", "MSFT", "BID")

ผลลัพธ์ราคา BID ของหุ้น Microsoft แบบเรียลไทม์
ตัวอย่างที่ 3: ดึงปริมาณการซื้อขาย (Volume)RTD("marketdata.provider", "", "Server_Main", "TSLA", "VOLUME")

สูตรนี้ดึงปริมาณการซื้อขาย (Trading Volume) ของหุ้น Tesla (TSLA) จาก Market Data Provider ครับ

**พารามิเตอร์:**
– ProgID: "marketdata.provider" คือ COM add-in ของผู้ให้บริการข้อมูลตลาด
– Server: "" (Local)
– Topic1: "Server_Main" ระบุชื่อ Server ที่ให้บริการข้อมูล
– Topic2: "TSLA" คือหุ้น Tesla
– Topic3: "VOLUME" คือปริมาณการซื้อขาย

Volume เป็นตัวชี้วัดสำคัญที่บอกความสนใจและสภาพคล่องของหุ้นนะครับ Volume สูง = มีคนซื้อขายเยอะ Volume ต่ำ = ตลาดไม่ค่อยมีคนสนใจ 📊

fx
=RTD("marketdata.provider", "", "Server_Main", "TSLA", "VOLUME")

ผลลัพธ์ปริมาณการซื้อขายหุ้น Tesla แบบเรียลไทม์
ตัวอย่างที่ 4: กรณีไม่มี RTD Server ติดตั้งRTD("unknown.addin", "", "TEST")

เมื่อใช้สูตร RTD กับ COM add-in ที่ไม่ได้ติดตั้งหรือลงทะเบียนในระบบ Excel จะคืนค่า #N/A ครับ

ข้อผิดพลาดนี้เกิดเพราะ Excel หา ProgID "unknown.addin" ในระบบไม่เจอ 😅

**วิธีแก้ไข:**
1. ตรวจสอบว่า COM add-in ถูกติดตั้งแล้วหรือยัง
2. ตรวจสอบว่า add-in ได้ลงทะเบียน (Registered) ในระบบถูกต้องแล้วหรือเปล่า
3. ตรวจสอบชื่อ ProgID ว่าสะกดถูกต้องมั้ย (เคสสำคัญ!)

⚠️ **หมายเหตุสำคัญ:** Microsoft Office ไม่มี RTD server มาให้ในตัวนะครับ ต้องติดตั้งจากผู้ให้บริการภายนอก เช่น Interactive Brokers, ThinkOrSwim หรือพัฒนาเอง

fx
=RTD("unknown.addin", "", "TEST")

ผลลัพธ์#N/A

FAQs

RTD แตกต่างจากฟังก์ชันอื่นอย่างไร?+

RTD มีความพิเศษคือสามารถอัพเดทข้อมูลโดยอัตโนมัติแบบ Real-time ตลอดเวลาครับ เมื่อ Excel อยู่ในโหมดคำนวณอัตโนมัติ ไม่ต้องนั่งกด F9 หรือรีเฟรชด้วยตนเอง

ในขณะที่ฟังก์ชันทั่วไป (เช่น VLOOKUP, SUM) จะคำนวณเมื่อมีการเปลี่ยนแปลงในเซลล์ที่อ้างอิงเท่านั้น แต่ RTD มันจะอัพเดทข้อมูลเองโดยไม่ต้องรอให้เราแก้อะไรในเซลล์ 😎

ต้องติดตั้งอะไรก่อนใช้ฟังก์ชัน RTD?+

ต้องติดตั้งและลงทะเบียน RTD COM automation add-in ในเครื่องคอมพิวเตอร์ก่อนนะครับ

เพราะ Microsoft Office ไม่มี RTD server มาให้ในตัว ต้องหาจากผู้ให้บริการภายนอก เช่น Interactive Brokers, ThinkOrSwim, Bloomberg หรือถ้าเป็นโปรแกรมเมอร์ก็พัฒนา RTD server เองได้ด้วย .NET 💻

ทำไมสูตร RTD ของฉันถึงแสดง #N/A?+

ข้อผิดพลาด #N/A มักเกิดจากสาเหตุหลักๆ เหล่านี้ครับ:

1. ไม่มี RTD server ติดตั้งในระบบ
2. ProgID สะกดผิดหรือไม่ตรงกับที่ลงทะเบียน
3. RTD add-in ไม่ได้เปิดใช้งานหรือไม่ได้รันอยู่
4. Server ที่ระบุไม่สามารถเชื่อมต่อได้

วิธีแก้ง่ายๆ คือลองเช็คว่า add-in ติดตั้งและทำงานถูกต้องก่อนนะครับ ส่วนใหญ่ปัญหาอยู่ตรงนี้แหละ 😅

RTD ใช้ได้กับโปรแกรมซื้อขายหุ้นไหนบ้าง?+

RTD รองรับโปรแกรมที่มี COM automation เช่น:

– Interactive Brokers (IBKR) 📈
– ThinkOrSwim (TOS)
– Quantower
– Bloomberg Terminal
– Fidelity Active Trader Pro
– และผู้ให้บริการ Market Data อื่นๆ ที่รองรับ RTD protocol

โดยแต่ละโปรแกรมจะมี ProgID และ Topic format เฉพาะตัว ต้องไปดู documentation ของแต่ละแพลตฟอร์มว่ารูปแบบเป็นยังไงนะครับ

สามารถใช้ RTD กับ Excel Online หรือ Excel for Mac ได้หรือไม่?+

RTD ทำงานได้ดีที่สุดบน **Excel for Windows** ครับ เพราะ COM automation เป็นเทคโนโลยีของ Windows โดยเฉพาะ

สำหรับ **Excel for Mac** รองรับบางส่วนแต่อาจมีข้อจำกัด ขึ้นอยู่กับว่า add-in นั้นๆ รองรับ Mac หรือเปล่า

ส่วน **Excel Online** (Web version) ไม่รองรับ RTD เลยครับ เพราะไม่สามารถติดตั้ง COM add-in บนเบราว์เซอร์ได้ 😢

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ RTD จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้RTDLookup and reference
Lookup and reference (4)
INDIRECT

INDIRECT แปลงข้อความเป็นการอ้างอิงเซลล์จริง ช่วยให้สามารถเปลี่ยนตำแหน่งเซลล์ได้ไดนามิกโดยใช้ตัวเลขหรือชื่อเซลล์

LOOKUP

LOOKUP ค้นหาค่าในช่วงข้อมูลที่เรียงลำดับแล้ว (ascending) และคืนค่าจากตำแหน่งเดียวกันในอีกช่วงหนึ่ง มีเทคนิคพิเศษคือหาค่าสุดท้ายที่ไม่ว่าง แนะนำใช้ XLOOKUP แทนสำหรับ Excel 365

TOCOL

TOCOL ช่วย "ตบ" ข้อมูลจากตารางหลายมิติให้มาเรียงต่อกันเป็นคอลัมน์เดียว สามารถเลือกวิธีเรียงลำดับได้ว่าจะอ่านจากซ้ายไปขวา (ทีละแถว) หรือบนลงล่าง (ทีละคอลัมน์) และยังมี Option ให้กรองช่องว่างหรือ Error ทิ้งไปโดยอัตโนมัติ เหมาะสำหรับการเตรียมข้อมูล (Data Preparation)

VLOOKUP

VLOOKUP เป็นฟังก์ชันค้นหาแนวตั้งที่ได้รับความนิยมสูงสุดใน Excel โดยค้นหาค่าที่ต้องการในคอลัมน์ซ้ายสุดของตาราง จากนั้นดึงข้อมูลจากคอลัมน์ที่ระบุในแถวเดียวกัน รองรับทั้งการค้นหาแบบตรงทุกตัวอักษร (Exact Match) และแบบประมาณค่า (Approximate Match) สำหรับข้อมูลที่เรียงลำดับ ข้อจำกัดหลักคือต้องค้นหาจากคอลัมน์ซ้ายสุดเท่านั้น ไม่สามารถดึงข้อมูลจากด้านซ้ายของคอลัมน์ค้นหาได้

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่