home / skills / composiohq / awesome-codex-skills / spreadsheet-formula-helper

spreadsheet-formula-helper skill

/spreadsheet-formula-helper

This skill produces reliable spreadsheet formulas for Excel and Sheets, translates dialects, includes explanations and edge-case handling.

npx playbooks add skill composiohq/awesome-codex-skills --skill spreadsheet-formula-helper

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.3 KB
---
name: spreadsheet-formula-helper
description: Write and debug spreadsheet formulas (Excel/Google Sheets), pivot tables, and array formulas; translate between dialects; use when users need working formulas with examples and edge-case checks.
metadata:
  short-description: Build/debug Excel or Sheets formulas
---

# Spreadsheet Formula Helper

Produce reliable spreadsheet formulas with explanations.

## Inputs to gather
- Platform (Excel/Sheets), locale (comma vs. semicolon separators), sample data layout (headers, ranges), expected outputs, and constraints (volatile functions allowed?).
- Provide small example rows and the desired result for them.

## Workflow
1) Restate the problem with explicit ranges and sheet names; propose a minimal sample to verify.
2) Draft formula(s); when dynamic arrays are available, prefer them over copy-down formulas.
3) Explain how it works and where to place it; include named ranges if helpful.
4) Edge cases: blank rows, mixed types, timezone/date quirks, duplicates; offer guardrails (e.g., `IFERROR`, `LET`, `LAMBDA`).
5) Variants: if porting between Excel and Sheets, provide both versions.

## Output
- Primary formula, short explanation, and a 2–3 row worked example showing inputs → outputs.
- Optional: quick troubleshooting checklist for common errors.

Overview

This skill generates and debugs spreadsheet formulas for Excel and Google Sheets, including pivot tables and array formulas. It translates between dialects and returns working formulas with short explanations and worked examples. Use it when you need reliable, production-ready spreadsheet logic and edge-case handling.

How this skill works

I first gather platform, locale, exact ranges, sample rows, and desired outputs. I restate the problem with explicit sheet names and ranges, then draft primary formulas—preferring dynamic arrays where supported. I explain placement, name suggestions, and guardrails like IFERROR, LET, or LAMBDA. Finally I provide worked examples and variants for Excel vs Sheets plus a brief troubleshooting checklist.

When to use it

  • You need a single formula that replaces copy-down logic.
  • Porting formulas between Excel and Google Sheets dialects.
  • Building dynamic arrays or spill formulas for modern Excel/Sheets.
  • Creating robust calculations with edge-case handling (blanks, text, dates).
  • Debugging an existing formula that returns errors or incorrect results.

Best practices

  • Provide sample rows and expected outputs before drafting formulas.
  • Specify platform and locale to ensure correct separators and functions.
  • Prefer dynamic array formulas when available to avoid manual fills.
  • Wrap fragile expressions with IFERROR or validation checks.
  • Document assumptions and where to place named ranges or helper columns.

Example use cases

  • Sum the latest date per customer using MAXIFS in Excel and MAX(FILTER()) in Sheets.
  • Translate a semicolon-separated CSV split+trim formula into both dialects with locale variants.
  • Create a spillable unique list with counts using UNIQUE + COUNTIF or LET-based solutions.
  • Debug a VLOOKUP that returns #N/A by replacing it with INDEX/MATCH or XLOOKUP and showing guardrails.
  • Build a pivot-like summary using a single dynamic array formula instead of a pivot table.

FAQ

What information should I provide to get a precise formula?

Give platform, locale, sheet names, exact ranges, 3–5 sample rows, and the expected outputs for those rows.

Can you convert formulas between Excel and Google Sheets?

Yes. I provide both versions and note functions that differ or are unavailable in one dialect.

How do you handle blank rows and mixed data types?

I add guards like IF(TRIM(range)="","",...) or use FILTER/ISNUMBER checks and explain trade-offs.