Skill · Research & Analysis

Spreadsheet Whisperer

Turns a plain-language goal into a working Excel or Google Sheets formula for your real columns, with three test rows to prove it works.

Free

Version 3Updated 15 Oct 2026

Describe what you want in plain words and get the exact formula for your sheet. You also get three test rows with expected results, so you can prove it works before you trust it, and the likely failure points for your data with their fixes.

How this skill runs: it asks once for your app, columns and goal (or works from what you already gave), then replies with the formula and its checks in at most 250 words. Load it as a skill, or paste this file into any chat.

When to use

  • You know the result you want but not the functions: lookups, conditional sums and counts, removing duplicates, date maths, cleaning up text.
  • A formula returns an error (#N/A, #REF!, #VALUE!, #NAME?, #SPILL!) or a number you know is wrong.
  • You want a formula you can understand and maintain, not one you copy blindly.

When not to use

  • A pivot table, filter or built-in feature does the job in fewer steps. The skill says so and gives those steps instead.
  • The job spans many files or has to run on a schedule. A script (Apps Script, VBA or Python) is the better tool.

Inputs to ask for

Ask in one message, and only for what is missing. If the user already gave enough to write a correct formula, state your assumptions in the Spec line and go ahead.

  • App and version: Excel (Microsoft 365 or an older version such as Excel 2016) or Google Sheets.
  • Each column involved: its letter, header and one sample value, for example A: Date = 14/01 or C: Amount = 250.00.
  • Sheet names, the rows the data covers, and the cell where the result goes.
  • The goal in plain words, including what should happen with blanks, duplicates and rows with no match.
  • Whether the user's region separates formula arguments with ; instead of ,.

Workflow

  1. Pin the spec. Restate the goal in one line: which columns go in, what comes out, for which rows, and what happens with blanks, duplicates, numbers stored as text and rows with no match. Ask the user only when a wrong guess would produce a wrong number.
  2. Write the formula for the first result cell, with absolute and relative references set so that it fills down (or spills) correctly. Prefer the simplest function the user's version supports. When a function needs a newer version (XLOOKUP, LET, FILTER, UNIQUE, LAMBDA), give a fallback for older Excel as well.
  3. Explain it briefly: one line per function, in the order the spreadsheet evaluates them.
  4. Give three test rows with expected results: a normal row taken from the user's sample, one edge case (a blank, a duplicate key or a row with no match), and one row whose answer is easy to check by hand. Work out each expected result by hand from the values. Tell the user to check these rows after pasting, because you have not run the formula.
  5. Name what breaks on this data: at most three realistic failures for this layout, each with a fix or a defensive version. Typical ones:
    • trailing spaces in keys;
    • numbers or dates stored as text;
    • duplicate lookup keys (only the first match is returned);
    • ranges that do not extend when rows are added;
    • whole-column references that slow a large sheet;
    • the wrong argument separator for the region;
    • mixed date formats.
  6. Offer a simpler option only if one exists (a helper column, a pivot table, FILTER or QUERY, a built-in feature), with one line on when to prefer it.
  7. For a broken formula: find the first part that evaluates wrongly, name the cause, then give the corrected formula and the same three test rows.

Before replying, check that:

  • the formula uses the user's actual sheet names, column letters and argument separator;
  • every function exists in the user's app and version;
  • each expected test result follows from the sample values.

Output format

At most 250 words, in this order:

**Spec:** <inputs> → <output>, rows <range>; blanks: <rule>; no match: <rule>
**Paste in <cell>, then fill down:**
=<formula>
**How it works:** 1-4 short lines
**Test these rows:**
| Row | Values | Expected result |
**Breaks if:** up to 3 lines, each with its fix
**Simpler option:** <only if one exists>

Example

User: Google Sheets. Orders sheet: A Order ID (1042), B Customer (Acme GmbH), C Amount (250.00), D Status (Paid). On my Summary sheet, customer names are in column A. I want the total paid amount per customer.

Result (illustrative; your model's wording will differ):

Spec: sum of Orders!C where Orders!B matches this row's customer and Orders!D is "Paid"; customers with no paid orders show 0.

Paste in Summary!B2, then fill down: =SUMIFS(Orders!$C$2:$C, Orders!$B$2:$B, $A2, Orders!$D$2:$D, "Paid")

How it works: SUMIFS adds column C only on rows where both conditions hold: the customer equals A2 and the status equals "Paid". The open-ended ranges ($C$2:$C) grow as you add orders.

Test these rows:

Summary rowOrders dataExpected
Acme GmbH1042: 250.00 Paid; 1057: 90.00 Pending250.00
Brightline Ltdno orders0
Corra BV1060: 40.00 Paid; 1061: 60.00 Paid100.00

Breaks if:

  1. A name has a trailing space ("Acme GmbH ") → clean the names with TRIM in a helper column.
  2. Amounts are stored as text → the total shows 0; set column C to Format > Number.
  3. Status is typed "Paid " with a space → use a dropdown (data validation) for column D.

Simpler option: a pivot table (rows: Customer, values: SUM of Amount, filter: Status = Paid), if you don't need a live formula next to other data.

Model notes (Oct 2026)

  • Claude: upload the folder as a skill (Customize > Skills, with code execution on), or use it in Claude Code from .claude/skills/. Sonnet 5.5 is quick for everyday formulas; Opus 5.5 is the better choice for long nested formulas and for diagnosing broken ones.
  • ChatGPT and Codex: install it as a plugin skill, or paste the file into a ChatGPT Project's instructions. GPT-6 tends to ask clarifying questions first; this skill tells it to go ahead on stated assumptions when the layout is clear. The Medium position of the Thinking slider is enough.
  • Gemini: save it as a Gemini app skill and call it by typing / and its name. Gemini answers briefly by default, which suits the 250-word format.
  • Claude Code, Codex, Cursor, Antigravity: put the folder in the agent's skills directory (.claude/skills, .agents/skills or .cursor/skills). This helps when you write Apps Script or VBA next to the sheet.
  • Any other chat: paste this file, then describe your sheet.

Troubleshooting

  • The result is 0 or blank. Numbers or dates are probably stored as text. Ask "Give me a version that converts text to numbers inside the formula."
  • A lookup returns #N/A although the value is there. The keys differ in spaces or type (the text "1042" against the number 1042). Ask for a version with TRIM or VALUE.
  • #NAME? in Excel. The function needs a newer Excel. Ask for the fallback for your version.
  • The formula is rejected because of commas. Your region uses ; between arguments. Say so and ask for the formula again.
  • The sheet becomes slow. Ask it to replace whole-column references with fixed ranges or a table reference.

Install the skill

Download the folder as a zip and add it wherever your agent loads skills, or paste SKILL.md into a chat.

View SKILL.md
SKILL.md
---
name: spreadsheet-whisperer
description: "Turns a plain-language spreadsheet goal into a working Excel or Google Sheets formula built on the user's real sheet names and columns, then gives three test rows with the expected result for each, the ways the formula breaks on this data (blanks, numbers or dates stored as text, duplicate keys, locale separators, ranges that do not grow) with fixes, and a simpler option when one exists. Also diagnoses broken formulas (#N/A, #REF!, #VALUE!, #NAME?, wrong totals). Use when the user says 'write me a formula', 'how do I do this in Excel', 'Google Sheets formula for', 'why is my VLOOKUP broken', 'sum only the rows where', 'my formula returns the wrong number', or 'count unique values'."
license: "Proprietary. © 2026 Meevra (meevra.com). Licensed for personal and internal business use; no resale or redistribution."
compatibility: "Claude (Skills in claude.ai, Claude Code), ChatGPT and Codex (plugin skills), Gemini app (as a skill), Cursor and Antigravity (SKILL.md folders); or paste this file into any chat."
metadata:
  title: "Spreadsheet Whisperer"
  summary: "Turns a plain-language goal into a working Excel or Google Sheets formula for your real columns, with three test rows to prove it works."
  pack: "research-analysis"
  models: "claude, chatgpt, gemini"
  free: "true"
  version: "3"
  updated: "2026-10-15"
  verified_on: ""
---

# Spreadsheet Whisperer

Describe what you want in plain words and get the exact formula for your sheet. You also get three test rows with expected results, so you can prove it works before you trust it, and the likely failure points for your data with their fixes.

**How this skill runs:** it asks once for your app, columns and goal (or works from what you already gave), then replies with the formula and its checks in at most 250 words. Load it as a skill, or paste this file into any chat.

## When to use
- You know the result you want but not the functions: lookups, conditional sums and counts, removing duplicates, date maths, cleaning up text.
- A formula returns an error (#N/A, #REF!, #VALUE!, #NAME?, #SPILL!) or a number you know is wrong.
- You want a formula you can understand and maintain, not one you copy blindly.

## When not to use
- A pivot table, filter or built-in feature does the job in fewer steps. The skill says so and gives those steps instead.
- The job spans many files or has to run on a schedule. A script (Apps Script, VBA or Python) is the better tool.

## Inputs to ask for
Ask in one message, and only for what is missing. If the user already gave enough to write a correct formula, state your assumptions in the Spec line and go ahead.
- App and version: Excel (Microsoft 365 or an older version such as Excel 2016) or Google Sheets.
- Each column involved: its letter, header and one sample value, for example `A: Date = 14/01` or `C: Amount = 250.00`.
- Sheet names, the rows the data covers, and the cell where the result goes.
- The goal in plain words, including what should happen with blanks, duplicates and rows with no match.
- Whether the user's region separates formula arguments with `;` instead of `,`.

## Workflow
1. **Pin the spec.** Restate the goal in one line: which columns go in, what comes out, for which rows, and what happens with blanks, duplicates, numbers stored as text and rows with no match. Ask the user only when a wrong guess would produce a wrong number.
2. **Write the formula** for the first result cell, with absolute and relative references set so that it fills down (or spills) correctly. Prefer the simplest function the user's version supports. When a function needs a newer version (XLOOKUP, LET, FILTER, UNIQUE, LAMBDA), give a fallback for older Excel as well.
3. **Explain it briefly:** one line per function, in the order the spreadsheet evaluates them.
4. **Give three test rows with expected results:** a normal row taken from the user's sample, one edge case (a blank, a duplicate key or a row with no match), and one row whose answer is easy to check by hand. Work out each expected result by hand from the values. Tell the user to check these rows after pasting, because you have not run the formula.
5. **Name what breaks on this data:** at most three realistic failures for this layout, each with a fix or a defensive version. Typical ones:
   - trailing spaces in keys;
   - numbers or dates stored as text;
   - duplicate lookup keys (only the first match is returned);
   - ranges that do not extend when rows are added;
   - whole-column references that slow a large sheet;
   - the wrong argument separator for the region;
   - mixed date formats.
6. **Offer a simpler option only if one exists** (a helper column, a pivot table, FILTER or QUERY, a built-in feature), with one line on when to prefer it.
7. **For a broken formula:** find the first part that evaluates wrongly, name the cause, then give the corrected formula and the same three test rows.

Before replying, check that:
- the formula uses the user's actual sheet names, column letters and argument separator;
- every function exists in the user's app and version;
- each expected test result follows from the sample values.

## Output format
At most 250 words, in this order:
```
**Spec:** <inputs> → <output>, rows <range>; blanks: <rule>; no match: <rule>
**Paste in <cell>, then fill down:**
=<formula>
**How it works:** 1-4 short lines
**Test these rows:**
| Row | Values | Expected result |
**Breaks if:** up to 3 lines, each with its fix
**Simpler option:** <only if one exists>
```

## Example
**User:** Google Sheets. Orders sheet: A Order ID (1042), B Customer (Acme GmbH), C Amount (250.00), D Status (Paid). On my Summary sheet, customer names are in column A. I want the total paid amount per customer.

**Result (illustrative; your model's wording will differ):**

**Spec:** sum of Orders!C where Orders!B matches this row's customer and Orders!D is "Paid"; customers with no paid orders show 0.

**Paste in Summary!B2, then fill down:**
`=SUMIFS(Orders!$C$2:$C, Orders!$B$2:$B, $A2, Orders!$D$2:$D, "Paid")`

**How it works:** SUMIFS adds column C only on rows where both conditions hold: the customer equals A2 and the status equals "Paid". The open-ended ranges ($C$2:$C) grow as you add orders.

**Test these rows:**

| Summary row | Orders data | Expected |
|---|---|---|
| Acme GmbH | 1042: 250.00 Paid; 1057: 90.00 Pending | 250.00 |
| Brightline Ltd | no orders | 0 |
| Corra BV | 1060: 40.00 Paid; 1061: 60.00 Paid | 100.00 |

**Breaks if:**
1. A name has a trailing space ("Acme GmbH ") → clean the names with TRIM in a helper column.
2. Amounts are stored as text → the total shows 0; set column C to Format > Number.
3. Status is typed "Paid " with a space → use a dropdown (data validation) for column D.

**Simpler option:** a pivot table (rows: Customer, values: SUM of Amount, filter: Status = Paid), if you don't need a live formula next to other data.

## Model notes (Oct 2026)
- **Claude:** upload the folder as a skill (Customize > Skills, with code execution on), or use it in Claude Code from `.claude/skills/`. Sonnet 5.5 is quick for everyday formulas; Opus 5.5 is the better choice for long nested formulas and for diagnosing broken ones.
- **ChatGPT and Codex:** install it as a plugin skill, or paste the file into a ChatGPT Project's instructions. GPT-6 tends to ask clarifying questions first; this skill tells it to go ahead on stated assumptions when the layout is clear. The Medium position of the Thinking slider is enough.
- **Gemini:** save it as a Gemini app skill and call it by typing / and its name. Gemini answers briefly by default, which suits the 250-word format.
- **Claude Code, Codex, Cursor, Antigravity:** put the folder in the agent's skills directory (`.claude/skills`, `.agents/skills` or `.cursor/skills`). This helps when you write Apps Script or VBA next to the sheet.
- **Any other chat:** paste this file, then describe your sheet.

## Troubleshooting
- **The result is 0 or blank.** Numbers or dates are probably stored as text. Ask "Give me a version that converts text to numbers inside the formula."
- **A lookup returns #N/A** although the value is there. The keys differ in spaces or type (the text "1042" against the number 1042). Ask for a version with TRIM or VALUE.
- **#NAME? in Excel.** The function needs a newer Excel. Ask for the fallback for your version.
- **The formula is rejected because of commas.** Your region uses `;` between arguments. Say so and ask for the formula again.
- **The sheet becomes slow.** Ask it to replace whole-column references with fixed ranges or a table reference.

---
© 2026 Meevra · meevra.com · Licensed to the purchaser for personal and internal business use.

What the Research & Analysis pack covers

Spreadsheet Whisperer is free to keep. It is 1 of 18 items in Research & Analysis; 16 of them come only with the download. What the pack is for:

  • Paste a small dataset and the decision you face; get a direct answer with the numbers behind it.
  • Check a financial model cell by cell for errors that change the numbers people decide on, with the cells named and corrected formulas.
  • Line up several documents on one topic: where they agree, where they conflict and what is missing.
  • Get an Excel or Google Sheets formula written for your real columns, with sample rows to check it.

The pack is 12 €, VAT included, one-time, as files you keep, with a QUICKSTART and 12 months of updates.

See all 18 items

Stuck? Email support@meevra.com — we'll help you set it up.

See the pack

  • PromptPaid

    Calculation Checker

    Paste a figure and how it was worked out; get a verdict (correct, wrong or can't confirm), an independent recalculation, the first wrong step and the corrected number.

    Research & Analysis
    • ChatGPT
    • Claude
    • Gemini
    • DeepSeek
    • Qwen
    • GLM
  • PromptFree

    Data-to-Insight Analyst

    Paste a small dataset and the decision you face; get a direct answer for your decision's period, every option side by side, the data problems found and a first step with a justified success threshold.

    Research & Analysis
    • ChatGPT
    • Claude
    • Gemini
    • DeepSeek
    • Qwen
    • GLM
  • PromptPaid

    Long-Document Structured Extractor

    Turn a long contract, report, policy or transcript into one fixed table of parties, deadlines, obligations, numbers, automatic effects and contradictions, each with a clause or page anchor.

    Research & Analysis
    • Claude
    • ChatGPT
    • Gemini
    • Kimi
    • GLM
  • SkillPaid

    Chronology Builder

    Scattered documents in, one sourced timeline out, with conflicts, gaps and the deadlines that follow from the record.

    Research & Analysis
    • Claude
    • ChatGPT
    • Gemini
    • Kimi
  • SkillPaid

    Deep Work Protocol

    Turns a hard decision into a one-page memo: the real decision, options including waiting, the assumption that would flip it, a recommendation and tripwires.

    Research & Analysis
    • Claude
  • SkillPaid

    Due Diligence 500

    Turns hundreds of pages of deal documents into a risk-ranked first-pass brief with page citations, mismatched figures and the questions to ask the seller.

    Research & Analysis
    • Claude
    • ChatGPT
    • Gemini
    • Kimi