Implement 6 new Excel functions for Google Sheets#124
Merged
Jython1415 merged 6 commits intomainfrom Jan 20, 2026
Merged
Conversation
Implements fail-fast division by zero error handling using LET bindings to calculate the percentage contribution of a subset relative to a total. Returns decimal value (0.25 = 25%).
Implements array expansion functionality that pads arrays to specified dimensions with optional fill values, supporting both row and column expansion while preserving original data when target dimensions are smaller than current size.
Implements SINGLE formula that returns a single value from an array at a specified row and column position, using the INDEX function with 1-based indexing. Follows project 4-step workflow with linting, README generation, and comprehensive test validation.
Implements simplified TEXTSPLIT function for 1D array splitting. Wraps Google Sheets' SPLIT function with consistent naming. README already updated in commit 291d742.
Implements TRIMRANGE formula that removes empty rows and columns from the outer edges of a range (top, bottom, left, right), similar to how TRIM removes leading/trailing spaces from text. Empty rows/columns in the middle are preserved. Uses BYROW with COUNTA to detect empty rows/columns, XMATCH to find boundaries, and CHOOSEROWS/TRANSPOSE pattern for extraction. Also cleans up README by removing TEXTBEFORE and TEXTSPLIT entries which lack corresponding YAML files in the repository. Follows project 4-step workflow: linter passed, README generated, all 171 tests passed. Implements #58
Implements issue #54 by mirroring TEXTAFTER pattern with inverted logic. Supports forward/backward search, case-sensitive/insensitive matching, and customizable error handling.
This was referenced Jan 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements 6 high-value Excel functions missing from Google Sheets, addressing issues #60, #54, #57, #63, #58, and #55.
Functions Implemented
Tier 1 - High-Value Quick Wins:
Tier 2 - Strategic Additions:
Issues Closed
Also closed 3 issues as "not planned" with explanations:
Testing
Implementation Details
All functions follow project standards:
Commits
Test Plan
uv run python scripts/lint_formulas.pyuv run python scripts/generate_readme.pyuv run pytest tests/ -v