Back to Nasdaq in Google Sheets
SheetXAI logo
Nasdaq logo
Nasdaq · Google Sheets Guide

Track Analyst Rating Changes Over Time for a Watchlist in a Google Sheet

2026-05-14
5 min read

The Scenario

You run buy-side research and maintain a high-conviction sheet of 20 positions. For the last three quarters you've been tracking whether analyst sentiment is actually moving — not just where ratings land today, but whether the buy counts are climbing or the sell counts are creeping up. Your PM asked this morning: which positions have seen the most meaningful sentiment shift in the last three months?

The bad version:

  • Export today's Zacks ratings for each ticker. Then realize you need the 1-month-ago figures. Then the 3-month-ago figures. Three separate API calls per ticker, 60 total calls, three separate CSVs or JSON blobs to reconcile.
  • Line up the dates across all three pulls — Zacks snaps on business days, so "one month ago" is actually 21 trading days ago, which may not be the date you grabbed last time.
  • Calculate the Strong Buy delta per ticker, figure out which positions moved the most, and build the comparison table. By the time it's done, half the day is gone.

Your PM needs an answer before the afternoon portfolio review. The analysis itself is ten minutes of thinking. The data collection is three hours of plumbing.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Google Sheet. It reads the watchlist, calls Nasdaq Data Link Zacks for current and historical rating distributions in a single request per ticker, and writes the comparison table directly — including the change direction you need for the review.

For each ticker in column A, pull analyst rating data from Nasdaq Data Link Zacks and write current Strong Buy count, the count from 1 month ago, and the count from 3 months ago into columns B, C, D — add a column E with the change direction

What You Get

  • Columns B–E populated with a header row: Strong Buy Now, Strong Buy 1M Ago, Strong Buy 3M Ago, Direction
  • Direction written as "Improving" if current count exceeds 3-month-ago, "Declining" if the reverse, "Stable" if unchanged
  • Tickers with incomplete historical coverage noted in column B rather than returning zeros that distort the trend
  • All counts as integers; direction flag ready to sort or filter

What If the Data Is Not Quite Ready

You want to track mean rating score changes, not just Strong Buy counts

Your PM wants the full sentiment picture, not just the top-of-distribution movement.

For each ticker in column A, pull Zacks analyst ratings from Nasdaq Data Link and write current mean rating score, the score from 1 month ago, and the score from 3 months ago into columns B, C, D — add column E with the change (current minus 3-month-ago, as a signed decimal)

You want to flag positions where sentiment has worsened by more than 0.5 rating points

Some positions have moved a lot. You only need to discuss those in the afternoon review.

Fetch Zacks analyst ratings from Nasdaq for all stocks in column A — write current mean rating score and the 3-month-ago score into columns B and C, calculate the change in column D, and add column E with "Flag" if sentiment worsened by more than 0.5 points and "OK" otherwise

One ticker in your list was renamed recently and the historical data might be under the old symbol

For each ticker in column A, pull Zacks rating history from Nasdaq — if the current symbol returns no historical data, check column B for a legacy ticker and retry; write current Strong Buy count, 1M count, 3M count, and change direction into columns C through F

You want rating changes, target price shifts, and a combined momentum score in one shot

For each ticker in column A, pull Zacks data from Nasdaq Data Link — write current Strong Buy count, Strong Buy 3M ago, current mean target price, and target price 3M ago into columns B through E — then add column F with a momentum score: +1 if Strong Buy count increased and target price increased, -1 if both decreased, and 0 otherwise

Pull the historical comparison and compute the composite signal in one prompt. The score is in column F when it lands, not after a formula pass.

Try It

Get the 7-day free trial of SheetXAI and open any Google Sheet with a list of high-conviction positions, then ask it to pull current and historical Zacks ratings from Nasdaq Data Link for every ticker and flag which ones have seen the sharpest sentiment shift. You can also look at the spoke on fetching analyst ratings and consensus target prices or the Nasdaq overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more