Skip to content

minagishl/spreadsheet-function-builder

Repository files navigation

Spreadsheet Function Builder

A visual tool for building spreadsheet formulas without memorizing syntax. Select a function from the sidebar, fill in the arguments with guided inputs, and copy the ready-to-use formula in one click.

Function builder showing SUM with argument inputs Function builder showing COUNTIF filtered by Statistical category

Features

  • 43 built-in functions across 6 categories: Math, Text, Logical, Lookup, Date & Time, and Statistical
  • Visual argument editor — each argument shows its name, type icon, required/optional badge, and a description
  • Live formula preview — the formula updates as you type, with a "Ready to use" indicator when all required fields are filled
  • Category filter — narrow the function list by category with one click
  • Full-text search — search by function name or description in both English and Japanese
  • One-click copy — copies the generated formula to the clipboard
  • English and Japanese UI — toggle between languages; preference is saved in localStorage
  • Responsive layout — on mobile the sidebar opens as a slide-in drawer from the left

Tech Stack

Layer Technology
Framework Preact
Styling Tailwind CSS v4
Icons Lucide via lucide-preact
Build Vite
Language TypeScript

Getting Started

Prerequisites: Node.js 18+ and pnpm

# Install dependencies
pnpm install

# Start the development server
pnpm dev

# Build for production
pnpm build

# Preview the production build
pnpm preview

Project Structure

src/
├── app.tsx                    # Root component, layout and state
├── index.css                  # Tailwind import and custom theme tokens
├── data/
│   └── functions.ts           # Definitions for all 43 functions
├── i18n/
│   └── translations.ts        # English and Japanese UI strings
├── hooks/
│   └── useLanguage.ts         # Language state with localStorage persistence
├── utils/
│   └── formulaBuilder.ts      # Formula assembly logic
└── components/
    ├── Header.tsx             # Top bar with branding and language toggle
    ├── FunctionSidebar.tsx    # Searchable function list with category filter
    ├── ArgumentEditor.tsx     # Argument input form and formula preview
    └── EmptyState.tsx         # Placeholder when no function is selected

Supported Functions

Category Functions
Math SUM, AVERAGE, MIN, MAX, COUNT, ROUND, ABS, SQRT, POWER, MOD
Text CONCATENATE, LEN, LEFT, RIGHT, MID, UPPER, LOWER, TRIM, SUBSTITUTE, TEXT
Logical IF, AND, OR, NOT, IFERROR, IFS
Lookup VLOOKUP, HLOOKUP, INDEX, MATCH, XLOOKUP
Date & Time TODAY, NOW, DATE, YEAR, MONTH, DAY, DATEDIF
Statistical COUNTIF, SUMIF, AVERAGEIF, COUNTIFS, SUMIFS

License

MIT License - See LICENSE file for details.

About

A visual spreadsheet formula builder that lets you create functions without memorizing syntax.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages