Google Sheets Sheetiest Words: Explained
208 guides covering functions, UI features, Apps Script APIs, and formula errors. Each page links to Better Sheets tools and tutorials so you can go deeper.
Also see our questions hub, Apps Script hub, and Google Sheets add-ons.
Lookup and reference functions
INDEX, MATCH, XLOOKUP, VLOOKUP, INDIRECT, OFFSET, and friends.
XLOOKUP
XLOOKUP searches a lookup array for a key and returns a matching value from a return array. It handles left lookups, approximate match, and custom not-found text without INDEX/MATCH gymnastics.
Read guide →INDIRECT
INDIRECT evaluates a text string as a cell reference. Build addresses from dropdown selections, month tab names, or column letters generated by formulas. It powers dynamic dashboards but is volatile and easy to break with typos.
Read guide →OFFSET
OFFSET starts from a reference cell and returns a range moved by a row and column offset with optional height and width. Rolling averages, dynamic windows, and shifted blocks use OFFSET, though INDEX and FILTER are often clearer today.
Read guide →INDEX
INDEX fetches a value from a range by row and column number. Combined with MATCH it powers flexible lookups. Alone it picks nth items from lists, dynamic headers, or matrix intersections without VLOOKUP column limits.
Read guide →MATCH
MATCH searches a range for a value and returns its relative position. Feeding INDEX or OFFSET with MATCH replaces brittle column index math. Sorted approximate match modes support tier tables and date brackets.
Read guide →VLOOKUP
VLOOKUP searches the first column of a range for a key and returns a value from a specified column to the right. It is still everywhere in legacy templates even as XLOOKUP offers more flexible replacements.
Read guide →HLOOKUP
HLOOKUP is the horizontal cousin of VLOOKUP. It searches the first row of a range for a key and returns a value from a specified row below. Wide month grids and matrix headers occasionally still use it.
Read guide →SUMIF
SUMIF totals values in a sum_range when a matching row in criteria_range meets your criterion. It is the classic single-condition sum: add column B where column A equals West. Wildcards and comparison operators work in the criterion string.
Read guide →COUNTIF
COUNTIF returns how many cells in a range meet a single criterion. It powers KPI tiles like open ticket count, rows flagged Yes, or cells above a quota. The criterion follows the same string, comparison, and wildcard rules as SUMIF.
Read guide →SUMIFS
SUMIFS adds values in sum_range only when every criteria_range passes its paired test. Argument order is sum_range first, then alternating criteria_range and criterion pairs. All conditions use AND logic: every test must be TRUE on the same row.
Read guide →COUNTIFS
COUNTIFS counts how many rows satisfy every criterion at once. You pass criteria_range1, criterion1, criteria_range2, criterion2, and so on. Unlike COUNTIF, there is no separate count range: each pair tests the same row index across the sheet.
Read guide →IF
IF evaluates a logical test and returns value_if_true when the test passes, otherwise value_if_false. It is the basic branching function for labels, safe division, and simple approvals before you reach for IFS or lookup tables.
Read guide →IFERROR
IFERROR wraps another formula and returns value_if_error when the inner expression hits any error, including #N/A, #REF!, #VALUE!, and #DIV/0!. Use it for polished dashboards. Fix the root cause when the error signals bad data you should clean.
Read guide →INDEX MATCH
INDEX MATCH is a two-function lookup pattern: MATCH finds the row or column position of a key, and INDEX returns the value from that position in another column. It predates XLOOKUP but remains common in legacy models and tutorials.
Read guide →QUERY, arrays, and dynamic formulas
QUERY, ARRAYFORMULA, FILTER, UNIQUE, LAMBDA, and modern array helpers.
SQL-style queries (QUERY)
The QUERY function runs a SQL-like statement against a range in your sheet. You SELECT columns, filter with WHERE, sort with ORDER BY, and aggregate with GROUP BY without building many helper columns. It is the closest native option to a small in-sheet database query.
Read guide →QUERY
QUERY runs a SQL-like statement against a range of cells and returns a new table of results. You pass a data range, a query string with SELECT, WHERE, ORDER BY, and optional headers. It is the fastest way to filter, sort, group, and pivot sheet data without helper columns.
Read guide →ARRAYFORMULA
ARRAYFORMULA tells Google Sheets to treat a formula as an array operation so one expression fills many cells at once. It is common with IF, VLOOKUP, and math on full columns before dynamic arrays made many patterns automatic. It still matters for legacy sheets and explicit control.
Read guide →FILTER
FILTER returns only the rows from a range that meet one or more conditions. Conditions are boolean arrays the same height as the data. FILTER spills results automatically, so it replaced many INDEX/SMALL helper-column patterns for live subsets.
Read guide →UNIQUE
UNIQUE extracts a deduplicated list from a column or table. Optional arguments control whether duplicates appear by row, by column, or with occurrence counts. It powers dropdown source lists, category tabs, and data cleanup without manual copy-paste.
Read guide →FLATTEN
FLATTEN converts a two-dimensional range into a single column, reading across rows then down. It is useful after SPLIT or when you need every value from a block in one list for UNIQUE, COUNTIF, or mail merge prep.
Read guide →SORTN
SORTN sorts a range and returns only the first N rows. You choose how many rows, which column drives the sort, and ascending or descending order. Leaderboards and best-seller reports use SORTN instead of manual sorting that goes stale.
Read guide →SEQUENCE
SEQUENCE returns a grid of sequential numbers. You set how many rows and columns, the starting value, and the step between values. It replaces manual 1, 2, 3 fill patterns and pairs well with MAP, LAMBDA, and date math for generated row labels.
Read guide →LAMBDA
LAMBDA defines an anonymous function inside a formula. You name parameters, write the calculation, then pass arguments when you call it. Combined with MAP, BYROW, or a named LAMBDA in the Name manager, it replaces fragile copy-paste logic across big tables.
Read guide →BYROW
BYROW takes an array and a LAMBDA that receives one row at a time. It returns a column of results, one per row. It is the clean way to sum across columns, test row-wide rules, or format composite keys without ARRAYFORMULA hacks.
Read guide →BYCOL
BYCOL mirrors BYROW but runs a LAMBDA on each column of a range. The result spills across one row with one value per column. Use it for column-wise stats, normalizing monthly blocks, or validating each survey question column.
Read guide →MAP
MAP walks aligned arrays element by element and applies a LAMBDA to each position. Pass one array for unary transforms or several arrays for element-wise combinations. It is the modern replacement for many ARRAYFORMULA column operations.
Read guide →REDUCE
REDUCE walks an array left to right, carrying an accumulator value updated by a LAMBDA on each step. It can implement custom aggregates, text joins with rules, or conditional running logic that SUM alone cannot express.
Read guide →SCAN
SCAN is like REDUCE but returns every intermediate accumulator in a spilled column. It powers running totals, cumulative text builds, and step-by-step counters without dragging cumulative formulas.
Read guide →MAKEARRAY
MAKEARRAY creates a grid of specified height and width, computing each cell with a LAMBDA that receives row and column indexes. It builds lookup tables, sensitivity matrices, and coordinate-driven templates without manual fill.
Read guide →TOCOL
TOCOL converts a range into a single column. You can choose whether it reads down each column first or across rows first. It replaces manual paste-special transpose chains when reshaping blocks for UNIQUE or FILTER.
Read guide →TOROW
TOROW flattens a range into a single row spill. Like TOCOL but horizontal, it helps build header arrays, SPARKLINE source rows, and inputs for functions that expect one horizontal vector.
Read guide →HSTACK
HSTACK appends arrays horizontally so columns sit side by side in one spilled table. It replaces fragile copy-paste when combining QUERY outputs, IMPORTRANGE blocks, or calculated columns with matching row heights.
Read guide →VSTACK
VSTACK stacks arrays on top of each other into one taller table. Combine regional exports, monthly snapshots, or FILTER results with the same columns without manual paste below last row.
Read guide →ARRAY_CONSTRAIN
ARRAY_CONSTRAIN wraps an array formula result and returns only the first num_rows and num_columns of that output. It prevents huge spills, fits charts to fixed ranges, and stabilizes ranges for IMPORTRANGE wrappers when you need predictable dimensions.
Read guide →LET
LET assigns names to calculated values inside one formula, then uses those names in the final expression. Repeated VLOOKUP keys, tax rates, or date bounds appear once, which shrinks formulas and can reduce recalc work on heavy sheets.
Read guide →SORT
SORT reorders rows from an input range and spills the result elsewhere. Source data stays put, unlike Data > Sort range which edits the grid in place. Use SORT on dashboard tabs when lists should refresh automatically. For menu-driven one-time sorts, see the sorting glossary term.
Read guide →Formula basics and data cleanup
Syntax, sorting, grouping, normalization, and defaults.
Google Sheets formula syntax
Every formula starts with = followed by a function name and arguments in parentheses. Ranges use A1 notation, text sits in quotes, and operators like + and & combine values. Sheets recalculates when inputs change, so syntax errors show as #NAME? or #ERROR! in the cell.
Read guide →filters in Google Sheets
Filtering hides rows that do not match criteria without deleting data. The filter toolbar on a header row is the fastest UI path. FILTER and QUERY formulas build dynamic views that update when source data changes, which suits dashboards and reporting tabs.
Read guide →sorting data in Sheets
Sorting reorders rows by one or more columns. The Data > Sort range menu sorts selection in place. The SORT function returns a sorted copy that updates when inputs change. Always decide whether related columns must move together as a single row unit.
Read guide →grouping rows in Sheets
Row and column grouping adds outline controls on the left or top edge so readers expand or collapse sections. It is a presentation layer: formulas still see all cells whether collapsed or not. Grouping suits budgets, project plans, and any sheet with detail rows under subtotal headers.
Read guide →normalizing data in Sheets
Normalizing means making inconsistent inputs follow one reliable shape: same date format, trimmed text, unique keys, one fact per row, and separate columns for categories that were crammed into one field. Clean data makes VLOOKUP, QUERY, and dashboards dependable.
Read guide →default values in Sheets
Default values fill gaps when a cell is empty or pre-populate new rows with standard choices. Use IFBLANK in formulas, data validation lists with a suggested first option, template row copy, or ARRAYFORMULA that writes a fallback until someone overrides manually.
Read guide →TRUNC
TRUNC chops off digits after a chosen decimal place without rounding up or down. TRUNC(3.99) is 3, not 4. Use negative place values to truncate to tens, hundreds, or thousands. It is common in pricing tiers, ID bucketing, and reports where rounding would misstate totals.
Read guide →Google Sheets formulas
A formula is an instruction in a cell that calculates a result from other cells, ranges, or built-in functions. Every formula begins with =. When inputs change, the sheet recalculates so dashboards and models stay live without manual copy-paste. Formulas are the default automation layer inside the grid before Apps Script or add-ons.
Read guide →Google Sheets formula generator
A formula generator is a guided tool that turns your plain-language inputs into a working Google Sheets formula you can paste into a cell. Instead of memorizing argument order for QUERY, REGEXMATCH, or conditional formatting rules, you pick options and copy the result. Better Sheets hosts generators for common high-friction patterns on the homepage and tool catalog.
Read guide →Stuck mid-formula?
Search tutorials for the term you need, or unlock the full Better Sheets library.
Errors, spills, and references
Fix #REF!, #N/A, spills, volatile functions, and locale quirks.
#REF! error
#REF! means a formula references a cell or range that no longer exists. Common causes include deleted rows or columns, removed sheets, broken IMPORTRANGE, or cut-paste that orphaned an address. The error spreads to every dependent formula until you repair the link.
Read guide →#N/A error
#N/A means not available: the formula ran but could not find a match. Lookup functions return #N/A when a key is missing from the table. Sometimes that is correct. Often it signals typos, extra spaces, or numbers stored as text.
Read guide →#VALUE! error
#VALUE! means Google Sheets cannot interpret an argument as the type the function expects. Common causes include text in a math formula, invalid dates, wrong delimiter locale, or passing a range where a scalar is required.
Read guide →#DIV/0! error
#DIV/0! appears when a formula divides by zero or by an empty cell treated as zero. It is common in conversion rate, cost-per-unit, and percent-change columns when the denominator can be blank on new rows.
Read guide →#NAME? error
#NAME? means Google Sheets does not recognize a name in your formula. That can be a misspelled function, a named range that does not exist, text used without quotes, or a function name from the wrong language locale.
Read guide →Formula errors in Google Sheets
Formula errors are typed messages in cells when something prevents a valid result. Each code points to a different failure mode: bad reference, missing lookup, type mismatch, divide by zero, unknown name, or blocked array spill. Learning the vocabulary speeds debugging and keeps dashboards trustworthy for decision makers.
Read guide →#SPILL! error
#SPILL! means a dynamic array formula tried to fill multiple cells but something blocked the spill range. Another value, merged cells, or a table in the way stops the output. Clear the obstruction or move the formula to open space.
Read guide →Volatile functions
Volatile functions recalculate whenever Sheets recalculates the sheet, not only when their direct arguments change. NOW, TODAY, RAND, RANDBETWEEN, OFFSET, and INDIRECT are common examples. Heavy use in large ARRAYFORMULA columns can make shared files feel sluggish and make results change on every edit.
Read guide →Open range reference
An open range reference points at an entire row, column, or unbounded slice such as B:B or 2:2 instead of a fixed rectangle like B2:B500. Formulas with open ranges include every cell in that line, which is convenient for growing tables but expensive and risky when stray values live far below your data.
Read guide →Absolute reference ($)
Absolute references lock row, column, or both with dollar signs so a formula keeps pointing at the same cell when you copy it. $A$1 locks both axes. A$1 locks the row. $A1 locks the column. Mixed locks are how tax rates stay in one settings cell while a formula fills down a thousand rows.
Read guide →Array literal
An array literal is an inline constant array written with curly braces, for example {1,2,3} across columns or {1;2;3} down rows. Semicolons separate rows and commas separate columns in US locale. Array literals feed functions expecting ranges without placing values on the grid first.
Read guide →Locale separators
Locale controls whether function arguments separate with commas or semicolons and whether decimals use dot or comma. A sheet set to France may expect =SUM(A1;A10) while US expects =SUM(A1,A10). CSV imports and array literals also clash when decimal commas meet comma separators. File > Settings > Locale sets the default behavior for new formulas in that file.
Read guide →Import and external data functions
Pull data from other sheets, URLs, feeds, and the web into your grid.
IMPORTRANGE
IMPORTRANGE loads values from a range in another Google spreadsheet into your current file. You pass the spreadsheet URL or key plus a range string with an optional sheet name. After you grant access once, the link stays live and updates when the source changes.
Read guide →IMPORTHTML
IMPORTHTML fetches a public web page and returns a table or list from its HTML. You provide the URL, the query type (table or list), and the index of which table or list on the page to import. It is a quick scraper for simple pages without writing Apps Script.
Read guide →IMPORTXML
IMPORTXML fetches a URL and returns data matching an XPath query. You can scrape page titles, meta tags, table cells, or RSS-style XML fields. It is more precise than IMPORTHTML when you need one value or a repeating node set from structured markup.
Read guide →IMPORTDATA
IMPORTDATA retrieves a text file from a web address and parses it into sheet cells. It works with comma- or tab-separated values published at a stable URL. Government open data, published exports, and simple report endpoints are common sources.
Read guide →IMPORTFEED
IMPORTFEED reads an RSS or Atom syndication URL and returns feed items in a table. You can request specific fields like titles, URLs, authors, or dates using query parameters. It is handy for lightweight media monitoring without a dedicated news tool.
Read guide →GOOGLEFINANCE
GOOGLEFINANCE connects your sheet to Google market data. Pass a ticker symbol, an attribute like price or volume, and optional date range arguments for historical quotes. Portfolio trackers and FX dashboards use it to avoid manual price copy-paste.
Read guide →GOOGLETRANSLATE
GOOGLETRANSLATE calls Google Translate from a formula. You pass source text and optional source and target language codes. It is useful for quick catalog localization, support ticket summaries, or multilingual label columns without leaving the spreadsheet.
Read guide →Connected Sheets
Connected Sheets lets you explore very large datasets from BigQuery (and related Google Cloud sources) through a Sheets interface with extracts, pivot-style analysis, and scheduled refresh. You work with a connected tab instead of pasting millions of rows into the grid. It targets analysts who outgrow IMPORTRANGE but still want a spreadsheet UX.
Read guide →PV
PV returns the present value of an investment or loan given a constant interest rate and periodic payments. You pass rate per period, number of periods, payment amount, optional future value, and end-or-beginning timing. Finance models use PV to compare deals, price annuities, and sanity-check loan offers in Sheets.
Read guide →Text and regex functions
SPLIT, TEXTJOIN, REGEXMATCH, REGEXEXTRACT, REGEXREPLACE, and regex concepts.
regex in Google Sheets
Regular expressions (regex) describe text patterns. Google Sheets exposes them through REGEXMATCH (test), REGEXEXTRACT (pull a substring), and REGEXREPLACE (swap text). They shine when TRIM and SPLIT are not enough for inconsistent labels, URLs, or log lines.
Read guide →REGEXMATCH
REGEXMATCH returns TRUE or FALSE when text matches a regular expression pattern. Use it in FILTER, IF, and COUNTIF to validate emails, extract structure flags, or flag messy imports before they break downstream reports.
Read guide →REGEXEXTRACT
REGEXEXTRACT returns the portion of text that matches a regular expression, often using capture groups to pull IDs, domains, or codes from longer strings. It replaces manual LEFT/RIGHT/MID chains when patterns repeat.
Read guide →REGEXREPLACE
REGEXREPLACE finds text matching a regex pattern and replaces it with new text. Strip non-digits from phones, normalize spaces, or remove tags from HTML snippets in bulk without one-off find-and-replace menus.
Read guide →SPLIT
SPLIT divides one text cell into multiple cells spilled across columns using a delimiter such as comma, space, or custom string. It is the formula version of Text to columns for live data like tags, full names, or combined codes.
Read guide →TEXTJOIN
TEXTJOIN merges many text values into one string with a delimiter between them. The ignore_empty argument skips blanks so you do not get double commas. It builds display labels, CSV-like rows, and summary lines from wide tables.
Read guide →SWITCH
SWITCH evaluates an expression against a list of case values and returns the result for the first match. A default value catches everything else. It cleans up nested IF chains when you compare one cell to many constants like status codes.
Read guide →IFS
IFS runs several condition-result pairs in order and returns the result for the first condition that is TRUE. It replaces long nested IF trees for tiered scoring, bonus bands, and SLA buckets where each step tests a comparison.
Read guide →CONCAT
CONCAT joins two or more text values into one string. CONCATENATE is the older name for the same job in many workbooks. The ampersand operator (&) also joins values. For lists with delimiters and empty cells skipped, TEXTJOIN is often cleaner.
Read guide →CHAR
CHAR takes a number and returns the matching character from the Unicode table. Pair it with REPT or SPARKLINE to build progress bars, dividers, and icon columns without pasting symbols by hand. Better Sheets character tools preview codes before you lock a formula into production tabs.
Read guide →Sparklines, images, and links
Mini charts, IMAGE, HYPERLINK, and visual formula patterns.
progress bars in cells
In-cell progress bars show completion as a mini chart inside one cell using SPARKLINE bar charts, REPT block characters, or colored bars driven by percent complete. They turn a number like 0.72 into a visual stripe readers grasp faster than raw decimals on dashboards and habit trackers.
Read guide →visual formulas in Sheets
Visual formulas are spreadsheet layouts where the formula output is meant to be seen, not just calculated: sparkline strips, emoji status icons, color scales, and REPT bars that communicate trend and health at a glance. They sit between raw numbers and full chart objects for dense dashboards.
Read guide →SPARKLINE
SPARKLINE draws a miniature chart inside one cell from a row or column of numbers. Choose line, column, bar, or winloss types and pass an options object for color, axis, and markers. Dashboard tables use sparklines to show trend without full charts.
Read guide →IMAGE
IMAGE fetches a picture from a public URL and renders it inside a cell. Modes control fit, stretch, and custom height. Product catalogs, team directories, and asset trackers use IMAGE to show thumbnails beside SKUs without manual insert image menus.
Read guide →HYPERLINK
HYPERLINK builds a clickable link in a cell. Pass a URL and optional friendly label text. Reports use it for open invoice, view doc, or mailto support links without ugly raw URLs filling the grid.
Read guide →character playground
The character playground is a Better Sheets tool for browsing symbols, previewing CHAR and REPT patterns, and copying formulas before they land in your spreadsheet. Homepage visitors use it to explore kawaii, geometric, and utility characters without guessing Unicode codes in an empty cell.
Read guide →Format, protect, and share
Conditional formatting, validation, protection, publishing, and clones.
conditional formatting
Conditional formatting changes how cells look when they meet rules you define, such as values above a target or dates in the past. It helps scanners spot problems fast without writing values into extra helper columns. Rules can be simple comparisons or custom formulas that reference other sheets.
Read guide →dropdowns / data validation
Data validation restricts what people can type in a cell. A dropdown is the friendly face of that feature: pick from a list instead of free text. It keeps statuses, categories, and owners consistent so filters, pivot tables, and scripts do not break on typos.
Read guide →protect sheets/ranges
Protection limits who can edit specific cells, ranges, or entire tabs while others keep view or comment access. It is how you let teammates update input columns without touching formula blocks, summary rows, or archived data. Protection is not encryption; owners and editors with rights can still adjust protections.
Read guide →Google Sheets URL Hacks
URL hacks are extra parameters you add to a Google Sheets link to control what opens: a specific tab, a highlighted range, a prefilled form, or an export format. They save clicks when you embed links in docs, SOPs, or buttons. They do not bypass sharing: viewers still need access to the file.
Read guide →revoke sheet access
Revoking access means removing a person or link from the share list so they can no longer open or edit the file. In Google Sheets you use the Share dialog to remove users, downgrade editors to viewers, or turn off anyone-with-the-link sharing. Revoke is essential when contractors finish, clients churn, or a link was posted publicly by mistake.
Read guide →publish Google Sheets
Publishing puts a read-only snapshot or live view of your sheet on the web at a public URL. File > Share > Publish to web lets you choose a tab and format (web page, CSV, TSV, PDF). Published links do not require Google login, which is powerful for embeds and data feeds but risky if you publish the wrong range.
Read guide →clone a spreadsheet
Cloning creates a new Google Sheets file from an existing one so you start from a proven layout without editing the master template. Use File > Make a copy inside the sheet or copy from Google Drive. The clone usually brings tabs, formatting, named ranges, and bound Apps Script, but sharing permissions reset.
Read guide →duplicate rows and tabs
Duplicating inside a workbook means copying a sheet tab or repeating row data for another entry. Right-click a tab and choose Duplicate to clone an entire sheet with formulas adjusted for the new tab name. For rows, copy-paste or drag-fill copies values and formats, which is fast but risky for unique IDs unless you regenerate keys in a helper column.
Read guide →cell formatting
Cell formatting controls how values display without necessarily changing the stored value underneath. Currency, percent, date, and plain text formats keep reports readable and prevent Sheets from auto-converting IDs into dates. Good formatting is the difference between a sheet leadership trusts and one they argue with.
Read guide →spreadsheet styling
Styling is the visual layer on top of raw data: fonts, fills, borders, banding, and theme colors that guide the eye to headers, inputs, and totals. Unlike number formatting, styling does not change values. It makes shared sheets scannable in meetings and reduces "where do I type?" questions from new editors.
Read guide →Data bars
Data bars are in-cell horizontal bars driven by conditional formatting. Longer bars mean larger values relative to the range. They give spreadsheet scanners a quick visual ranking without building a separate chart for every column on a KPI table.
Read guide →Alternating colors
Alternating colors apply banded row or column fills to a table so eyes track across wide grids. Format > Alternating colors opens a sidebar with presets and custom header and footer styles. It is faster than hand-painting every other row and updates when you add rows inside the formatted range.
Read guide →Data validation
Data validation restricts what can be entered in a cell before bad data spreads through your model. Rules can enforce dropdown lists, number ranges, dates, text length, or custom formulas that return TRUE. Invalid entries can be rejected or warned with a note. Validation is the front door quality check for shared trackers and intake sheets.
Read guide →Autofill
Autofill copies a cell or selection downward or sideways using the small blue square fill handle. Sheets detects simple series like 1,2,3 or Mon,Tue,Wed and continues the pattern. Formulas copy with relative references adjusting per row unless you locked absolute refs. Autofill is the fastest way to propagate a working formula across hundreds of rows when ARRAYFORMULA is not needed.
Read guide →Paint format
Paint format is the format painter tool that copies display styling from one cell to others without copying values or formulas. Click the paint roller icon, then click or drag across destination cells. It copies number format, font, fill, borders, alignment, and wrap settings. Essential for making imported CSVs match your template look in minutes.
Read guide →Wrap text
Wrap text displays cell content on multiple lines within the same cell instead of spilling into neighbors. Format > Text wrapping > Wrap increases row height automatically so paragraphs, addresses, and long headers remain readable without widening columns across the whole sheet.
Read guide →Merge cells
Merge cells combines a rectangular selection into one display cell. Only the top-left cell value survives; others are discarded. Merged blocks suit dashboard titles and form-like layouts but break many data operations. Use merge sparingly on tables that sort, filter, or feed formulas.
Read guide →Unmerge cells
Unmerge splits a merged block back into individual cells. Only the top-left cell keeps the displayed value; other cells become empty. Unmerge is the first fix when sort fails, filters break, or you need to paste data into what was one big title cell covering your table.
Read guide →Clip mode
Clip mode is a text wrapping option under Format > Text wrapping > Clip. Content that does not fit the column width is cut off at the cell edge instead of spilling into the next empty cells or wrapping to new lines. Clip keeps dense grids visually tidy when full text is not needed at a glance.
Read guide →Cell overflow
Cell overflow is the default behavior where long text visually extends into empty neighboring cells to the right without changing their values. The next non-empty cell clips the spill visually. Overflow keeps row height compact but can make dense tables look messy or hide which cell actually holds the data.
Read guide →sharing Google Sheets
Sharing controls who can open a spreadsheet and what they can do inside it. The Share button invites people by email or link with roles like viewer, commenter, or editor. This is different from publishing a read-only web feed or locking cells with protection rules.
Read guide →Google Sheets URL
A Google Sheets URL is the web address for a spreadsheet file or a specific view of it. Share URLs control who can open the file. Export URLs download CSV or PDF snapshots. Hackable URL parameters can jump to a tab, pre-fill filters, or embed a chart if you know the pattern. Treat URLs like keys when edit or copy access is enabled.
Read guide →make a copy link
A make a copy link is a URL pattern that prompts viewers to duplicate your spreadsheet into their Google Drive instead of editing your original. Template sellers use it so each buyer owns a separate file while the master stays protected.
Read guide →Anyone with the link
Anyone with the link is a sharing option in Google Drive that lets whoever has the URL open the spreadsheet without you adding their email. You still pick a role: viewer, commenter, or editor. It is fast for teams but risky for master templates if you choose editor by mistake.
Read guide →docsdotgoogle
docsdotgoogle is a memorable URL shortcut (docsdotgoogle.com) that redirects into Google Workspace apps like Sheets without typing the full docs.google.com path. Power users mention it on Better Sheets homepage URL tool clusters alongside export and copy link patterns.
Read guide →Sheets UI and exploration
Explore, chips, pivots, slicers, filter views, sidebars, and toasts.
Explore tab
The Explore tab is a sidebar panel that analyzes your selected data and suggests charts, pivot tables, formatting, and quick questions. Google Sheets opens it from the star icon or when you select a table range. It is a fast way to visualize patterns without writing formulas first.
Read guide →Checkbox
A checkbox is a cell control that stores TRUE when checked and FALSE when unchecked. Insert checkboxes from Insert > Checkbox or data validation. They power task lists, approval flags, and conditional formulas without typing yes or no by hand.
Read guide →Chip
Chips are visual tokens in a cell that represent a chosen value from a list or a person from your organization. Dropdown chips show colored pills for categories and statuses. People chips link to Google contacts for assignees and reviewers. They keep typed data consistent while looking clearer than plain text.
Read guide →Slicer
A slicer is an on-sheet control that filters connected pivot tables and charts. Click category buttons instead of digging through filter menus. Slicers make dashboards feel interactive for executives and account managers who will not touch formula tabs.
Read guide →Pivot table
A pivot table summarizes a large table without writing SUMIFS for every combination. Drag fields into rows, columns, values, and filters to count deals by rep, sum revenue by month, or average scores by classroom. The pivot updates when you refresh the source range or change the pivot cache.
Read guide →Freeze rows and columns
Freezing locks the top rows or left columns in place while the rest of the sheet scrolls. View > Freeze lets you pin one row, two rows, or up to the current selection. Frozen panes keep headers and row labels visible on long trackers and financial models.
Read guide →Named range
A named range gives a block of cells a readable label like Revenue or ValidStatuses instead of only B2:B500. Define names from Data > Named ranges. Formulas, charts, pivot tables, and validation rules can reference the name, which makes models easier to audit and safer when rows shift inside the named block.
Read guide →Filter view
A filter view is a saved set of column filters with its own name and optional owner color. Each collaborator can open a different view on the same tab without changing what others see. Share a filter view link so a manager opens only their region or only open tickets instantly.
Read guide →Recalculation
Recalculation is when Google Sheets recomputes formula results after something changes. Most functions update when their input cells change. Volatile functions like NOW, RAND, and OFFSET recalculate more often. Large workbooks may feel slow when thousands of formulas refresh at once.
Read guide →Iterative calculation
Iterative calculation lets formulas that reference their own cells converge through repeated passes instead of stopping at an error. You set a maximum number of iterations and a convergence threshold in File > Settings > Calculation. It is an advanced escape hatch for intentional feedback loops, not a fix for accidental typos.
Read guide →Circular reference
A circular reference happens when a formula chain loops back to the cell you are editing, directly or through other cells. Google Sheets normally blocks this with a warning and may show zero or an error until you break the loop or enable iterative calculation. Most circles in real files are mistakes, not intentional models.
Read guide →Version history
Version history is a timeline of saved snapshots for your spreadsheet. File > Version history > See version history shows edits grouped by time and editor. You can preview an older state, restore it, or name a version before a big import. It is your undo rope when someone pastes over production data.
Read guide →Toast notification
A toast is a small temporary message that slides up at the bottom of the Google Sheets window and fades away without blocking work. Sheets shows toasts for actions like filter applied, link copied, or script finished. In Apps Script you can call SpreadsheetApp.getActiveSpreadsheet().toast() for gentle user feedback instead of a modal alert.
Read guide →Sidebar
A sidebar is a vertical panel docked beside the spreadsheet grid. The Explore tab is a built-in sidebar. With Apps Script you can show a custom sidebar from HTML to build wizards, search tools, and forms without leaving the sheet. Add-ons from the Marketplace often register sidebar entries under Extensions.
Read guide →Named function
A named function is a custom formula you define once and call by a friendly name in any cell. Google Sheets uses LAMBDA under the hood via Data > Named functions. Instead of repeating a long expression, you write =DISCOUNT(price, rate) everywhere. Named functions make templates readable and reduce copy-paste errors across tabs.
Read guide →Smart fill
Smart Fill watches columns next to your edit and suggests completing a pattern when it recognizes one. Type a couple examples in a new column beside source data and Sheets may offer to fill the rest with names, emails split from full text, or formatted dates. It is Google's answer to flash fill for quick cleanup without formulas.
Read guide →Timeline chart
A timeline chart shows events or tasks along a date axis so viewers see sequence and overlap. In Google Sheets you often build timelines with bar charts on start and end dates, scatter charts for milestones, or dedicated timeline chart types when the chart editor offers them. Clean date columns and consistent time zones make timelines trustworthy.
Read guide →Dashboards, trackers, and planners
Boards, KPIs, budgets, inventory, and planning layouts.
dashboards
A dashboard is a single view that answers "how are we doing?" without hunting across tabs. In Google Sheets, it is usually a summary tab with big numbers, charts, and conditional formatting fed by QUERY, pivot tables, or IMPORTRANGE from raw data you keep elsewhere.
Read guide →trackers
A tracker is a living list you update over time: tasks, leads, inventory, habits, or bugs. Good trackers use one row per item, clear statuses, and columns that sort and filter without cleanup scripts. They often feed a dashboard tab when the team outgrows scanning raw rows.
Read guide →planners
A planner layout helps you schedule work across days, weeks, or project phases inside a spreadsheet. Unlike a one-off todo list, planners emphasize dates, time blocks, and recurring rhythms you copy forward. They work well for personal systems and small teams who already live in Google Workspace.
Read guide →Kanban in Sheets
Kanban boards show work moving through stages like To do, Doing, and Done. In Google Sheets, you simulate the board with status columns, filter views per stage, or horizontal column layouts where each stage is a range. It is ideal for small teams already collaborating in a spreadsheet.
Read guide →CRM in Google Sheets
Yes, for small teams a spreadsheet CRM tracks leads, deal stage, owner, next action, and notes in one shared file. Tabs separate Pipeline, Contacts, and Activity log. It works when volume is modest and everyone agrees the sheet is the system of record.
Read guide →inventory tracking in Sheets
An inventory sheet lists each SKU with quantity on hand, location, reorder threshold, and unit cost. Receipts and shipments post as signed adjustments on a Movements log so on-hand balance is calculated, not typed from memory.
Read guide →reports from Google Sheets
A report turns raw data into a readable snapshot: summary metrics, charts, and tables formatted for an audience. Separate source data tabs from a Report tab that uses QUERY, pivot tables, or SUMIF so you refresh inputs without rebuilding layout every week.
Read guide →budgets in Google Sheets
A budget sheet compares planned spending or revenue to actuals over time. Rows are categories, columns are months or quarters, and formulas SUM detail lines into subtotals. Variance columns show where you are over or under plan.
Read guide →win rate tracking
Win rate tracking measures how many opportunities close as wins versus losses or open deals. In Google Sheets you store one row per deal with Stage, Outcome, and Close date columns, then use COUNTIFS or pivot tables to calculate win percentage by rep, product, or quarter. A clear tracker turns pipeline rows into leadership-ready close rate metrics without exporting to a CRM report.
Read guide →charts in Google Sheets
Charts in Google Sheets turn selected ranges into line, bar, pie, and combo visuals that update when source data changes. You insert from the Insert menu or chart editor, tie ranges to pivot tables or QUERY outputs, then publish or embed charts in Slides, Sites, and dashboards.
Read guide →checklists in Google Sheets
Checklists in Google Sheets use checkbox cells, done columns, or status dropdowns to track tasks row by row. Insert checkboxes from the Insert menu, pair them with COUNTIF percent complete formulas, and use conditional formatting to highlight overdue items still unchecked.
Read guide →Measure, embed, and prompt AI
KPIs, embeds, naming, and AI formula prompts.
KPI tracking
KPI tracking means choosing a small set of numbers that show whether you are winning, then updating them on a rhythm everyone trusts. In Sheets, each KPI usually has a definition, data source, target, and actual cell on a dashboard fed by formulas, not hand-typed guesses.
Read guide →embed sheets
Embedding shows a spreadsheet, chart, or range inside a website, Notion page, or Google Site without sending visitors to the full Sheets UI. You usually publish to web or use an iframe with a link Google generates, combined with sharing permissions that match your audience.
Read guide →naming conventions
Naming conventions are agreed rules for files, tabs, columns, and named ranges so anyone can guess where data lives. Good names reduce VLOOKUP errors, make IMPORTRANGE links obvious, and stop duplicate Dashboard (2) tabs from spreading across your Drive.
Read guide →AI prompts for formulas
A good prompt describes your column layout, sample values, expected result, and Google Sheets functions you prefer. Vague asks like "make a formula" produce fragile ARRAYFORMULA guesses. Treat AI output as a draft you test in a copy tab before pasting into production.
Read guide →Files, import, and export
CSV, Excel, PDF, and moving data in and out of Sheets.
CSV and Google Sheets
CSV (comma-separated values) is a plain-text table format Sheets opens, imports, and exports easily. Use File > Import for controlled uploads or File > Download > CSV for handoffs to other tools. Watch encoding, delimiters, and date formats because CSV does not store types the way a native sheet does.
Read guide →PDF export from Google Sheets
Google Sheets turns any tab or workbook into PDF through File > Download > PDF or the Print dialog. Control layout with print ranges, margins, scale, and repeat headers so multi-page reports stay readable. PDF is best for snapshots you email, archive, or attach when recipients should not edit cells.
Read guide →Excel XLSX and Google Sheets
XLSX is the modern Excel workbook format. Google Sheets opens it through File > Import or by uploading to Drive and choosing Open with Google Sheets. Most values, tabs, and basic formatting convert cleanly, but some Excel-only features need a workaround or a stay-in-Excel decision.
Read guide →importing data into Sheets
Importing means pulling external data into a spreadsheet tab: from a file upload, another Google Sheet, a published CSV URL, or a function like IMPORTRANGE. The import dialog controls separator, locale, and whether new rows replace or append existing data.
Read guide →exporting data from Sheets
Exporting sends sheet data out of Google Sheets as a file or published feed. File > Download offers CSV, XLSX, PDF, and more for the active tab or workbook. You can also publish a range, share a view-only link, or script exports to Drive and email on a schedule.
Read guide →Templates, forms, and onboarding
Workbooks, Google Forms, timestamps, and Marketplace add-ons.
Google Sheets templates
A template is a master spreadsheet layout you copy before real work begins: tabs, formulas, dropdowns, and instructions pre-built so each new project starts consistent. Templates live in your Drive, Google's template gallery, or a shared team folder. The goal is clone once, customize names and settings, never edit the golden master in place.
Read guide →workbooks and multiple tabs
In Google Sheets a workbook is the whole spreadsheet file containing one or more tabs (sheets). Each tab has its own grid, but tabs share the file's permissions, Apps Script project, and named ranges. Smart workbook structure separates raw data, calculations, and presentation so editors know which tab to touch.
Read guide →onboarding users to a spreadsheet
Onboarding teaches new editors where to type, what not to touch, and how work flows through the file. A strong onboarding sheet combines a README tab, protected formula areas, sample rows, and a short checklist so first-time users succeed without breaking dashboards or overwriting settings.
Read guide →Google Workspace Marketplace for Sheets add-ons
The Google Workspace Marketplace is Google's directory where users discover and install Sheets add-ons and other Workspace extensions. Developers publish a listing with description, screenshots, privacy policy, and OAuth scopes; Google reviews the app before it appears in Install flows inside Sheets and admin consoles.
Read guide →Google Forms
Google Forms can send each submission as a new row in a linked spreadsheet. Create the form from Forms or insert a form from Sheets. Response columns match question titles. Sheets becomes the system of record for analysis, mail merges, and Apps Script automation while Forms handles data entry UX on phone and desktop.
Read guide →Timestamp
A timestamp records when something happened: form submitted, status changed, row edited. Use NOW or TODAY for live clock cells, keyboard shortcut Ctrl+Shift+; for static entry time, or onEdit Apps Script to stamp when a checkbox flips. Format cells as date time so serial numbers display human-readably.
Read guide →Google Sheets add-ons
Add-ons are third-party extensions you install into Google Sheets from the Google Workspace Marketplace. They add menus, sidebars, and workflows for mail merge, CRM sync, charting, and more without writing your own Apps Script from scratch. Each add-on runs with permissions you approve at install time.
Read guide →Extend and automate Sheets
APIs, automation patterns, and multi-step workflows.
Google Sheets API
The Google Sheets API lets other programs read and update spreadsheets over HTTP using JSON. It is how dashboards, backends, and mobile apps sync data without opening the Google Sheets UI. Apps Script inside a file is simpler for sheet owners; the API fits systems built in Python, Node, or other stacks.
Read guide →Google Sheets automation
Automation means work happens without repeating the same clicks every day: imports update, emails send, rows move, and dashboards refresh. In Sheets, automation usually stacks built-in features, Apps Script, and sometimes the Sheets API or add-ons. Start with the lightest tool that still solves the job.
Read guide →Google Sheets workflows
A workflow is the path work takes through your sheet: intake, review, approval, done. Good workflows use consistent columns, statuses everyone understands, and just enough automation to move tasks forward without hiding steps from the team.
Read guide →workflow handoffs
A handoff is the moment one person or team finishes their step and another picks up the same row in a shared sheet. Good handoffs use Owner, Status, and Handoff date columns plus rules so work does not sit invisible after someone marks Ready for finance or Needs legal review. Sheets handoffs scale from simple dropdowns to MailApp alerts when status changes.
Read guide →Sell and monetize spreadsheets
Paywalls, Stripe, storefronts, and template sales.
monetize Google Sheets templates
Monetizing a Google Sheets template means selling a licensed copy, not sharing your master file. You package a polished workbook, set a price, deliver via copy link or automated email after payment, and keep support boundaries clear so buyers know what updates they receive.
Read guide →paywall for spreadsheet products
A spreadsheet paywall limits who can use premium tabs, scripts, or copy links until someone pays or joins. In Google Sheets this usually means view-only masters, license keys checked by Apps Script, or delivery only after Stripe confirms payment. It is access control for templates and add-ons, not DRM perfection.
Read guide →Stripe with Google Sheets
Stripe handles card payments while Google Sheets tracks customers, fulfillment, and template delivery. You connect them with Payment Links or Checkout, optional webhooks into Apps Script, and a Fulfillment tab that logs paid emails, SKUs, and copy links sent after each successful charge.
Read guide →spreadsheet storefront
A spreadsheet storefront is the shop window for your Google Sheets products: landing pages, preview images, pricing, FAQs, and Stripe buy buttons that lead to copy links or add-on installs. The sheet is the product; the storefront is how strangers discover and trust it enough to pay.
Read guide →OnlySheets
OnlySheets is a Better Sheets product for selling spreadsheet templates without giving buyers edit access to your master file. It connects checkout tools like Gumroad and Stripe to controlled copy delivery, license ideas, and seller workflows so template businesses scale beyond manual email fulfillment.
Read guide →Gumroad
Gumroad is a checkout and delivery platform creators use to sell digital products, including Google Sheets templates. You list a product, set a price, and deliver a file or link on the thank-you page and purchase email. Pair Gumroad with copy-only sheet links or OnlySheets automation so buyers never touch your master workbook.
Read guide →Zapier
Zapier is a no-code automation service that connects Google Sheets to other apps through triggers and actions. A common pattern is New row in sheet sends Slack message or adds a CRM contact. It is the bridge when stakeholders want integrations without opening the Script Editor.
Read guide →Better Sheets membership
Membership is paid access to the Better Sheets library: video courses, tutorials, unlimited formula and regex generators, member templates, Apps Script Explainer passes, and one hosted sheet site on a bettersheets.co subdomain. Free visitors can browse tools with daily generation caps.
Read guide →AppSumo
AppSumo is a marketplace where Better Sheets sells a lifetime deal: one payment (about $275) for full catalog access without monthly billing. Buyers receive a license code to redeem on bettersheets.co, unlocking courses, generators, tools, and member benefits similar to subscription members with plan-specific Explainer caps.
Read guide →lifetime access
Lifetime access means you pay once through AppSumo and keep Better Sheets member benefits without a monthly or yearly subscription. It covers courses, tutorials, generators, templates, and tools in the catalog, with daily Explainer pass caps defined on the pricing FAQ rather than unlimited forever on every AI surface.
Read guide →Better Sheets tools and hosting
Explainer, Sites, Portal Builder, and hosted sheet sites.
Apps Script Explainer
The Apps Script Explainer is a Better Sheets AI tool that reads JavaScript code from Google Apps Script and returns a plain-language walkthrough of what it does. Paste a function or whole file, get step-by-step explanations, and spot risky patterns before you run unfamiliar code in a production spreadsheet.
Read guide →Better Sheets Sites
Sites is a Better Sheets feature that turns a Google Sheet into a hosted web page at yourname.bettersheets.co. Pick a layout template (catalog, directory, gallery, feed, dashboard, or simple), connect your sheet, and publish without building a separate website stack.
Read guide →hosted site
A hosted site is a web page Better Sheets serves for you, backed by rows in your Google Sheet, at a URL like yourslug.bettersheets.co. You edit data in Sheets; visitors see the styled template without needing sheet access.
Read guide →subdomain
A subdomain is the first part of your hosted site URL on bettersheets.co, such as acme.bettersheets.co for Acme's catalog site. It gives you a memorable link without buying a separate domain on day one.
Read guide →Portal Builder
Portal Builder is a Better Sheets product for building member or client portals powered by sheet data, separate from public Sites templates. Use it when viewers need login, sections, or private views instead of a fully public catalog page.
Read guide →Apps Script triggers and events
Simple and installable triggers that react to edits, opens, and form submissions.
onEdit trigger
The onEdit trigger runs a script automatically when someone changes a cell in your spreadsheet. It is one of the simplest ways to make Sheets react to user input without clicking a custom menu. You define the function in Apps Script and bind it to the onEdit event for that file.
Read guide →Apps Script triggers
Triggers tell Apps Script when to run a function: on edit, on open, on a schedule, or when a form is submitted. Simple triggers use reserved names like onEdit. Installable triggers are created in the Apps Script Triggers page and can do more, including running as a specific user or on a timer.
Read guide →onOpen trigger
The onOpen trigger runs an Apps Script function automatically when someone opens the spreadsheet. It is the standard way to add custom menus, show instructions, or refresh lightweight cache without asking the user to run a macro first. Name the function onOpen or bind it as an installable open trigger.
Read guide →onFormSubmit trigger
The onFormSubmit trigger runs an Apps Script function when a linked Google Form adds a new row to your spreadsheet. It fires after the response lands in the sheet, so your script can route data, send notifications, or stamp IDs without waiting for someone to open the file.
Read guide →simple trigger
A simple trigger is an Apps Script function with a reserved name such as onEdit, onOpen, or onInstall that Google Sheets runs automatically when that event happens. You do not create it in the Triggers UI; you just name the function correctly in Code.gs.
Read guide →installable trigger
An installable trigger is configured in Apps Script > Triggers and binds a function to an event such as on edit, on form submit, or time-driven clock. It can run with authorization the simple trigger cannot, and you can set failure notifications.
Read guide →time-driven trigger
A time-driven trigger (clock trigger) runs an Apps Script function on a schedule you choose, such as every hour or every Monday at 8 a.m. It works even when the spreadsheet is closed, subject to Apps Script quotas.
Read guide →Apps Script tools and services
Editor, MailApp, SpreadsheetApp, deployments, quotas, and clasp.
Script Editor
The Script Editor is the Apps Script workspace inside your spreadsheet where you write JavaScript that talks to Sheets, Gmail, and other Google services. You open it from Extensions > Apps Script. Every function you save can be run manually, bound to a trigger, or linked from a custom menu.
Read guide →MailApp
MailApp is an Apps Script service that sends email from your Google account without opening Gmail. You call MailApp.sendEmail with a recipient, subject, and body, often using cell values as the content. It is the fastest way to notify someone when a row is added or a deadline hits in a tracker.
Read guide →Apps Script web apps
A web app turns your script into a URL that runs doGet or doPost when someone visits or posts data. The page can read and write your spreadsheet behind the scenes, which is useful for simple forms, internal tools, and lightweight APIs without standing up a separate server.
Read guide →Apps Script loops
Loops in Apps Script let you repeat code over rows, columns, sheets, or API pages. You read ranges into arrays with getValues(), process each item in a for or forEach loop, then write results back in one setValues() call when possible. Batch reads and writes beat cell-by-cell updates for speed and quota limits.
Read guide →Google Sheets macros
A macro records your clicks and keystrokes in Google Sheets, then saves them as an Apps Script function you can run again from the Extensions menu or a keyboard shortcut. Macros are the fastest on-ramp to automation when your task is a fixed sequence of formatting or edits.
Read guide →SpreadsheetApp
SpreadsheetApp is the main Apps Script service for talking to Google Sheets. It lets your script open the active spreadsheet, grab sheets by name, read cells, write values, and change formatting. Almost every Sheets automation starts with SpreadsheetApp.getActiveSpreadsheet().
Read guide →UrlFetchApp
UrlFetchApp lets Apps Script send HTTP requests to external URLs and read the response. You use it to pull data from APIs, post webhooks, or sync sheet rows with tools like Slack, Stripe, or your own server. It is the bridge between your spreadsheet and the rest of the web.
Read guide →HtmlService
HtmlService lets Apps Script show custom HTML as a dialog, sidebar, or full web app page inside or beside your spreadsheet. You design the UI with HTML and CSS, then call server functions with google.script.run to read and write sheet data without building a separate website.
Read guide →PropertiesService
PropertiesService stores small key-value strings that persist between script runs. Use it for API tokens, last sync timestamps, feature flags, or webhook secrets instead of hiding values in cells. Script, user, and document property stores each serve different sharing and scope needs in a spreadsheet project.
Read guide →CacheService
CacheService stores short-lived strings in memory-like cache scoped to the script. Scripts use it to avoid rereading huge ranges or calling slow APIs on every web app hit. Entries expire automatically after a time-to-live you choose, up to six hours per key.
Read guide →LockService
LockService gives your script a mutex so only one execution holds a lock at a time. In busy spreadsheets, two triggers firing together can both read the same last row and write duplicates. LockService.waitLock and releaseLock serialize critical sections like appendRow, counter increments, or quota-sensitive API calls.
Read guide →clasp
clasp is Google's command line tool for developing Apps Script outside the browser. You clone a script project to local .gs and .html files, edit in VS Code or Cursor, and push changes back with clasp push. Teams use it for git version control, code review, and faster refactors on large sheet automations.
Read guide →Apps Script quotas
Quotas are daily and per-run limits Google places on Apps Script, such as how long a function may run, how many emails you can send, and how many URL fetches you can make. Consumer Gmail and Workspace accounts have different caps. Hitting a quota stops your automation until the reset window, often the next day.
Read guide →bound script
A bound script, also called a container-bound script, lives inside a specific spreadsheet file. You open it from Extensions > Apps Script and it travels with that workbook. getActiveSpreadsheet() works naturally because the script and sheet share one container. Most spreadsheet automations beginners build are bound scripts.
Read guide →Apps Script library
An Apps Script library is a shared script project you attach to other projects by script ID. Instead of copy-pasting the same utility functions into fifty workbooks, you publish one library and call LibraryName.doSomething() from each bound sheet. Libraries help teams standardize CRM helpers, API wrappers, and formatting tools.
Read guide →Apps Script scopes
Scopes are permission strings your script requests to access Google services: read spreadsheets, send email, fetch external URLs, or read Drive files. The first time a function needs a scope, Google shows an authorization dialog. Users and admins must approve before MailApp, UrlFetchApp, or advanced APIs work in triggers and web apps.
Read guide →Apps Script deployment
A deployment publishes a snapshot of your Apps Script project for others to use. Web app deployments expose a URL running doGet and doPost. Each deployment has a version, execution identity, and access setting. Editing code in the editor does not change a live deployment until you deploy a new version or update the deployment.
Read guide →Google Apps Script
Apps Script is Google's JavaScript platform for automating Sheets and other Workspace apps. From a spreadsheet you can open Extensions > Apps Script to write code that reads cells, sends email, builds menus, and runs on triggers. It goes beyond formulas when you need custom workflows tied to your file.
Read guide →Google Sheets add-ons
Add-ons are third-party extensions you install into Google Sheets from the Google Workspace Marketplace. They add menus, sidebars, and workflows for mail merge, CRM sync, charting, and more without writing your own Apps Script from scratch. Each add-on runs with permissions you approve at install time.
Read guide →custom menu
A custom menu is a menu bar section your Apps Script adds with SpreadsheetApp.getUi().createMenu(), typically from an onOpen trigger. It gives teammates one-click buttons for exports, sorts, or wizards instead of remembering hidden functions.
Read guide →Apps Script snippets
Snippets are short, copy-paste Apps Script code examples for focused tasks like exporting CSV, sending email, or reading a range. Better Sheets hosts a searchable snippets library on the Apps Script hub so you start from working code instead of a blank Script Editor.
Read guide →webhook
A webhook is an HTTP callback: when an external service event fires (payment, form, CRM update), it POSTs JSON to a URL you control. In Better Sheets stacks, webhooks often hit Apps Script doPost or OnlySheets endpoints to append fulfillment rows or grant sheet copy access.
Read guide →Apps Script range methods
getValue, setValues, getRange, appendRow, flush, and related APIs.
doGet
doGet is a special function Apps Script calls when someone opens your web app URL with a browser GET request. It can return an HTML page from HtmlService, plain text, or JSON from ContentService. It is the front door for read-only views, lookup tools, and simple APIs backed by your sheet.
Read guide →doPost
doPost is the Apps Script handler for HTTP POST requests to your web app URL. External forms, Zapier, or custom clients send data in the request body, and doPost parses it and writes to your spreadsheet. Pair it with doGet when you need both a landing page and a submit endpoint.
Read guide →SpreadsheetApp.flush
SpreadsheetApp.flush() forces pending spreadsheet changes from your script to apply immediately. Apps Script batches some writes for performance, so flush makes sure the grid, charts, or a following read sees updates right away. It is a small call that matters in timing-sensitive automations.
Read guide →getValue
getValue reads the value from one cell in a Range object. It returns what you see in the grid as a string, number, date, or boolean. Scripts use getValue when they need one field at a time, such as a status flag, email address, or threshold from a Settings tab.
Read guide →getValues
getValues reads every cell in a range into a two-dimensional JavaScript array. The outer array is rows and the inner arrays are columns. It is the standard way to pull a table from a sheet, loop through it, filter rows, and write results elsewhere in one efficient pass.
Read guide →setValue
setValue writes a single value into one cell on a Range object. Pass a string, number, boolean, or Date and Apps Script stores it in the grid. It is the simplest write operation and appears constantly in triggers, menus, and small automations that update one field at a time.
Read guide →setValues
setValues writes a two-dimensional array into a rectangular range in one operation. Each inner array is a row. It is the fastest way to paste a block of results, copy transformed data, or fill a table from an API response without updating cells one by one.
Read guide →getRange
getRange returns a Range object pointing at one or more cells on a sheet. You call it on a Sheet to read with getValue or getValues and write with setValue or setValues. Correct range targeting is the foundation of almost every Sheets script.
Read guide →getLastRow
getLastRow returns the position of the last row on a sheet that contains any content in any column. Scripts use it to find where to append new data, size a getRange read, or loop only through populated rows instead of a million blank grid lines.
Read guide →appendRow
appendRow adds one new row to the bottom of the first used table on a sheet, filling values left to right across columns. It is the quickest way to log an event, store a form response field set, or push one record without calculating the next row number manually.
Read guide →Common questions
- What is the Google Sheets glossary?
- The glossary is a set of plain-English guides to common Google Sheets terms and workflows. Each page explains what a concept means, when to use it, common mistakes, and links to Better Sheets tutorials.
- Who is this glossary for?
- Beginners and intermediate users who hear terms like onEdit, KPI tracker, or conditional formatting and want a clear starting point before diving into formulas, Apps Script, or dashboards.
- How do I go deeper after reading a term?
- Every glossary page includes related terms, Better Sheets resources, and tutorial search results matched to that topic so you can watch a walkthrough or try a generator tool on the same subject.
Watch these in Better Sheets
Member tutorials matched to common glossary topics. Click through to watch.
Visicalc 2023 Technical Walkthrough
Study Better With Google Sheets
Use Index Match when you want Vlookup
Read these on the blog
Written guides matched to common glossary topics.
Stuck on a Sheets term?
Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.
Learning Sheets for real
Unlock the full library, generators, and templates with membership.