I also encountered the same issue. Particularly with JP stocks. I went through different phases:
- Using an extension that parsed the data automatically from Yahoo Finance. Worked fine for a few months (or even year, can’t remember), but then the guy asked for money.
- Then I manually scraped GoogleFinance with Xpath, but then it kept breaking because Google renames the CSS classes and breaks importxml function.
- Then I tried pulling from Stooq instead, first with importdata, then with an Apps Script UrlFetchApp call. Both dead ends, Google’s servers block stooq.com so it just returned #N/A.
Now, I used AI to have an Apps Script custom function that gets the info from Yahoo Finance JSON API. Works like a charm. It’s just a small function you paste into the sheet’s Apps Script editor:
function STOCKPRICE(symbol) {
var url = "https://query1.finance.yahoo.com/v8/finance/chart/" + symbol + "?interval=1d&range=1d";
var response = UrlFetchApp.fetch(url, {
headers: { "User-Agent": "Mozilla/5.0" },
muteHttpExceptions: true
});
var json = JSON.parse(response.getContentText());
return json.chart.result[0].meta.regularMarketPrice;
}
Then in a cell you just call =STOCKPRICE("8053.T"). Yahoo uses the .T suffix for Tokyo, so Sumitomo 8053 becomes 8053.T. Same function works for other exchanges by swapping the suffix (.SW for SIX Swiss, .L for London, .PA for Paris, plain ticker for US). It’s not blocked by Google, needs no API key, and returns clean JSON, so it’s been stable ever since.
Can’t share mine, it’s currently held together with tape and prayers while I migrate the whole thing off Sheets into a webapp, so it’d be more of a curse than a gift right now.
Honestly though, if you’ve already got Claude, don’t even bother hunting for an empty template. Just tell it what you want to track (your columns, the calcs, whatever ratios you care about) and it’ll spit out a clean sheet in one shot, tailored to you instead of some random guy’s layout you’ll end up gutting anyway.
And if you catch the bug like I did, the natural next step is ditching the spreadsheet altogether. That’s what I’m doing now, having agents build me a small webapp instead. I host it on Cloudflare Pages (free, deploys straight from a git push, zero trust id) with a D1 database behind it. Costs me basically nothing.
So yeah, let Claude cook. Worst case you get a spreadsheet in 5 minutes, best case you end up with something way better than anything we could hand you.