I don’t know all the details of what you’re trying to do, but I think shanaqui’s suggestion is a good one. Beeminder exposes its “charge me” functionality via IFTTT (and an API, too. https://api.beeminder.com/#postcharge). Set up your Google Sheet with IFTTT and having it trigger a charge. If IFTTT doesn’t check fast enough, I’d recommend hitting the API directly. There are a variety of no- or low-code tools that can connect the two, like Integromat, but Google Sheets supports Google Apps Script. Apps Script will let you monitor cells or a column, and run functions based on changes to them.
The derailing-multiple-times-a-day thing isn’t really a scaling thing.
Beeminder aggregates data by day to get a daily value. Depending on the type of goal, the aggregation may be different. Some goals take the “worst” datapoint, others take the “best”. Some take the average of the datapoints, others take the first datapoint. This is pretty great, in general, and works to support many, many different types of goals, and bypasses quite a few snags.
One place where this approach limits things, however, is in scheduling things at a greater granularity than a single day. If you want to be able to derail multiple times in one day on a graph, which datapoints would be taken into account? Would each datapoint be considered on its own, without any aggregation? Once that’s the case, there are some tricky things that Beeminder’s been able to bypass by using daily aggregation. For instance, what happens if a datapoint gets submitted twice? Instantly two charges? (There’s deeper things too, like multiple transactions in rapid succession for the same amount of money from an online vendor are often pegged as fraudulent by the payment networks…)