What Is Vibe Coding? A Practical Guide for Spreadsheet Users

Summary

Vibe coding is describing what you want to an AI in plain English, running the code it writes, and judging it by results instead of reading every line. In spreadsheets it means asking for a formula or an Apps Script, pasting it into a copy of your file, and checking the output against a number you trust. It is quick and fairly safe for low-stakes sheets, and risky when scripts edit live data.

Golden retriever sitting beside a laptop showing a spreadsheet

What is vibe coding? It is building something by describing it in plain English to an AI, running whatever code comes back, and steering by results instead of reading every line. Andrej Karpathy coined the term in February 2025. For spreadsheet people, it means asking an AI for a formula or an Apps Script, pasting it in, and checking whether the numbers come out right. Biscuit has already fetched the details for you.

Where the term comes from, and what it was never meant to be

Karpathy's original post described a way of working where you "fully give in to the vibes" and forget the code even exists. He pitched it as fine for throwaway weekend projects, not for production software.

Then the word drifted. Today people use it for any coding done with AI help. Simon Willison pushed back on that in his essay on what counts as vibe coding: if you review, test and understand the code, that is ordinary AI-assisted programming, not vibe coding.

Here is the working definition we use on this blog: vibe coding is delegating the writing to an AI and judging the output only by what it does. The less you read, the more vibe it is.

Why a spreadsheet is the friendliest place to try it

Most vibe coding horror stories involve a deployed app, user data and a security hole. A spreadsheet is a smaller blast radius. You have a tab of sample data, an expected answer, and Ctrl+Z.

It also has a built-in test bench. If you asked for a total and the total differs from what a quick SUM gives you, you know within five seconds.

Laptop with a blank spreadsheet next to a coffee and a notebook sketch

A formula is the smallest possible vibe coding project

You have done this already. You typed "sum column C where column A says Paris and the date is in March" into a chat box, and a formula came back.

Here is what that looks like in a real cell:

=SUMIFS(C:C, A:A, "Paris", B:B, ">="&DATE(2026,3,1), B:B, "<"&DATE(2026,4,1))

Works in Excel and Google Sheets. SUMIFS exists since Excel 2007, so nobody is stranded on an old version.

That is vibe coding at its tamest. You described the goal, accepted the formula, and checked it against a known total. The "vibe" part is whether you looked at the arguments or just trusted the cell turning green.

Where it gets spicier: scripts, macros and Apps Script

Formulas stay inside the grid. Scripts reach outside it: send emails, rename tabs, loop over files, change data in place. That is where vibe coding earns its reputation.

Ben Collins, a Google Sheets educator, walked through vibe coding an Apps Script that counts cells by background colour, which no built-in formula does. He prompted in small steps: count the cells, then add the colour names, then a total, then a custom menu, then an email of the results. He pasted each script into the editor and ran it. When something broke, he pasted the error message back to the AI. It took him under 30 minutes against an estimated one to two hours by hand. His takeaway is the one to keep: the buck stops with you.

The loop that actually works (and the one that bites)

The working loop is boring, which is the point:

  1. Describe the sheet. Name the tab, the columns and one example row.

  2. Ask for one small thing at a time, not a whole system.

  3. Paste the result into a copy of the file.

  4. Compare against a number you already know is right.

  5. If it breaks, paste the exact error back. Do not paraphrase it.

The loop that bites: asking for a 200-line script in one prompt, running it on the live file, and noticing three days later that column F is off by one row. Biscuit comes back empty-handed and wagging, and nobody notices.

A prompt template you can steal

Vague prompts produce confident nonsense. This structure gives the AI what it needs:

I work in Google Sheets (or Excel 2019, say which).
Tab "Orders": A = order date, B = city, C = amount, header in row 1, data to row 480.
Goal: total amount for Paris in March 2026.
Give me one formula, then explain each argument in one line.

Four lines, and the answer changes from a guess into something you can verify. Naming the last row also kills the silent range error we get to below.

Three checks that catch most bad output

Before trusting anything, run these:

If all three pass, you can usually keep the result. If one fails, paste the failing case back into the chat. The AI is good at fixing a bug it can see.

Hands typing on a laptop with a code editor open

A worked example: flag duplicate invoice numbers

Say a colleague sends a sheet with 3,000 invoice numbers in column A and asks you to flag repeats. No need for a script here. The prompt "flag duplicates in column A" returns a formula you can fill down in column B:

=IF(COUNTIF($A$2:$A$3001, A2)>1, "duplicate", "")

Works in Excel and Google Sheets, all versions. The vibe coder's trap is the range: if the data grows to row 3500, the formula quietly ignores the new rows. The careful version uses a whole column such as $A:$A, or in Sheets an ARRAYFORMULA. Array formulas deserve a warning too: in old Excel they need Ctrl+Shift+Enter, in Excel 365 they just work. Biscuit comes back with the stick, but you still have to check it is the right stick.

Now the same task as a script. You would ask for an Apps Script that highlights duplicates in red. It works, but it changes cell colours in place, it needs permissions the first time, and nobody will review it next quarter. For a task this small, the formula wins. Reach for scripts when the job needs to leave the grid: sending, renaming, looping, scheduling.

What vibe coding gets wrong in spreadsheets

Skip blind trust in these four places.

Silent range errors. The AI writes A2:A100 when your data runs to row 480. Nothing errors. The total is simply wrong. Check the last row every time.

Version mismatches. A formula using XLOOKUP, LET or dynamic arrays fails in Excel 2016 and 2019. The AI does not know which Excel you have unless you say so. Tell it.

Excel versus Sheets syntax. QUERY and ARRAYFORMULA exist in Google Sheets only. Excel has no QUERY. If a chat answer mixes the two, you get a #NAME? error and a confused afternoon.

Scripts that change data in place. An Apps Script that "cleans" a column overwrites it. Always run on a duplicate first. Scripts also ask for permissions the first time, so read what you are authorising.

Vibe coding versus just using AI to write formulas

Not every AI-written formula is vibe coding. Here is how we sort it:

Most useful spreadsheet work sits in the middle two rows. That is fine. The label matters less than the habit of testing against a number you trust.

Tools people reach for

For one-off formulas, a plain chat assistant is enough. For longer scripts and files you will maintain, code-aware tools help because they can see the whole project instead of one pasted snippet. Cursor and GitHub Copilot work inside a code editor, and Claude Code runs from the terminal.

Honestly, if all you want is "what is the formula for X", you do not need any of those. Formula.dog exists for exactly that job: you describe the problem, Biscuit fetches the formula, and you get the Excel and Sheets versions side by side.

Golden retriever puppy carrying a tennis ball down an office hallway

Does vibe coding make you worse at spreadsheets?

Fair worry. If the AI always writes the formula, do you ever learn what SUMIFS does? Our take: it depends on whether you read the explanation. Ask for the formula and the argument-by-argument breakdown every time, and you pick up syntax by osmosis, the same way you learned VLOOKUP by copying someone else's file.

The risk is not forgetting syntax. The risk is losing the instinct that says "this total looks too high". That instinct is the one skill vibe coding cannot replace, and it is why the known-total check comes first. Keep a few sheets where you write everything by hand. Think of it as the dog walk: not strictly necessary every day, but things get strange without it.

Teams add one more wrinkle. A formula nobody on the team understands is a handover problem even if it works today. If someone else will inherit the file, add a note cell that says what the formula does and which prompt produced it.

Who should vibe code a spreadsheet, and who should not

Worth it if you know what the right answer looks like, the file is low stakes, and you can test on a copy. Ops people building a weekly report template, marketers cleaning a campaign export, students checking homework logic.

Skip it if the sheet feeds payroll, invoices or a board deck and nobody on the team can sanity check the output. In that case, use AI to draft, then read every argument. That is AI-assisted work, and it is the safer label for finance files.

How to start this afternoon in ten minutes

Open a copy of a real sheet. Pick one annoying task, such as splitting "Last, First" names or flagging duplicate invoice numbers. Describe it with column letters and one example. Paste the answer in, compare against three rows you checked by hand, and stop there.

If it worked, you just vibe coded. If it did not, paste the error back and ask again. Good boy either way.

Frequently asked questions

What is vibe coding in simple terms?
Vibe coding means describing what you want to an AI in plain language, running the code it writes, and judging it by the result instead of reading every line. Andrej Karpathy coined the term in February 2025.
Is writing an Excel formula with ChatGPT vibe coding?
Only if you paste it in without reading it. If you read each argument and test it against a known total, that is regular AI-assisted work. The label depends on how much you check, not on which tool you used.
Can you vibe code in Google Sheets?
Yes. Describe the task, let the AI write a formula or an Apps Script, paste it into a copy of your sheet, and test the output. Educators like Ben Collins have published step-by-step examples for Apps Script.
Is vibe coding safe for spreadsheets with real data?
Safer than for apps, because you can test on a copy and undo. It is risky when a script edits data in place or when the file feeds payroll or reporting. Always run it on a duplicate first.
Do I need to know how to code to vibe code a spreadsheet?
No, but you need to know what the right answer looks like. Being able to read a formula or a short script helps you catch silent errors such as a range that stops too early.
What is the difference between vibe coding and AI-assisted programming?
In vibe coding you accept the output without fully understanding it. In AI-assisted programming you review, test and understand the code. Simon Willison argues the two should not be confused.