AI news has been firing one announcement after another this month, and most of it has nothing directly to do with the product you’re building. [Source: https://www.aiapps.com/blog/top-ai-news-july-breakthroughs-launches-trends/] But there’s one direction even the people writing code should pause for: Copilot inside Excel. According to Microsoft’s own docs, when you send it a prompt, Copilot first analyzes your task, drafts a step-by-step plan, then goes ahead and executes it directly in your worksheet, reviews the results, and checks whether it actually delivered what you asked for. [Source: https://support.microsoft.com/en-US/excel/copilot/get-started-with-copilot-in-excel] In other words, it can analyze your data and generate spreadsheet content based on the scenario you describe — instead of forcing you to build everything cell by cell.

What’s really worth learning here isn’t Excel, and it isn’t the monthly report either. It’s the pattern behind it: any structured task you have to redo periodically can be taught once in natural language, saved, and replayed next time. The monthly report is just the easiest example of this pattern, because almost nobody escapes it. Read this as a hands-on guide for “how to build repeatable workflows with AI tools,” and you can swap in any recurring chore on your plate — the logic stays the same.

Your real cost is the recurring, non-core, always-redoing chores

Nobody started a company just to build monthly reports. But every month you’re still pulling revenue together, tallying subscription growth and churn, pulling KPIs out to review yourself, or stitching a deck of numbers to send to co-founders and investors. Swap the scene for weekly growth metrics, recurring client updates, a batch of data you reformat before every release, raw files you keep cleaning into the same shape — the structure is identical: clear rules, roughly the same shape each time, but you have to walk through it again every cycle. None of these are hard. All of them are eating the time you should’ve spent building.

And the most expensive part of this kind of chore was never which formula is tricky — it’s that “how did I do this last time” never gets written down. That workflow in your head — which sheet to paste first, which column to filter, how to lay out the pivot, which cells to flag red — gets re-walked every cycle. It doesn’t take a single solid block of time; it splinters into a pile of tiny decisions scattered across half a day, and by the time you notice, the whole afternoon has gone by without you touching the codebase. This is the most expensive kind of cost, because when it’s done, nothing’s left behind — next cycle starts from zero.

Your first instinct might be: I’ll just write a script. For a task where the format never changes, the script wins. But the rules on these flows often shift every quarter — one more department, a different definition of revenue, a new YoY column, a client asking for an extra chart. Now you’re maintaining a one-off script you keep going back to patch, and the cost of feeding it isn’t necessarily lower than doing it by hand. A natural language description is a different tradeoff: editing a paragraph is cheaper than editing code that rots.

Run it manually once, then “talk” it through step by step

Pick [Copilot] from the ribbon to open the chat pane, or select a cell and click the Copilot icon next to it. [Source: https://homepage.ntu.edu.tw/~huangsl/office365/excel/Excel%E8%88%87Copilot%E8%BC%94%E5%8A%A9%E5%8A%9F%E8%83%BD%E6%87%89%E7%94%A8.pdf] This time, don’t let it guess. Walk through the whole thing yourself, and as you go, describe each step in natural language: “Take the raw data on sheet A, group by department, sum this month’s revenue, compare against last month to calculate growth rate, flag anything over a threshold in green, anything below zero in red, then generate a summary at the end.”

This kind of “tell me what you want in one paragraph” is exactly the input Copilot was designed for — you can even just say “format this table as a monthly report,” and it’ll generate the matching actions based on the content in your current worksheet, even auto-completing them, and features like this are available even on the free tier. [Source: https://powerappstw.com/zh/blog/page-127] The point is “be clear,” not “be fancy.” Treat it like writing a handoff doc for a new engineer — the more explicit you are, the fewer hidden assumptions you leave, the more accurate its output. Once you’ve got this step down, you can swap in any periodic task and use the same trick: do it once manually, while translating it into a paragraph.

Save that paragraph in version control — next time just paste it back

This is the key step — don’t let the time you just spent evaporate. Save the full description you just wrote, drop it in a .md file in your repo, a note, or Notion — whatever works. It actually is your workflow, just translated into a paragraph you can trigger. And for you, treating it as a living document that moves with your version control is way more reliable than keeping it in your head. Next cycle, drop in the new data, paste the paragraph back, and Copilot reruns the whole thing. Teach it once, paste a paragraph later. Over time, you’ll accumulate a small stack of these “workflow-as-text” snippets — each one a chore that used to eat half your day and now takes a single paragraph.

But to be honest: Copilot right now isn’t recording a button-style macro for you. It re-interprets and regenerates from the natural language paragraph you saved. So how specific you write that paragraph is the dividing line between whether next time actually saves you effort or doesn’t. A vague description means you go back and patch things by hand every time — and that’s especially uncomfortable for people used to writing deterministic code.

Run the same dataset twice — that’s the only way to know what it actually saved you

Don’t trust anyone’s time-saving numbers, including mine. The engineer’s instinct should be exactly this: take the same dataset, do it the old way once, run it with your saved prompt once, and put both side by side. Compare two things — the time difference (time it yourself with a stopwatch), and whether the numbers match. Revenue totals and growth rates Copilot generates have to line up with what you computed by hand before they count. If they match, you’ve earned the right to put it into real output. If they don’t, go back and fix the description — not the result. Fixing the result buries the problem; fixing the description fixes the root cause — same thing you do when you debug: fix the cause, not the symptom.

Worth noting: Copilot is itself built to help you analyze data and pull insights from it. [Source: https://support.microsoft.com/zh-tw/office/%E9%96%8B%E5%A7%8B%E4%BD%BF%E7%94%A8-excel-%E4%B8%AD%E7%9A%84-copilot-d7110502-0334-4b4f-a175-a73abdfc118a] You can flip that side around and use it to cross-check what you computed by hand, instead of just trusting its answer one way. That “verify before you trust” line applies no matter which AI tool you’re using or what you’re running it on.

What’s a good fit, and what’ll cause you headaches

Good fits are work with a stable structure that looks roughly the same each time — revenue aggregation, subscription growth, KPI tracking, fixed-format data cleaning — anything with clear rules. Bad fits are work where the rules keep changing and you need to make judgment calls on the fly (do you exclude this outlier, does that refund count toward this month’s MRR). It’ll make those calls in a way that looks perfectly reasonable — and that’s exactly where it gets dangerous. It sounds confident even when it’s wrong, and you won’t spot it at a glance. Leave that fuzzy zone for human judgment.

Then there’s the data side. What indie devs hold in their hands is often more sensitive than they realize — user lists, payment data, revenue numbers that haven’t gone public yet. Whether truly sensitive stuff goes into an AI workflow is your call, not a default. Saving time feels great, but it’s not worth trading away a batch of user data you can’t get back.

The most satisfying moment in this kind of recurring chore has never been the instant you finish — it’s the day you suddenly realize that half-day has finally gone back to the product you’re actually building.