Object reference
Range
A Range represents one cell such as A2 or a rectangular block of rows and columns in a Sheet. Use getValue() for one cell and getValues() or setValues() for a 2D array of rows.
SpreadsheetApp.RangeStart here
Get this object first
Get a range by A1 notation or row and column numbers from a Sheet tab, or call SpreadsheetApp.getActiveRange() when a menu action uses the current selection.
function logRangeNotation() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const range = sheet.getRange('A2:C10');
Logger.log(range.getA1Notation());
} Then use it
Common actions
Choose an action, then open its example only when you need the code.
Read one cell with getValue
This reads the value in cell A2 and logs it without changing the sheet.
SpreadsheetApp.RangeSpreadsheetApp.SheetShow example code
function logFirstCellValue() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const value = sheet.getRange('A2').getValue();
Logger.log(String(value));
} Read a block of rows with getValues
This reads a 2D array of rows and columns in one call and logs the row count without changing any cells.
SpreadsheetApp.RangeSpreadsheetApp.SheetShow example code
function logRangeRowCount() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const values = sheet.getRange(2, 1, 5, 3).getValues();
Logger.log('Read ' + values.length + ' rows and ' + values[0].length + ' columns.');
} Write a 2D array of values with setValues (this updates cells)
This checks that D2:E3 is blank and then writes two rows of two columns starting at D2. The range dimensions must match the outer and inner array lengths.
SpreadsheetApp.RangeSpreadsheetApp.SheetShow example code
function writeSampleStatusRows() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const rows = [
['Checked', new Date()],
['Pending', new Date()]
];
const targetRange = sheet.getRange(2, 4, rows.length, rows[0].length);
if (!targetRange.isBlank()) {
throw new Error('D2:E3 already has values. Clear D2:E3 or choose an empty range before writing.');
}
targetRange.setValues(rows);
Logger.log('Wrote ' + rows.length + ' rows.');
} Technical reference
Exact names and signatures
Generated runtime and signature facts stay separate from the beginner actions above. Open method details only when you need them.
At a glance
- Service
- SpreadsheetApp
- Reference symbol
SpreadsheetApp.Range- Object
Range- Runtime
- From signature data
Methods and signatures
Browse 176 methods
activate
- activate(): SpreadsheetApp.Range
activateAsCurrentCell
- activateAsCurrentCell(): SpreadsheetApp.Range
addDeveloperMetadata
- addDeveloperMetadata(key: string): SpreadsheetApp.Range
- addDeveloperMetadata(key: string, visibility: SpreadsheetApp.DeveloperMetadataVisibility): SpreadsheetApp.Range
- addDeveloperMetadata(key: string, value: string): SpreadsheetApp.Range
- addDeveloperMetadata(key: string, value: string, visibility: SpreadsheetApp.DeveloperMetadataVisibility): SpreadsheetApp.Range
applyColumnBanding
- applyColumnBanding(): SpreadsheetApp.Banding
- applyColumnBanding(bandingTheme: SpreadsheetApp.BandingTheme): SpreadsheetApp.Banding
- applyColumnBanding(bandingTheme: SpreadsheetApp.BandingTheme, showHeader: boolean, showFooter: boolean): SpreadsheetApp.Banding
applyRowBanding
- applyRowBanding(): SpreadsheetApp.Banding
- applyRowBanding(bandingTheme: SpreadsheetApp.BandingTheme): SpreadsheetApp.Banding
- applyRowBanding(bandingTheme: SpreadsheetApp.BandingTheme, showHeader: boolean, showFooter: boolean): SpreadsheetApp.Banding
autoFill
- autoFill(destination: SpreadsheetApp.Range, series: SpreadsheetApp.AutoFillSeries): void
autoFillToNeighbor
- autoFillToNeighbor(series: SpreadsheetApp.AutoFillSeries): void
breakApart
- breakApart(): SpreadsheetApp.Range
canEdit
- canEdit(): boolean
check
- check(): SpreadsheetApp.Range
clear
- clear(): SpreadsheetApp.Range
- clear(options: SpreadsheetApp.ClearOptions): SpreadsheetApp.Range
clearContent
- clearContent(): SpreadsheetApp.Range
clearDataValidations
- clearDataValidations(): SpreadsheetApp.Range
clearFormat
- clearFormat(): SpreadsheetApp.Range
clearNote
- clearNote(): SpreadsheetApp.Range
collapseGroups
- collapseGroups(): SpreadsheetApp.Range
copyFormatToRange
- copyFormatToRange(gridId: number, column: number, columnEnd: number, row: number, rowEnd: number): void
- copyFormatToRange(sheet: SpreadsheetApp.Sheet, column: number, columnEnd: number, row: number, rowEnd: number): void
copyTo
- copyTo(destination: SpreadsheetApp.Range): void
- copyTo(destination: SpreadsheetApp.Range, copyPasteType: SpreadsheetApp.CopyPasteType, transposed: boolean): void
- copyTo(destination: SpreadsheetApp.Range, options: SpreadsheetApp.CopyOptions): void
copyValuesToRange
- copyValuesToRange(gridId: number, column: number, columnEnd: number, row: number, rowEnd: number): void
- copyValuesToRange(sheet: SpreadsheetApp.Sheet, column: number, columnEnd: number, row: number, rowEnd: number): void
createDataSourcePivotTable
- createDataSourcePivotTable(dataSource: SpreadsheetApp.DataSource): SpreadsheetApp.DataSourcePivotTable
createDataSourceTable
- createDataSourceTable(dataSource: SpreadsheetApp.DataSource): SpreadsheetApp.DataSourceTable
createDeveloperMetadataFinder
- createDeveloperMetadataFinder(): SpreadsheetApp.DeveloperMetadataFinder
createFilter
- createFilter(): SpreadsheetApp.Filter
createPivotTable
- createPivotTable(sourceData: SpreadsheetApp.Range): SpreadsheetApp.PivotTable
createTextFinder
- createTextFinder(findText: string): SpreadsheetApp.TextFinder
deleteCells
- deleteCells(shiftDimension: SpreadsheetApp.Dimension): void
expandGroups
- expandGroups(): SpreadsheetApp.Range
getA1Notation
- getA1Notation(): string
getBackground
- getBackground(): string
getBackgroundObject
- getBackgroundObject(): SpreadsheetApp.Color
getBackgroundObjects
- getBackgroundObjects(): SpreadsheetApp.Color[][]
getBackgrounds
- getBackgrounds(): string[][]
getBandings
- getBandings(): SpreadsheetApp.Banding[]
getCell
- getCell(row: number, column: number): SpreadsheetApp.Range
getColumn
- getColumn(): number
getDataRegion
- getDataRegion(): SpreadsheetApp.Range
- getDataRegion(dimension: SpreadsheetApp.Dimension): SpreadsheetApp.Range
getDataSourceFormula
- getDataSourceFormula(): SpreadsheetApp.DataSourceFormula | null
getDataSourceFormulas
- getDataSourceFormulas(): SpreadsheetApp.DataSourceFormula[]
getDataSourcePivotTables
- getDataSourcePivotTables(): SpreadsheetApp.DataSourcePivotTable[]
getDataSourceTables
- getDataSourceTables(): SpreadsheetApp.DataSourceTable[]
getDataSourceUrl
- getDataSourceUrl(): string
getDataTable
- getDataTable(): Charts.DataTable
- getDataTable(firstRowIsHeader: boolean): Charts.DataTable
getDataValidation
- getDataValidation(): SpreadsheetApp.DataValidation | null
getDataValidations
- getDataValidations(): (SpreadsheetApp.DataValidation | null)[][]
getDeveloperMetadata
- getDeveloperMetadata(): SpreadsheetApp.DeveloperMetadata[]
getDisplayValue
- getDisplayValue(): string
getDisplayValues
- getDisplayValues(): string[][]
getFilter
- getFilter(): SpreadsheetApp.Filter | null
getFontColor
- getFontColor(): string
getFontColorObject
- getFontColorObject(): SpreadsheetApp.Color
getFontColorObjects
- getFontColorObjects(): SpreadsheetApp.Color[][]
getFontColors
- getFontColors(): string[][]
getFontFamilies
- getFontFamilies(): string[][]
getFontFamily
- getFontFamily(): string
getFontLine
- getFontLine(): string
getFontLines
- getFontLines(): string[][]
getFontSize
- getFontSize(): number
getFontSizes
- getFontSizes(): number[][]
getFontStyle
- getFontStyle(): string
getFontStyles
- getFontStyles(): string[][]
getFontWeight
- getFontWeight(): string
getFontWeights
- getFontWeights(): string[][]
getFormula
- getFormula(): string
getFormulaR1C1
- getFormulaR1C1(): string
getFormulas
- getFormulas(): string[][]
getFormulasR1C1
- getFormulasR1C1(): string[][]
getGridId
- getGridId(): number
getHeight
- getHeight(): number
getHorizontalAlignment
- getHorizontalAlignment(): string
getHorizontalAlignments
- getHorizontalAlignments(): string[][]
getLastColumn
- getLastColumn(): number
getLastRow
- getLastRow(): number
getMergedRanges
- getMergedRanges(): SpreadsheetApp.Range[]
getNextDataCell
- getNextDataCell(direction: SpreadsheetApp.Direction): SpreadsheetApp.Range
getNote
- getNote(): string
getNotes
- getNotes(): string[][]
getNumColumns
- getNumColumns(): number
getNumRows
- getNumRows(): number
getNumberFormat
- getNumberFormat(): string
getNumberFormats
- getNumberFormats(): string[][]
getRichTextValue
- getRichTextValue(): SpreadsheetApp.RichTextValue | null
getRichTextValues
- getRichTextValues(): SpreadsheetApp.RichTextValue[][]
getRow
- getRow(): number
getRowIndex
- getRowIndex(): number
getSheet
- getSheet(): SpreadsheetApp.Sheet
getTextDirection
- getTextDirection(): SpreadsheetApp.TextDirection
getTextDirections
- getTextDirections(): SpreadsheetApp.TextDirection[][]
getTextRotation
- getTextRotation(): SpreadsheetApp.TextRotation
getTextRotations
- getTextRotations(): SpreadsheetApp.TextRotation[][]
getTextStyle
- getTextStyle(): SpreadsheetApp.TextStyle
getTextStyles
- getTextStyles(): SpreadsheetApp.TextStyle[][]
getValue
- getValue(): unknown
getValues
- getValues(): unknown[][]
getVerticalAlignment
- getVerticalAlignment(): string
getVerticalAlignments
- getVerticalAlignments(): string[][]
getWidth
- getWidth(): number
getWrap
- getWrap(): boolean
getWrapStrategies
- getWrapStrategies(): SpreadsheetApp.WrapStrategy[][]
getWrapStrategy
- getWrapStrategy(): SpreadsheetApp.WrapStrategy
getWraps
- getWraps(): boolean[][]
insertCells
- insertCells(shiftDimension: SpreadsheetApp.Dimension): SpreadsheetApp.Range
insertCheckboxes
- insertCheckboxes(): SpreadsheetApp.Range
- insertCheckboxes(checkedValue: unknown): SpreadsheetApp.Range
- insertCheckboxes(checkedValue: unknown, uncheckedValue: unknown): SpreadsheetApp.Range
isBlank
- isBlank(): boolean
isChecked
- isChecked(): boolean
isDataValid
- isDataValid(): boolean
isDataValidForAll
- isDataValidForAll(): boolean[][]
isEndColumnBounded
- isEndColumnBounded(): boolean
isEndRowBounded
- isEndRowBounded(): boolean
isPartOfMerge
- isPartOfMerge(): boolean
isStartColumnBounded
- isStartColumnBounded(): boolean
isStartRowBounded
- isStartRowBounded(): boolean
merge
- merge(): SpreadsheetApp.Range
mergeAcross
- mergeAcross(): SpreadsheetApp.Range
mergeVertically
- mergeVertically(): SpreadsheetApp.Range
moveTo
- moveTo(destination: SpreadsheetApp.Range): void
offset
- offset(rowOffset: number, columnOffset: number): SpreadsheetApp.Range
- offset(rowOffset: number, columnOffset: number, numRows: number): SpreadsheetApp.Range
- offset(rowOffset: number, columnOffset: number, numRows: number, numColumns: number): SpreadsheetApp.Range
protect
- protect(): SpreadsheetApp.Protection
randomize
- randomize(): SpreadsheetApp.Range
removeCheckboxes
- removeCheckboxes(): SpreadsheetApp.Range
removeDuplicates
- removeDuplicates(): SpreadsheetApp.Range
- removeDuplicates(columnsToCompare: number[]): SpreadsheetApp.Range
setBackground
- setBackground(color: string | null): SpreadsheetApp.Range
setBackgroundObject
- setBackgroundObject(color: SpreadsheetApp.Color): SpreadsheetApp.Range
setBackgroundObjects
- setBackgroundObjects(color: SpreadsheetApp.Color[][]): SpreadsheetApp.Range
setBackgroundRGB
- setBackgroundRGB(red: number, green: number, blue: number): SpreadsheetApp.Range
setBackgrounds
- setBackgrounds(colors: (string | null)[][]): SpreadsheetApp.Range
setBorder
- setBorder(top: boolean | null, left: boolean | null, bottom: boolean | null, right: boolean | null, vertical: boolean | null, horizontal: boolean | null): SpreadsheetApp.Range
- setBorder(top: boolean | null, left: boolean | null, bottom: boolean | null, right: boolean | null, vertical: boolean | null, horizontal: boolean | null, color: string | null, style: SpreadsheetApp.BorderStyle | null): SpreadsheetApp.Range
setDataValidation
- setDataValidation(rule: SpreadsheetApp.DataValidation | null): SpreadsheetApp.Range
setDataValidations
- setDataValidations(rules: SpreadsheetApp.DataValidation[][]): SpreadsheetApp.Range
setFontColor
- setFontColor(color: string | null): SpreadsheetApp.Range
setFontColorObject
- setFontColorObject(color: SpreadsheetApp.Color): SpreadsheetApp.Range
setFontColorObjects
- setFontColorObjects(colors: SpreadsheetApp.Color[][]): SpreadsheetApp.Range
setFontColors
- setFontColors(colors: unknown[][]): SpreadsheetApp.Range
setFontFamilies
- setFontFamilies(fontFamilies: unknown[][]): SpreadsheetApp.Range
setFontFamily
- setFontFamily(fontFamily: string): SpreadsheetApp.Range
setFontLine
- setFontLine(fontLine: string): SpreadsheetApp.Range
setFontLines
- setFontLines(fontLines: unknown[][]): SpreadsheetApp.Range
setFontSize
- setFontSize(size: number): SpreadsheetApp.Range
setFontSizes
- setFontSizes(sizes: unknown[][]): SpreadsheetApp.Range
setFontStyle
- setFontStyle(fontStyle: string): SpreadsheetApp.Range
setFontStyles
- setFontStyles(fontStyles: unknown[][]): SpreadsheetApp.Range
setFontWeight
- setFontWeight(fontWeight: string | null): SpreadsheetApp.Range
setFontWeights
- setFontWeights(fontWeights: unknown[][]): SpreadsheetApp.Range
setFormula
- setFormula(formula: string): SpreadsheetApp.Range
setFormulaR1C1
- setFormulaR1C1(formula: string): SpreadsheetApp.Range
setFormulas
- setFormulas(formulas: string[][]): SpreadsheetApp.Range
setFormulasR1C1
- setFormulasR1C1(formulas: string[][]): SpreadsheetApp.Range
setHorizontalAlignment
- setHorizontalAlignment(alignment: string): SpreadsheetApp.Range
setHorizontalAlignments
- setHorizontalAlignments(alignments: unknown[][]): SpreadsheetApp.Range
setNote
- setNote(note: string): SpreadsheetApp.Range
setNotes
- setNotes(notes: string[][]): SpreadsheetApp.Range
setNumberFormat
- setNumberFormat(numberFormat: string): SpreadsheetApp.Range
setNumberFormats
- setNumberFormats(numberFormats: string[][]): SpreadsheetApp.Range
setRichTextValue
- setRichTextValue(value: SpreadsheetApp.RichTextValue): SpreadsheetApp.Range
setRichTextValues
- setRichTextValues(values: SpreadsheetApp.RichTextValue[][]): SpreadsheetApp.Range
setShowHyperlink
- setShowHyperlink(showHyperlink: boolean): SpreadsheetApp.Range
setTextDirection
- setTextDirection(direction: SpreadsheetApp.TextDirection): SpreadsheetApp.Range
setTextDirections
- setTextDirections(directions: SpreadsheetApp.TextDirection[][]): SpreadsheetApp.Range
setTextRotation
- setTextRotation(degrees: number): SpreadsheetApp.Range
- setTextRotation(rotation: SpreadsheetApp.TextRotation): SpreadsheetApp.Range
setTextRotations
- setTextRotations(rotations: SpreadsheetApp.TextRotation[][]): SpreadsheetApp.Range
setTextStyle
- setTextStyle(style: SpreadsheetApp.TextStyle): SpreadsheetApp.Range
setTextStyles
- setTextStyles(styles: SpreadsheetApp.TextStyle[][]): SpreadsheetApp.Range
setValue
- setValue(value: unknown): SpreadsheetApp.Range
setValues
- setValues(values: unknown[][]): SpreadsheetApp.Range
setVerticalAlignment
- setVerticalAlignment(alignment: string): SpreadsheetApp.Range
setVerticalAlignments
- setVerticalAlignments(alignments: unknown[][]): SpreadsheetApp.Range
setVerticalText
- setVerticalText(isVertical: boolean): SpreadsheetApp.Range
setWrap
- setWrap(isWrapEnabled: boolean): SpreadsheetApp.Range
setWrapStrategies
- setWrapStrategies(strategies: SpreadsheetApp.WrapStrategy[][]): SpreadsheetApp.Range
setWrapStrategy
- setWrapStrategy(strategy: SpreadsheetApp.WrapStrategy): SpreadsheetApp.Range
setWraps
- setWraps(isWrapEnabled: unknown[][]): SpreadsheetApp.Range
shiftColumnGroupDepth
- shiftColumnGroupDepth(delta: number): SpreadsheetApp.Range
shiftRowGroupDepth
- shiftRowGroupDepth(delta: number): SpreadsheetApp.Range
sort
- sort(columnPosition: number): SpreadsheetApp.Range
- sort(sortSpec: SpreadsheetApp.SortSpec | SpreadsheetApp.SortSpec[]): SpreadsheetApp.Range
splitTextToColumns
- splitTextToColumns(): void
- splitTextToColumns(delimiter: string): void
- splitTextToColumns(delimiter: SpreadsheetApp.TextToColumnsDelimiter): void
trimWhitespace
- trimWhitespace(): SpreadsheetApp.Range
uncheck
- uncheck(): SpreadsheetApp.Range
Need the whole workflow?
Return to a task guide
Task guides cover setup, permissions, expected results, and troubleshooting as well as object methods.
Browse Google Sheets tasks