{"version":"1.1.0","schema":"https://www.oneagentaday.com/api/schema.json","agent":{"title":"Formula Whisperer","slug":"formula-whisperer","date":"2026-10-20","issue":46,"category":"automation","categoryLabel":"Automation","tags":["spreadsheets","excel","google-sheets","formulas"],"difficulty":"easy","runtimes":["ChatGPT","Claude","Gemini","Copilot"],"excerpt":"Say what you want a cell to do, in plain words. Get a working Excel or Google Sheets formula, explained piece by piece, plus the edge case that would break it.","problem":"You know exactly what you want the spreadsheet to do. You just don't know whether it's VLOOKUP, SUMIFS, or something with FILTER, and the formula you found online returns #N/A.","videoUrl":null,"url":"https://www.oneagentaday.com/agents/formula-whisperer","apiUrl":"https://www.oneagentaday.com/api/agents/formula-whisperer.json","promptUrl":"https://www.oneagentaday.com/agents/formula-whisperer/prompt.txt","configUrl":null,"configFilename":null,"license":"CC-BY-4.0","howItWorks":"Most spreadsheet problems are the same handful of formulas: look something up, add up rows that match conditions, count things, pull a filtered list. The hard part is knowing which one, getting the syntax right for your app, and dealing with blanks, text-formatted dates, and names with a trailing space.\n\nThis agent takes a plain description of your sheet and what you want, and gives back one formula that fits your actual columns. It explains it piece by piece, so you can fix it yourself next time.\n\n## What to paste\n\nExcel or Google Sheets (and the version if it's old Excel). Sheet names, what each column holds, where the data starts, and roughly how many rows. Then what you want the cell to do, in normal words. Mention blanks and anything messy.\n\n## What you get back\n\nOne formula, ready to paste, using your real sheet names and columns. A short breakdown of what each part does. Two or three test rows you can check by hand. Then the edge cases that would break it in your data, with a fix for each.\n\nIf there's a simpler approach than a formula, like a pivot table, it says so in one line. It won't hand you a 300-character LAMBDA when SUMIFS does the job.","steps":[{"name":"Describe your columns","text":"Say which app (Excel or Google Sheets), the sheet names, which column holds what, and where the data starts. A few example values help a lot, especially dates and yes/no columns."},{"name":"Say what the cell should do","text":"Plain words, including the awkward parts: blanks, text that looks like numbers, rows that will be added later. That is where copied formulas usually break."},{"name":"Run the prompt","text":"New chat in ChatGPT, Claude, Gemini, or Copilot. Paste the prompt, then your description. If it asks a question, answer it. A wrong guess about your columns gives a formula that silently returns 0."},{"name":"Paste and spot-check","text":"Put the formula in the first cell and drag it down. Check two rows by hand against the test cases it gave you. If you get an error, paste the error and the cell back in."}],"demo":[{"second":0,"label":"The ask","detail":"Invoices sheet: date, client, amount, paid. Wants unpaid total per client, last 30 days only."},{"second":8,"label":"Function picked","detail":"SUMIFS with three conditions. Blank in 'paid' handled by matching anything that isn't 'yes'."},{"second":16,"label":"Formula","detail":"=SUMIFS(Invoices!C:C, Invoices!B:B, A2, Invoices!D:D, \"<>yes\", Invoices!A:A, \">=\"&TODAY()-30)"},{"second":24,"label":"Edge cases","detail":"Dates stored as text return 0. Client names with trailing spaces won't match. Fix for each included."}],"sampleInput":"Google Sheets. Sheet \"Invoices\", headers in row 1, data from row 2 down\n(about 400 rows, grows every week).\n\nA: invoice date\nB: client name\nC: amount (EUR)\nD: paid? (yes / no, sometimes blank)\n\nOn another sheet, \"Summary\", I have client names in column A.\nIn column B I want: the total amount still unpaid for that client,\nbut only invoices from the last 30 days. Blank in D should count as unpaid.\n","prompt":"You write spreadsheet formulas for people who know what they want but not the syntax. You are practical: simplest formula that works, explained in plain words.\n\nINPUT\n- The app: Excel (which version if known) or Google Sheets.\n- Sheet names, what each column contains, where headers and data start, rough row count, and sample values if given.\n- What the formula should do, in plain words.\n\nHOW TO WORK\n1. Restate the task in one sentence using the user's columns. If a key detail is missing (which app, where the data is, how blanks should count), ask up to 3 short questions and stop.\n2. Pick the simplest function that does the job. Prefer SUMIFS, COUNTIFS, XLOOKUP, INDEX/MATCH, FILTER, UNIQUE over nested IFs. Use only functions available in the user's app and version.\n3. Write the formula with the user's real sheet names and columns. Use whole-column or bounded ranges that keep working as rows are added. Quote sheet names with spaces.\n4. Check it against the data mentally: blanks, text stored as numbers or dates, trailing spaces, mixed case, duplicates, errors in source cells.\n5. Write test cases a user can check by hand.\n\nRULES\n- One main formula. Give an alternative only if the user's app version may not support the first.\n- Use the decimal and argument separators the user's locale suggests. If they used commas as decimals, use semicolons between arguments and say so.\n- No VBA, Apps Script, or LAMBDA unless the user asks.\n- If a pivot table or a built-in feature is clearly easier, say so in one line, then still give the formula.\n\nOUTPUT\n## Formula\nWhere to put it, then the formula in a code block. Say whether to drag it down or across.\n\n## How it works\nEach part of the formula on its own line with a short plain explanation.\n\n## Check it\n2 or 3 example rows with the result you should get.\n\n## What could break it\nBullets: the problem, how you'd notice, and the fix.","config":null}}