RTD Function

Excel Functions › Lookup & Reference

Excel 2002+ Requires an RTD server

The Excel RTD function pulls live, pushed data into a cell — stock quotes, futures prices, sensor readings — from a real-time data (RTD) server running on your machine. That last part is the catch: RTD is a connector, not a data source. Without an installed COM add-in from a data vendor (Thinkorswim, Interactive Brokers, Bloomberg, and many market-data platforms ship one), the function has nothing to talk to and simply returns an error.


Quick answer: with a vendor’s RTD server installed, a live last price looks like:
=RTD("tos.rtd", , "LAST", "MSFT") // Thinkorswim-style: server, topic, symbol
The first argument is the vendor’s registered ProgID, the second is almost always left empty (local machine), and the rest are topic strings defined by the vendor — check their documentation for the exact names.

Syntax

=RTD(prog_id, server, topic1, [topic2], ...)
ArgumentDescription
prog_idRequiredThe registered ProgID of the RTD COM add-in, in quotes — e.g. "tos.rtd". The vendor’s documentation tells you this string.
serverRequired*The machine running the RTD server. Leave it empty (just the comma) for the local machine, which is the normal case.
topic1, topic2, ...Required1 to 253 strings identifying what you want — typically a field name and a symbol, like "LAST", "MSFT". Entirely vendor-defined.

*Required by the syntax, but usually supplied as empty.

RTD cannot run standalone. Excel has shipped the function since 2002, but it only relays data from an RTD server registered on the computer. No server installed = no data, ever. This page’s workbook therefore documents the formulas rather than calculating live.

How RTD actually works: push, not pull

Classic Excel functions pull: they run when the sheet recalculates. RTD inverts this — the server pushes new values to Excel whenever the data changes, and Excel updates the cell. That makes RTD fundamentally different from web-query refreshes or volatile functions like NOW().

A typical trading layout watches several fields per symbol:

=RTD("tos.rtd", , "LAST", "MSFT") // last traded price
=RTD("tos.rtd", , "BID", "MSFT") // current bid
=RTD("tos.rtd", , "ASK", "MSFT") // current ask

Put the symbol in a cell and reference it, and one sheet becomes a watchlist for anything you type:

=RTD("tos.rtd", , "LAST", A2) // symbol comes from cell A2

While the server is starting up or the first value hasn’t arrived, cells briefly show #N/A — normal, and it clears by itself.

Try it: a simulated RTD feed

Live demo

No RTD server in a browser, so here’s a simulation of one pushing quotes into three cells. Change the symbol and the throttle interval to feel how RTD behaves.

The throttle interval, calculation, and modern alternatives

Excel doesn’t repaint on every tick. Updates are batched by the throttle interval — 2,000 ms by default. Traders often lower it via VBA (there is no dialog for it):

Application.RTD.ThrottleInterval = 500 // VBA, in the Immediate window - persists in the registry

Worth knowing before you build on RTD:

  • RTD cells update even with calculation set to Manual — the push arrives regardless; dependent formulas wait for the next calc.
  • Excel must be running and the workbook open; RTD doesn’t log history. Pair it with VBA if you need to capture ticks.
  • RTD replaced the legacy DDE mechanism — it’s more stable and works with Excel’s multithreaded recalculation.

Don’t need tick-level data? Microsoft 365’s built-in Stocks data type (Data › Stocks) delivers delayed quotes with zero installation, and IMAGE-era linked data types cover currencies and indices. RTD is for when you need a real vendor feed.

Errors & common pitfalls

#N/A — the server isn’t there (or isn’t ready). The ProgID isn’t registered on this machine, the vendor app isn’t running, or the feed hasn’t delivered its first value. Install/start the vendor software and check their exact ProgID string.

#NAME? — typo or ancient Excel. RTD has existed since Excel 2002, so #NAME? today almost always means the function name is misspelled.

#VALUE! — bad topic strings. Topics are vendor-defined and often case-sensitive. "Last" vs "LAST" can be the whole problem — copy them exactly from the vendor docs.

Pitfall: values look frozen. Usually the throttle interval (2 s default), Excel busy in edit mode (typing in a cell pauses updates), or the vendor session timed out. It’s rarely the formula.

Pitfall: workbook shows stale values for colleagues. RTD values are saved like any number, but they only update on machines with the same RTD server installed. Anyone else opens a snapshot.

Practice workbook

📊
Download the free RTD practice workbook
Every example on this page, ready to open in Excel — plus practice challenges with answers on a separate tab. No sign-up required.

Frequently asked questions

Why does my RTD formula just return #N/A?
Because there's no RTD server answering. RTD requires a vendor COM add-in (trading platform, market-data service) installed and running. Verify the vendor app is open, the ProgID matches their docs exactly, and give it a few seconds after startup.
Can I use RTD to get stock prices without installing anything?
No. RTD is only a bridge to installed software. For no-install quotes, use Microsoft 365's built-in Stocks data type (Data > Stocks) - delayed, but zero setup.
How often do RTD cells update?
Whenever the server pushes, but Excel batches repaints by the throttle interval - 2,000 ms by default. Change it in VBA: Application.RTD.ThrottleInterval = 500. A value of 0 means update as fast as data arrives.
What's the difference between RTD and DDE?
RTD is DDE's modern replacement: a COM-based push mechanism that's more stable, supports multithreaded recalculation, and lets the server control update flow. New integrations should always use RTD; DDE survives only for legacy feeds.
Does RTD update when calculation is set to Manual?
The RTD cells themselves still receive pushed values, but formulas that depend on them won't recalculate until you press F9. For dashboards, leave calculation on Automatic.
Can RTD pull from a server on another computer?
The syntax allows a machine name in the server argument, but most vendors support only local servers and DCOM setup is painful. In practice, install the feed on each machine that needs it.

Master functions like this in one day

This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related functions: INDIRECT · OFFSET · HYPERLINK · IMAGE · XLOOKUP