Class Range

範囲

スプレッドシートの範囲にアクセスして変更する。範囲には、シート内の単一のセル、またはシート内の隣接するセルのグループを指定できます。

Methods

メソッド戻り値の型概要
activate()Range指定された範囲を active range として設定し、範囲内の左上のセルを current cell として設定します。
activateAsCurrentCell()Range指定されたセルを current cell として設定します。
addDeveloperMetadata(key)Range指定されたキーを持つデベロッパー メタデータを範囲に追加します。
addDeveloperMetadata(key, visibility)Range指定されたキーと公開設定のデベロッパー メタデータを範囲に追加します。
addDeveloperMetadata(key, value)Range指定されたキーと値を含むデベロッパー メタデータを範囲に追加します。
addDeveloperMetadata(key, value, visibility)Range指定されたキー、値、可視性を含むデベロッパー メタデータを範囲に追加します。
applyColumnBanding()Banding範囲にデフォルトの列縞模様テーマを適用します。
applyColumnBanding(bandingTheme)Banding指定した列のバンディングのテーマを範囲に適用します。
applyColumnBanding(bandingTheme, showHeader, showFooter)Banding指定したヘッダーとフッターの設定を使用して、指定した列のバンドのテーマを範囲に適用します。
applyRowBanding()Banding範囲にデフォルトの行縞模様テーマを適用します。
applyRowBanding(bandingTheme)Banding指定した行の縞模様テーマを範囲に適用します。
applyRowBanding(bandingTheme, showHeader, showFooter)Banding指定したヘッダーとフッターの設定の範囲に、指定した行の縞模様を適用します。
autoFill(destination, series)voidこの範囲のデータに基づいて、destinationRange にデータを入力します。
autoFillToNeighbor(series)void隣接するセルに基づいて新しいデータを入力する範囲を計算し、この範囲に含まれるデータに基づいてその範囲を自動的に新しい値で埋めます。
breakApart()Range範囲内の複数列のセルを再び個別のセルに分割します。
canEdit()Boolean範囲内のすべてのセルを編集する権限をユーザーに付与するかどうかを指定します。
check()Range範囲内のチェックボックスの状態を「オン」に変更します。
clear()Rangeコンテンツと形式の範囲をクリアします。
clear(options)Range指定された詳細オプションで指定されているコンテンツ、形式、データ検証ルール、コメントの範囲をクリアします。
clearContent()Range範囲のコンテンツをクリアし、書式を維持します。
clearDataValidations()Range範囲のデータ入力規則をクリアします。
clearFormat()Rangeこの範囲の表示形式をクリアします。
clearNote()Range指定したセル内のメモを消去します。
collapseGroups()Range範囲内に完全に含まれるすべてのグループを閉じます。
copyFormatToRange(gridId, column, columnEnd, row, rowEnd)void範囲の書式を指定の場所にコピーします。
copyFormatToRange(sheet, column, columnEnd, row, rowEnd)void範囲の書式を指定の場所にコピーします。
copyTo(destination)voidセル範囲のデータを別のセル範囲にコピーします。
copyTo(destination, copyPasteType, transposed)voidセル範囲のデータを別のセル範囲にコピーします。
copyTo(destination, options)voidセル範囲のデータを別のセル範囲にコピーします。
copyValuesToRange(gridId, column, columnEnd, row, rowEnd)void範囲の内容を指定された場所にコピーします。
copyValuesToRange(sheet, column, columnEnd, row, rowEnd)void範囲の内容を指定された場所にコピーします。
createDataSourcePivotTable(dataSource)DataSourcePivotTableデータソースから空のデータソース ピボット テーブルを作成し、この範囲の最初のセルに固定します。
createDataSourceTable(dataSource)DataSourceTableデータソースから、この範囲の最初のセルに固定された空のデータソース テーブルを作成します。
createDeveloperMetadataFinder()DeveloperMetadataFinderこの範囲内のデベロッパー メタデータを検索するための DeveloperMetadataFinderApi を返します。
createFilter()Filterフィルタを作成し、シート上の指定した範囲に適用します。
createPivotTable(sourceData)PivotTableこの範囲の最初のセルに固定された sourceData から空のピボット テーブルを作成します。
createTextFinder(findText)TextFinder範囲のテキスト ファインダーを作成します。これにより、この範囲内のテキストの検索と置換を行うことができます。
deleteCells(shiftDimension)voidこのセル範囲を削除します。
expandGroups()Range範囲またはコントロールの切り替えがこの範囲と交差している折りたたみグループを展開します。
getA1Notation()String範囲を説明する文字列を A1 表記で返します。
getBackground()String範囲内の左上のセルの背景色を返します(例: '#ffffff')。
getBackgroundObject()Color範囲内の左上のセルの背景色を返します。
getBackgroundObjects()Color[][]範囲内のセルの背景色を返します。
getBackgrounds()String[][]範囲内のセルの背景色を返します(例: '#ffffff')。
getBandings()Banding[]この範囲内のセルに適用されるすべての縞模様を返します。
getCell(row, column)Range範囲内の指定されたセルを返します。
getColumn()Integerこの範囲の開始列位置を返します。
getDataRegion()Range4 つの基数 Direction で拡張されている範囲のコピーを返し、隣接するすべてのセルをデータでカバーします。
getDataRegion(dimension)Range指定されたディメンションが Dimension.ROWS の場合、拡張された範囲の Direction.UPDirection.DOWN のコピーを返します。ディメンションが Dimension.COLUMNS の場合は Direction.NEXTDirection.PREVIOUS を返します。
getDataSourceFormula()DataSourceFormula範囲内の最初のセルの DataSourceFormula を返します。セルにデータソース式が含まれていない場合は null を返します。
getDataSourceFormulas()DataSourceFormula[]範囲内のセルの DataSourceFormula を返します。
getDataSourcePivotTables()DataSourcePivotTable[]範囲と交差するすべてのデータソースのピボット テーブルを取得します。
getDataSourceTables()DataSourceTable[]範囲と交差するすべてのデータソース テーブルを取得します。
getDataSourceUrl()Stringこの範囲内のデータの URL を返します。この URL を使用してグラフやクエリを作成できます。
getDataTable()DataTableこのオブジェクト内のデータを DataTable として返します。
getDataTable(firstRowIsHeader)DataTableこの範囲内のデータを DataTable として返します。
getDataValidation()DataValidation範囲内の左上のセルのデータ入力規則を返します。
getDataValidations()DataValidation[][]範囲内のすべてのセルに対するデータの入力規則を返します。
getDeveloperMetadata()DeveloperMetadata[]この範囲に関連付けられているデベロッパー メタデータを取得します。
getDisplayValue()String範囲内の左上のセルの表示値を返します。
getDisplayValues()String[][]この範囲の値の長方形グリッドを返します。
getFilter()Filterこの範囲が属するシートのフィルタを返します。シートにフィルタがない場合は null を返します。
getFontColorObject()Color範囲の左上のセルのフォント色を返します。
getFontColorObjects()Color[][]範囲内のセルのフォント色を返します。
getFontFamilies()String[][]範囲内のセルのフォント ファミリーを返します。
getFontFamily()String範囲の左上隅にあるセルのフォント ファミリーを返します。
getFontLine()String範囲('underline''line-through'、または 'none')の左上隅にあるセルの線スタイルを取得します。
getFontLines()String[][]範囲('underline''line-through'、または 'none')内のセルの線スタイルを取得します。
getFontSize()Integer範囲の左上隅にあるセルのポイントサイズでフォントサイズを返します。
getFontSizes()Integer[][]範囲内のセルのフォントサイズを返します。
getFontStyle()String範囲の左上隅にあるセルのフォント スタイル('italic' または 'normal')を返します。
getFontStyles()String[][]範囲内のセルのフォント スタイルを返します。
getFontWeight()String範囲の左上隅にあるセルのフォントの太さ(標準/太字)を返します。
getFontWeights()String[][]範囲内のセルのフォントの太さを返します。
getFormula()String範囲の左上のセルの数式(A1 表記)を返します。セルが空の場合または数式が含まれていない場合は空の文字列を返します。
getFormulaR1C1()String指定されたセルの数式(R1C1 表記)を返します。存在しない場合は null を返します。
getFormulas()String[][]範囲内のセルの数式(A1 表記)を返します。
getFormulasR1C1()String[][]範囲内のセルの数式(R1C1 表記)を返します。
getGridId()Integer範囲の親シートのグリッド ID を返します。
getHeight()Integer範囲の高さを返します。
getHorizontalAlignment()String範囲の左上隅にあるセルのテキスト(左/中央/右)の水平方向の配置を返します。
getHorizontalAlignments()String[][]範囲内のセルの水平方向の配置を返します。
getLastColumn()Integer終了列の位置を返します。
getLastRow()Integer終了行の位置を返します。
getMergedRanges()Range[]現在の範囲内にあるか、現在の範囲内に 1 つ以上のセルを含む、結合されたセルを表す Range オブジェクトの配列を返します。
getNextDataCell(direction)Range範囲の最初の列と行のセルから開始して、指定された方向の次のセル(データを含むセルの連続範囲の端)、またはスプレッドシートのその方向の端にあるセルを返します。
getNote()String指定した範囲に関連付けられたメモを返します。
getNotes()String[][]範囲内のセルに関連付けられているメモを返します。
getNumColumns()Integerこの範囲内の列の数を返します。
getNumRows()Integerこの範囲内の行数を返します。
getNumberFormat()String指定された範囲の左上のセルの数値または日付の形式を取得します。
getNumberFormats()String[][]範囲内のセルについて、数値または日付の形式を返します。
getRichTextValue()RichTextValue範囲の左上のセルのリッチテキスト値を返します。セル値がテキストでない場合は null を返します。
getRichTextValues()RichTextValue[][]範囲内のセルのリッチテキスト値を返します。
getRow()Integerこの範囲の行の位置を返します。
getRowIndex()Integerこの範囲の行の位置を返します。
getSheet()Sheetこの範囲が属するシートを返します。
getTextDirection()TextDirection範囲の左上のセルのテキスト方向を返します。
getTextDirections()TextDirection[][]範囲内のセルに対するテキストの向きを返します。
getTextRotation()TextRotation範囲の左上のセルのテキスト回転設定を返します。
getTextRotations()TextRotation[][]範囲内のセルのテキスト回転設定を返します。
getTextStyle()TextStyle範囲の左上のセルのテキスト スタイルを返します。
getTextStyles()TextStyle[][]範囲内のセルのテキスト スタイルを返します。
getValue()Object範囲内の左上のセルの値を返します。
getValues()Object[][]この範囲の値の長方形グリッドを返します。
getVerticalAlignment()String範囲の左上隅にあるセルの垂直方向の配置(上/中央/下)を返します。
getVerticalAlignments()String[][]範囲内のセルの垂直方向の配置を返します。
getWidth()Integer範囲の幅を列単位で返します。
getWrap()Booleanセル内のテキストが折り返されるかどうかを返します。
getWrapStrategies()WrapStrategy[][]範囲内のセルのテキスト折り返し方法を返します。
getWrapStrategy()WrapStrategy範囲の左上のセルのテキスト折り返し方法を返します。
getWraps()Boolean[][]セル内のテキストが折り返されるかどうかを返します。
insertCells(shiftDimension)Rangeこの範囲に空白セルを挿入します。
insertCheckboxes()Range範囲内の各セルにチェックボックスを挿入します。オンの場合は true、オフの場合は false で構成します。
insertCheckboxes(checkedValue)Range範囲内の各セルにチェックボックスを挿入します。オンの場合はカスタム値、オフの場合は空の文字列が設定されます。
insertCheckboxes(checkedValue, uncheckedValue)Rangeチェックボックスを範囲内の各セルに挿入します。チェックボックスは、オンの状態とオフの状態を表すカスタム値で構成されます。
isBlank()Boolean範囲が完全に空白の場合、true を返します。
isChecked()Boolean範囲内のすべてのセルのチェックボックスの状態が「オン」かどうかを返します。
isEndColumnBounded()Boolean範囲の末尾を特定の列にバインドするかどうかを指定します。
isEndRowBounded()Boolean範囲の末尾を特定の行にバインドするかどうかを指定します。
isPartOfMerge()Boolean現在の範囲内のセルが結合したセルと重なる場合に、true を返します。
isStartColumnBounded()Boolean範囲の先頭を特定の列にバインドするかどうかを指定します。
isStartRowBounded()Boolean範囲の先頭を特定の行にバインドするかどうかを指定します。
merge()Range範囲内のセルを 1 つのブロックに結合します。
mergeAcross()Range範囲内の列のすべてのセルを結合します。
mergeVertically()Range範囲内のセルを結合します。
moveTo(target)voidこの範囲から対象範囲に(形式と値の両方)を切り取って貼り付けます。
offset(rowOffset, columnOffset)Rangeこの範囲から、指定された行数と列数(負の数も可能)だけオフセットされた新しい範囲を返します。
offset(rowOffset, columnOffset, numRows)Range現在の範囲を基準として、現在の範囲から指定された行と列の位置を左上端とし、セルに指定された高さを持つ新しい範囲を返します。
offset(rowOffset, columnOffset, numRows, numColumns)Range現在の範囲を基準として、現在の範囲から指定された行と列分のオフセット、セル内に指定された高さと幅を持つ新しい範囲を返します。
protect()Protection権限を持つユーザーによる編集から範囲を保護できるオブジェクトを作成します。
randomize()Range指定された範囲内の行の順序をランダム化します。
removeCheckboxes()Range範囲からすべてのチェックボックスを削除します。
removeDuplicates()Rangeこの範囲内で、前の行の値と重複する値を含む行を削除します。
removeDuplicates(columnsToCompare)Rangeこの範囲内で、指定された列の値と前の行の値と重複する値を含む行を削除します。
setBackground(color)Range範囲内のすべてのセルの背景色を CSS 表記('#ffffff''white' など)で設定します。
setBackgroundObject(color)Range範囲内のすべてのセルの背景色を設定します。
setBackgroundObjects(color)Range背景色の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。
setBackgroundRGB(red, green, blue)RangeRGB 値(0 ~ 255 の整数)を使用して、指定した色に背景を設定します。
setBackgrounds(color)Range背景色の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。
setBorder(top, left, bottom, right, vertical, horizontal)Range枠線プロパティを設定します。
setBorder(top, left, bottom, right, vertical, horizontal, color, style)Range枠線のプロパティを色やスタイルで設定します。
setDataValidation(rule)Range範囲内のすべてのセルに対して 1 つのデータ入力規則を設定します。
setDataValidations(rules)Range範囲内のすべてのセルに対してデータの入力規則を設定します。
setFontColor(color)Rangeフォントの色を CSS 表記('#ffffff''white' など)で設定します。
setFontColorObject(color)Range指定した範囲のフォントの色を設定します。
setFontColorObjects(colors)Rangeフォントの色の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。
setFontColors(colors)Rangeフォントの色の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。
setFontFamilies(fontFamilies)Rangeフォント ファミリーの長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。
setFontFamily(fontFamily)Rangeフォント ファミリーを設定します(「snippet」や「Helvetica」など)。
setFontLine(fontLine)Range指定された範囲('underline''line-through'、または 'none')のフォント ライン スタイルを設定します。
setFontLines(fontLines)Range線スタイルの長方形グリッドを設定します(この範囲のサイズと一致する必要があります)。
setFontSize(size)Rangeフォントサイズを設定します。サイズは、使用するポイントサイズです。
setFontSizes(sizes)Rangeフォントサイズの長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。
setFontStyle(fontStyle)Range指定した範囲('italic' または 'normal')のフォント スタイルを設定します。
setFontStyles(fontStyles)Rangeフォント スタイルの長方形グリッドを設定します(この範囲のサイズと一致する必要があります)。
setFontWeight(fontWeight)Range指定した範囲のフォントの太さを設定します(標準/太字)。
setFontWeights(fontWeights)Rangeフォントの太さの長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。
setFormula(formula)Rangeこの範囲の数式を更新します。
setFormulaR1C1(formula)Rangeこの範囲の数式を更新します。
setFormulas(formulas)Range数式の長方形のグリッドを設定します(この範囲のディメンションと一致する必要があります)。
setFormulasR1C1(formulas)Range数式の長方形のグリッドを設定します(この範囲のディメンションと一致する必要があります)。
setHorizontalAlignment(alignment)Range指定した範囲(左/中央/右)の水平方向の配置(左から右)を設定します。
setHorizontalAlignments(alignments)Range水平方向の配置の長方形のグリッドを設定します。
setNote(note)Range指定された値にメモを設定します。
setNotes(notes)Rangeメモの長方形グリッドを設定します(この範囲のサイズと一致する必要があります)。
setNumberFormat(numberFormat)Range数値または日付の形式を、指定された書式設定文字列に設定します。
setNumberFormats(numberFormats)Range数値形式または日付形式の長方形グリッドを設定します(この範囲の寸法と一致する必要があります)。
setRichTextValue(value)Range範囲内のセルにリッチテキスト値を設定します。
setRichTextValues(values)Rangeリッチテキスト値で長方形のグリッドを設定します。
setShowHyperlink(showHyperlink)Range範囲にハイパーリンクを表示するかどうかを設定します。
setTextDirection(direction)Range範囲内のセルのテキスト方向を設定します。
setTextDirections(directions)Rangeテキスト方向の長方形のグリッドを設定します。
setTextRotation(degrees)Range範囲内のセルのテキスト回転設定を設定します。
setTextRotation(rotation)Range範囲内のセルのテキスト回転設定を設定します。
setTextRotations(rotations)Rangeテキストを回転させるための長方形のグリッドを設定します。
setTextStyle(style)Range範囲内のセルのテキスト スタイルを設定します。
setTextStyles(styles)Rangeテキスト スタイルの長方形のグリッドを設定します。
setValue(value)Range範囲の値を設定します。
setValues(values)Range値の長方形のグリッドを設定します(この範囲のディメンションと一致する必要があります)。
setVerticalAlignment(alignment)Range指定した範囲(上部/中央/下部)の垂直方向の配置(上から下)を設定します。
setVerticalAlignments(alignments)Range垂直方向の配置の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。
setVerticalText(isVertical)Range範囲内のセルにテキストを積み重ねるかどうかを設定します。
setWrap(isWrapEnabled)Range指定した範囲のセル折り返しを設定します。
setWrapStrategies(strategies)Rangeラップ戦略の長方形のグリッドを設定します。
setWrapStrategy(strategy)Range範囲内のセルのテキスト折り返し方法を設定します。
setWraps(isWrapEnabled)Rangeワードラップ ポリシーの長方形のグリッドを設定します(この範囲のサイズと一致している必要があります)。
shiftColumnGroupDepth(delta)Range範囲の列のグループ化の深さを、指定された量だけ変更します。
shiftRowGroupDepth(delta)Range範囲の行グループ化の深さを、指定された量だけ変更します。
sort(sortSpecObj)Range指定した範囲内のセルを、指定した列および順序で並べ替えます。
splitTextToColumns()void自動検出された区切り文字に基づいて、テキストの列を複数の列に分割します。
splitTextToColumns(delimiter)void指定された文字列をカスタムの区切り文字として使用し、テキストの列を複数の列に分割します。
splitTextToColumns(delimiter)void指定された区切り文字に基づいて、テキストの列を複数の列に分割します。
trimWhitespace()Rangeこの範囲内のすべてのセルの空白(スペース、タブ、改行など)を削除します。
uncheck()Range範囲内のチェックボックスの状態を「オフ」に変更します。

詳細なドキュメント

activate()

指定された範囲を active range として設定し、範囲内の左上のセルを current cell として設定します。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getRange('A1:D10');
range.activate();

var selection = sheet.getSelection();
// Current cell: A1
var currentCell = selection.getCurrentCell();
// Active Range: A1:D10
var activeRange = selection.getActiveRange();

リターン

Range - チェーン用のこの範囲。


activateAsCurrentCell()

指定したセルを current cell として設定します。

指定したセルが既存の範囲に存在する場合は、その範囲がアクティブ範囲になり、そのセルは現在のセルとなります。

指定したセルが既存の範囲に存在しない場合は、既存の選択内容が削除され、そのセルが現在のセルおよびアクティブ範囲になります。

注: 指定する Range は 1 つのセルで構成する必要があります。そうでない場合、例外がスローされます。

// Gets the first sheet of the spreadsheet.
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];

// Gets the cell B5 and sets it as the active cell.
var range = sheet.getRange('B5');
var currentCell = range.activateAsCurrentCell();

// Logs the activated cell.
console.log(currentCell.getA1Notation());

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addDeveloperMetadata(key)

指定されたキーを持つデベロッパー メタデータを範囲に追加します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on the sheet.
const range = sheet.getRange('2:2');

// Adds the key 'NAME' to the developer metadata for row 2.
range.addDeveloperMetadata('NAME');

// Gets the metadata and logs it to the console.
const developerMetaData = range.getDeveloperMetadata()[0];
console.log(developerMetaData.getKey());

パラメータ

名前説明
keyString新しいデベロッパー メタデータのキー。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addDeveloperMetadata(key, visibility)

指定されたキーと公開設定のデベロッパー メタデータを範囲に追加します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on Sheet1.
const range = sheet.getRange('2:2');

// Adds the key 'NAME' and sets the developer metadata visibility to 'DOCUMENT'
// for row 2 on Sheet1.
range.addDeveloperMetadata('NAME', SpreadsheetApp.DeveloperMetadataVisibility.DOCUMENT);

// Gets the updated metadata info and logs it to the console.
const developerMetaData = range.getDeveloperMetadata()[0];
console.log(developerMetaData.getKey());
console.log(developerMetaData.getVisibility().toString());

パラメータ

名前説明
keyString新しいデベロッパー メタデータのキー。
visibilityDeveloperMetadataVisibility新しいデベロッパー メタデータの可視性。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addDeveloperMetadata(key, value)

指定されたキーと値を含むデベロッパー メタデータを範囲に追加します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 of Sheet1.
const range = sheet.getRange('2:2');

// Adds the key 'NAME' and sets the value to 'GOOGLE' for the metadata of row 2.
range.addDeveloperMetadata('NAME', 'GOOGLE');

// Gets the metadata and logs it to the console.
const developerMetaData = range.getDeveloperMetadata()[0];
console.log(developerMetaData.getKey());
console.log(developerMetaData.getValue());

パラメータ

名前説明
keyString新しいデベロッパー メタデータのキー。
valueString新しいデベロッパー メタデータの値。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addDeveloperMetadata(key, value, visibility)

指定されたキー、値、公開設定を含むデベロッパー メタデータを範囲に追加します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on the sheet.
const range = sheet.getRange('2:2');

// Adds the key 'NAME', sets the value to 'GOOGLE', and sets the visibility
// to PROJECT for row 2 on the sheet.
range.addDeveloperMetadata(
  'NAME',
  'GOOGLE',
  SpreadsheetApp.DeveloperMetadataVisibility.PROJECT);

// Gets the updated metadata info and logs it to the console.
const developerMetaData = range.getDeveloperMetadata()[0];
console.log(developerMetaData.getKey());
console.log(developerMetaData.getValue());
console.log(developerMetaData.getVisibility().toString());

パラメータ

名前説明
keyString新しいデベロッパー メタデータのキー。
valueString新しいデベロッパー メタデータの値。
visibilityDeveloperMetadataVisibility新しいデベロッパー メタデータの可視性。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyColumnBanding()

範囲にデフォルトの列縞模様テーマを適用します。デフォルトでは、縞模様にはヘッダーの色があり、フッターの色はありません。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on the sheet.
const range = sheet.getRange('2:2');

// Applies column banding to row 2.
const colBanding = range.applyColumnBanding();

// Gets the first banding on the sheet and logs the color of the header column.
console.log(sheet.getBandings()[0].getHeaderColumnColorObject().asRgbColor().asHexString());

// Gets the first banding on the sheet and logs the color of the second column.
console.log(sheet.getBandings()[0].getSecondColumnColorObject().asRgbColor().asHexString());

リターン

Banding - 新しいバンディング。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyColumnBanding(bandingTheme)

指定した列のバンディングのテーマを範囲に適用します。デフォルトでは、縞模様にはヘッダーの色があり、フッターの色はありません。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on the sheet.
const range = sheet.getRange('2:2');

// Applies the INDIGO color banding theme to the columns in row 2.
const colBanding = range.applyColumnBanding(SpreadsheetApp.BandingTheme.INDIGO);

// Gets the first banding on the sheet and logs the color of the second column.
console.log(sheet.getBandings()[0].getSecondColumnColorObject().asRgbColor().asHexString());

パラメータ

名前説明
bandingThemeBandingTheme範囲内の列に適用するカラーテーマ。

リターン

Banding - 新しいバンディング。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyColumnBanding(bandingTheme, showHeader, showFooter)

指定したヘッダーとフッターの設定を持つ範囲に、指定した列のバンドのテーマを適用します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets rows 12-22 on the sheet.
const range = sheet.getRange('12:22');

// Applies the BLUE color banding theme to rows 12-22.
// Sets the header visibility to false and the footer visibility to true.
const colBanding = range.applyColumnBanding(SpreadsheetApp.BandingTheme.BLUE, false, true);

// Gets the banding color and logs it to the console.
console.log(sheet.getBandings()[0].getSecondColumnColorObject().asRgbColor().asHexString());

// Gets the header color object and logs it to the console. Returns null because the header
// visibility is set to false.
console.log(sheet.getBandings()[0].getHeaderColumnColorObject());

// Gets the footer color and logs it to the console.
console.log(sheet.getBandings()[0].getFooterColumnColorObject().asRgbColor().asHexString());

パラメータ

名前説明
bandingThemeBandingTheme範囲内の列に適用するカラーテーマ。
showHeaderBooleantrue の場合、バンディングテーマのヘッダーの色が最初の列に適用されます。
showFooterBooleantrue の場合、バンディングテーマのフッターの色が最後の列に適用されます。

リターン

Banding - 新しいバンディング。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyRowBanding()

範囲にデフォルトの行縞模様テーマを適用します。デフォルトでは、縞模様にはヘッダーの色があり、フッターの色はありません。

// Opens the spreadsheet by its URL. If you created your script from within a Google Sheets
// spreadsheet, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets rows 1-30 on Sheet1.
const range = sheet.getRange('1:30');

// Applies row banding to rows 1-30.
range.applyRowBanding();

// Gets the hex color of the second banded row.
const secondRowColor = range.getBandings()[0]
                            .getSecondRowColorObject()
                            .asRgbColor()
                            .asHexString();

// Logs the hex color to console.
console.log(secondRowColor);

リターン

Banding - 縞模様。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyRowBanding(bandingTheme)

指定した行の縞模様テーマを範囲に適用します。デフォルトでは、縞模様にはヘッダーの色があり、フッターの色はありません。

// Opens the spreadsheet by its URL. If you created your script from within a Google Sheets
// spreadsheet, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets rows 1-30 on Sheet1.
const range = sheet.getRange('1:30');

// Applies the INDIGO row banding theme to rows 1-30.
range.applyRowBanding(SpreadsheetApp.BandingTheme.INDIGO);

// Gets the hex color of the second banded row.
const secondRowColor = range.getBandings()[0]
                            .getSecondRowColorObject()
                            .asRgbColor()
                            .asHexString();

// Logs the hex color to console.
console.log(secondRowColor);

パラメータ

名前説明
bandingThemeBandingTheme範囲内の行に適用するカラーテーマ。

リターン

Banding - 新しいバンディング。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

applyRowBanding(bandingTheme, showHeader, showFooter)

指定したヘッダーとフッターの設定の範囲に、指定した行の縞模様を適用します。

// Opens the spreadsheet by its URL. If you created your script from within a Google Sheets
// spreadsheet, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets rows 1-30 on Sheet1.
const range = sheet.getRange('1:30');

// Applies the INDIGO row banding to rows 1-30 and
// specifies to hide the header and show the footer.
range.applyRowBanding(SpreadsheetApp.BandingTheme.INDIGO, false, true);

パラメータ

名前説明
bandingThemeBandingTheme範囲内の行に適用するカラーテーマ。
showHeaderBooleantrue の場合、縞模様のテーマのヘッダーの色が最初の行に適用されます。
showFooterBooleantrue の場合、バンディングテーマのフッターの色が最後の行に適用されます。

リターン

Banding - 新しいバンディング。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

autoFill(destination, series)

この範囲のデータに基づいて、destinationRange にデータを入力します。新しい値は、指定された series 型によっても決定されます。宛先の範囲は、この範囲を含み、一方向にのみ拡張する必要があります。たとえば以下では、A1:A4 の現在の値に基づいて増加する一連の数値を A1:A20 に入力します。

var sheet = SpreadsheetApp.getActiveSheet();

// Has values [1, 2, 3, 4].
var sourceRange = sheet.getRange("A1:A4");
// The range to fill with values.
var destination = sheet.getRange("A1:A20");

// Inserts new values in A5:A20, continuing the pattern expressed in A1:A4
sourceRange.autoFill(destination, SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);

パラメータ

名前説明
destinationRange値が自動的に入力される範囲です。宛先の範囲は、この範囲を含み、一方向(上、下、左、右)にのみ拡張する必要があります。
seriesAutoFillSeries新しい値の計算に使用する自動入力の系列の種類。この系列の効果は、ソースデータの種類と量によって異なります。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

autoFillToNeighbor(series)

隣接するセルに基づいて新しいデータを入力する範囲を計算し、この範囲に含まれるデータに基づいてその範囲を自動的に新しい値で埋めます。これらの新しい値は、指定された series 型によっても決まります。

計算された宛先の範囲では、周囲のデータを考慮して、新しい値を挿入する場所が判断されます。自動入力される列の左右にデータが直接存在する場合、新しい値は、この隣接するデータまで拡張されます。

たとえば、A1:A20 に連続する数値が入力され、一連の日付を含む範囲 B1:B4 でこのメソッドが呼び出された場合、新しい値は B5:B20 にのみ挿入されます。これにより、これらの新しい値は、列 A の値を含むセルに固定されます。

var sheet = SpreadsheetApp.getActiveSheet();

// A1:A20 has values [1, 2, 3, ... 20].
// B1:B4 has values [1/1/2017, 1/2/2017, ...]
var sourceRange = sheet.getRange("B1:B4");

// Results in B5:B20 having values [1/5/2017, ... 1/20/2017]
sourceRange.autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);

パラメータ

名前説明
seriesAutoFillSeries新しい値の計算に使用する自動入力の系列の種類。この系列の効果は、ソースデータの種類と量によって異なります。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

breakApart()

範囲内の複数列のセルを再び個別のセルに分割します。

範囲に対してこの関数を呼び出すことは、範囲を選択してから、[表示形式] > [セルを結合] > [結合解除] をクリックした場合と同等です。

// Opens the spreadsheet by its URL. If you created your script from within a Google Sheets
// spreadsheet, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:C6 on Sheet1.
const range = sheet.getRange('A1:C6');

// Unmerges the range A1:C6 into individual cells.
range.breakApart();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

canEdit()

範囲内のすべてのセルを編集する権限をユーザーに付与するかどうかを指定します。スプレッドシートのオーナーは、保護されている範囲やシートをいつでも編集できます。

// Opens the spreadsheet by its URL. If you created your script from within a Google Sheets
// spreadsheet, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:C6 on Sheet1.
const range = sheet.getRange('A1:C6');

// Logs whether the user has permission to edit every cell in the range.
console.log(range.canEdit());

リターン

Boolean - 範囲内のすべてのセルを編集する権限がユーザーにある場合は true、それ以外の場合は false

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

check()

範囲内のチェックボックスの状態を「オン」に変更します。現在設定されている範囲内で、オンまたはオフの値が含まれていないセルは無視されます。

// Changes the state of cells which currently contain either the checked or unchecked value
// configured in the range A1:B10 to 'checked'.
var range = SpreadsheetApp.getActive().getRange('A1:B10');
range.check();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clear()

コンテンツと形式の範囲をクリアします。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.clear();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clear(options)

指定された詳細オプションで指定されているコンテンツ、形式、データ検証ルール、コメントの範囲をクリアします。デフォルトでは、すべてのデータが消去されます。

// The code below clears range C2:G7 in the active sheet, but preserves the format,
// data validation rules, and comments.
SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 5).clear({contentsOnly: true});

パラメータ

名前説明
optionsObject詳細パラメータを指定する JavaScript オブジェクト(下記を参照)。

拡張パラメータ

名前説明
commentsOnlyBooleanコメントのみを消去するかどうか。
contentsOnlyBooleanコンテンツのみを消去するかどうか。
formatOnlyBoolean書式のみを消去するかどうか。書式を消去すると、データ入力規則もクリアされます。
validationsOnlyBooleanデータの入力規則のみを消去するかどうか。
skipFilteredRowsBooleanフィルタされた行を消去しないかどうかを指定します。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clearContent()

範囲のコンテンツをクリアし、書式を維持します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.clearContent();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clearDataValidations()

範囲のデータ入力規則をクリアします。

// Clear the data validation rules for cells A1:B5.
var range = SpreadsheetApp.getActive().getRange('A1:B5');
range.clearDataValidations();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clearFormat()

この範囲の表示形式をクリアします。

セルまたは範囲内のセルのテキスト書式がクリアされますが、数値の書式規則がリセットされることはありません。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.clearFormat();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

clearNote()

指定したセル内のメモを消去します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.clearNote();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

collapseGroups()

範囲内に完全に含まれるすべてのグループを閉じます。範囲内に完全に含まれるグループがない場合、部分的に範囲内にある最も深く展開されたグループが閉じられます。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();

// All row and column groups within the range are collapsed.
range.collapseGroups();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyFormatToRange(gridId, column, columnEnd, row, rowEnd)

範囲の書式を指定の場所にコピーします。宛先がソース範囲よりも大きいか小さい場合、それに応じてソースが繰り返されるか切り捨てられます。このメソッドはフォーマットのみをコピーします。

gridId パラメータの詳細については、getGridId() をご覧ください。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];

var range = source.getRange("B2:D4");

// This copies the formatting in B2:D4 in the source sheet to
// D4:F6 in the sheet with gridId 1555299895. Note that you can get the gridId
// of a sheet by calling sheet.getSheetId() or range.getGridId().
range.copyFormatToRange(1555299895, 4, 6, 4, 6);

パラメータ

名前説明
gridIdIntegerスプレッドシート内のシートの一意の ID。位置は関係ありません。
columnInteger目標範囲の最初の列です。
columnEndInteger目標範囲の最終列。
rowInteger目標範囲の開始行。
rowEndInteger目標範囲の終了行。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

関連ドキュメント


copyFormatToRange(sheet, column, columnEnd, row, rowEnd)

範囲の書式を指定の場所にコピーします。宛先がソース範囲よりも大きいか小さい場合、それに応じてソースが繰り返されるか切り捨てられます。このメソッドはフォーマットのみをコピーします。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];
var destination = ss.getSheets()[1];

var range = source.getRange("B2:D4");

// This copies the formatting in B2:D4 in the source sheet to
// D4:F6 in the second sheet
range.copyFormatToRange(destination, 4, 6, 4, 6);

パラメータ

名前説明
sheetSheetターゲット シート。
columnInteger目標範囲の最初の列です。
columnEndInteger目標範囲の最終列。
rowInteger目標範囲の開始行。
rowEndInteger目標範囲の終了行。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyTo(destination)

セル範囲のデータを別のセル範囲にコピーします。値と書式設定の両方がコピーされます。

// The code below copies the first 5 columns over to the 6th column.
var sheet = SpreadsheetApp.getActiveSheet();
var rangeToCopy = sheet.getRange(1, 1, sheet.getMaxRows(), 5);
rangeToCopy.copyTo(sheet.getRange(1, 6));

パラメータ

名前説明
destinationRangeコピー先の範囲です。左上のセル位置のみ有効です。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyTo(destination, copyPasteType, transposed)

セル範囲のデータを別のセル範囲にコピーします。

// The code below copies only the values of the first 5 columns over to the 6th column.
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A:E").copyTo(sheet.getRange("F1"), SpreadsheetApp.CopyPasteType.PASTE_VALUES,
false);

パラメータ

名前説明
destinationRangeコピー先の範囲です。左上のセル位置のみ有効です。
copyPasteTypeCopyPasteType範囲の内容を宛先に貼り付ける方法を指定する型。
transposedBoolean転置した向きで範囲を貼り付けるかどうかを指定します。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyTo(destination, options)

セル範囲のデータを別のセル範囲にコピーします。デフォルトでは、値と書式の両方がコピーされますが、高度な引数を使用してオーバーライドできます。

// The code below copies only the values of the first 5 columns over to the 6th column.
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A:E").copyTo(sheet.getRange("F1"), {contentsOnly:true});

パラメータ

名前説明
destinationRangeコピー先の範囲です。左上のセル位置のみ有効です。
optionsObject詳細パラメータを指定する JavaScript オブジェクト(下記を参照)。

拡張パラメータ

名前説明
formatOnlyBooleanは、指定したフォーマットのみが
contentsOnlyBooleanはコンテンツのみがコピーされ、

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

copyValuesToRange(gridId, column, columnEnd, row, rowEnd)

範囲の内容を指定された場所にコピーします。宛先がソース範囲より大きいか小さい場合、それに応じてソースが繰り返されるか切り捨てられます。

gridId パラメータの詳細については、getGridId() をご覧ください。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];

var range = source.getRange("B2:D4");

// This copies the data in B2:D4 in the source sheet to
// D4:F6 in the sheet with gridId 0
range.copyValuesToRange(0, 4, 6, 4, 6);

パラメータ

名前説明
gridIdIntegerスプレッドシート内のシートの一意の ID。位置は関係ありません。
columnInteger目標範囲の最初の列です。
columnEndInteger目標範囲の最終列。
rowInteger目標範囲の開始行。
rowEndInteger目標範囲の終了行。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

関連ドキュメント


copyValuesToRange(sheet, column, columnEnd, row, rowEnd)

範囲の内容を指定された場所にコピーします。宛先がソース範囲より大きいか小さい場合、それに応じてソースが繰り返されるか切り捨てられます。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheets()[0];
var destination = ss.getSheets()[1];

var range = source.getRange("B2:D4");

// This copies the data in B2:D4 in the source sheet to
// D4:F6 in the second sheet
range.copyValuesToRange(destination, 4, 6, 4, 6);

パラメータ

名前説明
sheetSheetターゲット シート。
columnInteger目標範囲の最初の列です。
columnEndInteger目標範囲の最終列。
rowInteger目標範囲の開始行。
rowEndInteger目標範囲の終了行。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createDataSourcePivotTable(dataSource)

データソースから、この範囲の最初のセルに固定された空のデータソース ピボット テーブルを作成します。

この例では、新しいデータソースのピボット テーブルを作成して設定する方法を説明します。

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var anchorCell = spreadsheet.getSheets()[0].getRange('A1');
var dataSource = spreadsheet.getDataSources()[0];

var pivotTable = anchorCell.createDataSourcePivotTable(dataSource);
pivotTable.addRowGroup('dataColumnA');
pivotTable.addColumnGroup('dataColumnB');
pivotTable.addPivotValue('dataColumnC', SpreadsheetApp.PivotTableSummarizeFunction.SUM);
pivotTable.addFilter('dataColumnA',
                     SpreadsheetApp.newFilterCriteria().whenTextStartsWith('A').build());

パラメータ

名前説明
dataSourceDataSourceピボット テーブルの作成元のデータソース。

リターン

DataSourcePivotTable - 新しく作成されたデータソースのピボット テーブル。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createDataSourceTable(dataSource)

データソースから、この範囲の最初のセルに固定された空のデータソース テーブルを作成します。

この例では、新しいデータソース テーブルを作成して構成する方法を示しています。

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var anchorCell = spreadsheet.getSheets()[0].getRange('A1');
var dataSource = spreadsheet.getDataSources()[0];

var dataSourceTable = anchorCell.createDataSourceTable(dataSource);
    .addColumns('dataColumnA', 'dataColumnB', 'dataColumnC')
    .addSortSpec('dataColumnA', /* ascending= *\/ true)
    .addSortSpec('dataColumnB', /* ascending= *\/ false);

パラメータ

名前説明
dataSourceDataSourceピボット テーブルの作成元のデータソース。

リターン

DataSourceTable - 新しく作成されたデータソース テーブル。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createDeveloperMetadataFinder()

この範囲内のデベロッパー メタデータを検索するための DeveloperMetadataFinderApi を返します。メタデータは、その範囲内に完全に含まれている場合にのみ、範囲内に含まれます。たとえば、行「3:3」に関連付けられたメタデータは、範囲「A1:D5」の範囲内にありませんが、範囲「1:5」の範囲内になります。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:C6.
const range = sheet.getRange('A1:C6');

// Creates a developer metadata finder to search for metadata in the scope of this range.
const developerMetaDataFinder = range.createDeveloperMetadataFinder();

// Logs information about the developer metadata finder to the console.
const developerMetaData = developerMetaDataFinder.find()[0];
console.log(developerMetaData.getKey());
console.log(developerMetaData.getValue());
console.log(developerMetaData.getVisibility().toString());

リターン

DeveloperMetadataFinder - この範囲にあるメタデータを検索するデベロッパー メタデータ ファインダー。


createFilter()

フィルタを作成し、シート上の指定した範囲に適用します。1 つのシートに複数のフィルタを作成することはできません。フィルタを作成後にアクセスして変更するには、getFilter() または Sheet.getFilter() を使用します。

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");

// Creates a new filter and applies it to the range A1:C20 on the active sheet.
function createFilter() {
  range.createFilter();
}
// Gets the filter and applies criteria that only shows cells that aren't empty.
function getFilterAddCriteria() {
  let filter = range.getFilter();
  let criteria = SpreadsheetApp.newFilterCriteria()
    .whenCellNotEmpty()
    .build();
  filter.setColumnFilterCriteria(2, criteria);
}
このメソッドを使用して、デフォルトのシートの種類である Grid シートのフィルタを作成します。 グリッドシートは、データベースに接続されていないシートです。他の種類のフィルタを作成する方法については、以下をご覧ください。

リターン

Filter - 新しいフィルタ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createPivotTable(sourceData)

この範囲の最初のセルに固定された sourceData から空のピボット テーブルを作成します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets cell A1 as a range in order to place the pivot table.
const range = sheet.getRange('A1');

// Gets the range of the source data for the pivot table.
const dataRange = sheet.getRange('E12:G20');

// Creates an empty pivot table from the specified source data.
const pivotTable = range.createPivotTable(dataRange);

// Logs the values from the pivot table's source data to the console.
console.log(pivotTable.getSourceDataRange().getValues());

パラメータ

名前説明
sourceDataRangeピボット テーブルの作成元のデータ。

リターン

PivotTable - 新しく作成された PivotTable

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

createTextFinder(findText)

範囲のテキスト ファインダーを作成します。これにより、この範囲内のテキストの検索と置換を行うことができます。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();

// Creates  a text finder for the range.
var textFinder = range.createTextFinder('dog');

// Returns the first occurrence of 'dog'.
var firstOccurrence = textFinder.findNext();

// Replaces the last found occurrence of 'dog' with 'cat' and returns the number
// of occurrences replaced.
var numOccurrencesReplaced = textFinder.replaceWith('cat');

パラメータ

名前説明
findTextString検索するテキストです。

リターン

TextFinder - 範囲の TextFinder


deleteCells(shiftDimension)

このセル範囲を削除します。指定したディメンションに沿ったシート内の既存のデータは、削除された範囲に移動します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.deleteCells(SpreadsheetApp.Dimension.COLUMNS);

パラメータ

名前説明
shiftDimensionDimension既存のデータをシフトするディメンション。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

expandGroups()

範囲またはコントロールの切り替えがこの範囲と交差している折りたたみグループを展開します。コントロールの切り替え位置は、コントロールの切り替えが表示されるインデックスで、設定に応じてグループの直前または直後になります。同じ位置に複数のグループがある場合は、最も小さいグループが展開されます。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();

// All row and column groups within the range are expanded.
range.expandGroups();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getA1Notation()

範囲を説明する文字列を A1 表記で返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange(1, 1, 2, 5);

// Logs "A1:E2"
Logger.log(range.getA1Notation());

リターン

String - 範囲の文字列の説明(A1 表記)。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBackground()

範囲内の左上のセルの背景色を返します(例: '#ffffff')。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B5");
Logger.log(cell.getBackground());

リターン

String - 背景のカラーコード。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBackgroundObject()

範囲内の左上のセルの背景色を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B5");
Logger.log(cell.getBackgroundObject().asRgbColor().asHexString());

リターン

Color - 範囲内の左上のセルの背景色。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBackgroundObjects()

範囲内のセルの背景色を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5:C6");
var bgColors = range.getBackgroundObjects();
for (var i in bgColors) {
  for (var j in bgColors[i]) {
    Logger.log(bgColors[i][j].asRgbColor().asHexString());
  }
}

リターン

Color[][] - 背景色の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBackgrounds()

範囲内のセルの背景色を返します(例: '#ffffff')。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5:C6");
var bgColors = range.getBackgrounds();
for (var i in bgColors) {
  for (var j in bgColors[i]) {
    Logger.log(bgColors[i][j]);
  }
}

リターン

String[][] - 背景のカラーコードの 2 次元配列

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getBandings()

この範囲内のセルに適用されるすべての縞模様を返します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Sets a range.
const range = sheet.getRange('A1:K50');

// Gets the banding info for the range.
const bandings = range.getBandings();

// Logs the second row color for each banding to the console.
for (let banding of bandings) {
  console.log(banding.getSecondRowColor());
}

リターン

Banding[] - この範囲内のセルに適用されるすべての縞模様。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getCell(row, column)

範囲内の特定のセルを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D4");

// The row and column here are relative to the range
// getCell(1,1) in this code returns the cell at B2
var cell = range.getCell(1, 1);
Logger.log(cell.getValue());

パラメータ

名前説明
rowInteger範囲を基準とするセルの行。
columnInteger範囲に関連するセルの列です。

リターン

Range - 指定された座標にある 1 つのセルを含む範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getColumn()

この範囲の開始列位置を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D4");
// Logs "2.0"
Logger.log(range.getColumn());

リターン

Integer - スプレッドシート内での範囲の開始列の位置。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataRegion()

4 つの基数 Direction で拡張されている範囲のコピーを返し、隣接するすべてのセルをデータでカバーします。範囲が対角線上のセルを含まない空のセルで囲まれている場合、範囲自体が返されます。これは、エディタで範囲を選択して Ctrl+A を入力する場合と同様です。

// Assume the active spreadsheet is blank.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.getRange("C2").setValue(100);
sheet.getRange("B3").setValue(100);
sheet.getRange("D3").setValue(100);
sheet.getRange("C4").setValue(100);
// Logs "B2:D4"
Logger.log(sheet.getRange("C3").getDataRegion().getA1Notation());

リターン

Range - 範囲のデータ領域またはスプレッドシート全体の範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataRegion(dimension)

指定されたディメンションが Dimension.ROWS の場合、拡張された範囲の Direction.UPDirection.DOWN のコピーを返します。ディメンションが Dimension.COLUMNS の場合は Direction.NEXTDirection.PREVIOUS を返します。範囲の拡張は、テーブルのように構成された範囲の横にあるデータの検出に基づいています。拡張範囲は、指定されたディメンションのデータを含む隣接するすべてのセル(表の境界を含む)をカバーします。元の範囲が指定したディメンションの空のセルで囲まれている場合は、範囲自体が返されます。この方法は、エディタで範囲を選択して、列の場合は「 Ctrl+Space」、行の場合は「Shift+Space」と入力する場合に似ています。

// Assume the active spreadsheet is blank.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.getRange("C2").setValue(100);
sheet.getRange("B3").setValue(100);
sheet.getRange("D3").setValue(100);
sheet.getRange("C4").setValue(100);
// Logs "C2:C4"
Logger.log(sheet.getRange("C3").getDataRegion(SpreadsheetApp.Dimension.ROWS).getA1Notation());
// Logs "B3:D3"
Logger.log(
    sheet.getRange("C3").getDataRegion(SpreadsheetApp.Dimension.COLUMNS).getA1Notation());

パラメータ

名前説明
dimensionDimension範囲を拡張するディメンション。

リターン

Range - 元の範囲が包含する各列または各行をカバーする範囲のデータ領域または範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSourceFormula()

範囲内の最初のセルの DataSourceFormula を返します。セルにデータソース式が含まれていない場合は null を返します。

// Opens the spreadsheet file by its ID. If you created your script from a Google Sheets file,
// use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1 on Sheet1.
const range = sheet.getRange('A1');

// Gets the data source formula from cell A1.
const dataSourceFormula = range.getDataSourceFormula();

// Gets the formula.
const formula = dataSourceFormula.getFormula();

// Logs the formula.
console.log(formula);

リターン

DataSourceFormula - セルの DataSourceFormula

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSourceFormulas()

範囲内のセルの DataSourceFormula を返します。

// Opens the spreadsheet file by its ID. If you created your script from a Google Sheets file,
// use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:B5 on Sheet1.
const range = sheet.getRange('A1:B5');

// Gets an array of the data source formulas in the range A1:B5.
const dataSourceFormulas = range.getDataSourceFormulas();

// Logs the first formula in the array.
console.log(dataSourceFormulas[0].getFormula());

リターン

DataSourceFormula[] - DataSourceFormula の配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSourcePivotTables()

範囲と交差するすべてのデータソースのピボット テーブルを取得します。

// Opens the spreadsheet file by its ID. If you created your script from a Google Sheets file,
// use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:G50 on Sheet1.
const range = sheet.getRange('A1:G50');

// Gets an array of the data source pivot tables in the range A1:G50.
const dataSourcePivotTables = range.getDataSourcePivotTables();

// Logs the last time that the first pivot table in the array was refreshed.
console.log(dataSourcePivotTables[0].getStatus().getLastRefreshedTime());

リターン

DataSourcePivotTable[] - データソースのピボット テーブルのリスト。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSourceTables()

範囲と交差するすべてのデータソース テーブルを取得します。

// Opens the spreadsheet file by its ID. If you created your script from a Google Sheets file,
// use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:G50 on Sheet1.
const range = sheet.getRange('A1:G50');

// Gets the first data source table in the range A1:G50.
const dataSourceTable = range.getDataSourceTables()[0];

// Logs the time of the last completed data execution on the data source table.
console.log(dataSourceTable.getStatus().getLastExecutionTime());

リターン

DataSourceTable[] - データソース テーブルのリスト。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSourceUrl()

この範囲内のデータの URL を返します。URL を使用してグラフやクエリを作成できます。

Code.gs

function doGet() {
  var ss = SpreadsheetApp.openById('1khO6hBWTNNyvyyxvob7aoZTI9ZvlqqASNeq0e29Tw2c');
  var sheet = ss.getSheetByName('ContinentData');
  var range = sheet.getRange('A1:B8');

  var template = HtmlService.createTemplateFromFile('piechart');
  template.dataSourceUrl = range.getDataSourceUrl();
  return template.evaluate();
}

piechart.html

<!DOCTYPE html>
<html>
  <head>
    <!--Load the AJAX API-->
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      // Load the Visualization API and the corechart package.
      google.charts.load('current', {'packages': ['corechart']});

      // Set a callback to run when the Google Visualization API is loaded.
      google.charts.setOnLoadCallback(queryData);

      function queryData() {
        var query = new google.visualization.Query('<?= dataSourceUrl ?>');
        query.send(drawChart);
      }

      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart(response) {
        if (response.isError()) {
          alert('Error: ' + response.getMessage() + ' ' + response.getDetailedMessage());
          return;
        }
        var data = response.getDataTable();

        // Set chart options.
        var options = {
          title: 'Population by Continent',
          width: 400,
          height: 300
        };

        // Instantiate and draw the chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <!-- Div that holds the pie chart. -->
    <div id="chart_div"></div>
  </body>
</html>

リターン

String - グラフなどの他の API に渡すことができるデータソースとして、この範囲の URL。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataTable()

このオブジェクト内のデータを DataTable として返します。

// Opens the spreadsheet file by its ID. If you created your script from a Google Sheets file,
// use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:B7 on Sheet1.
const range = sheet.getRange('A1:B7');

// Gets the range A1:B7 as a data table. The values in each column must be of the same type.
const datatable = range.getDataTable();

// Uses the Charts service to build a bar chart from the data table.
// This doesn't build an embedded chart. To do that, use sheet.newChart().addRange() instead.
const chart = Charts.newBarChart()
                  .setDataTable(datatable)
                  .setOption('title', 'Your Chart Title Here')
                  .build();

リターン

DataTable - データテーブルとしてのデータ。


getDataTable(firstRowIsHeader)

この範囲内のデータを DataTable として返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:B7");

// Calling this method with "true" sets the first line to be the title of the axes
var datatable = range.getDataTable(true);

// Note that this doesn't build an EmbeddedChart, so you can't just use
// Sheet#insertChart(). To do that, use sheet.newChart().addRange() instead.
var chart = Charts.newBarChart()
    .setDataTable(datatable)
    .setOption("title", "Your Title Here")
    .build();

パラメータ

名前説明
firstRowIsHeaderBoolean最初の行をヘッダーとして扱うかどうかを指定します。

リターン

DataTable - データテーブルとしてのデータ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataValidation()

範囲内の左上のセルのデータ入力規則を返します。セルにデータ検証が設定されていない場合、このメソッドは null を返します。

// Log information about the data validation rule for cell A1.
var cell = SpreadsheetApp.getActive().getRange('A1');
var rule = cell.getDataValidation();
if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.')
}

リターン

DataValidation - 範囲内の左上のセルに対するデータ入力規則。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataValidations()

範囲内のすべてのセルに対するデータの入力規則を返します。特定のセルにデータ検証が設定されていない場合、このメソッドは配列内のセルの位置に対して null を返します。

// Change existing data validation rules that require a date in 2013 to require a date in 2014.
var oldDates = [new Date('1/1/2013'), new Date('12/31/2013')];
var newDates = [new Date('1/1/2014'), new Date('12/31/2014')];
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
var rules = range.getDataValidations();

for (var i = 0; i < rules.length; i++) {
  for (var j = 0; j < rules[i].length; j++) {
    var rule = rules[i][j];

    if (rule != null) {
      var criteria = rule.getCriteriaType();
      var args = rule.getCriteriaValues();

      if (criteria == SpreadsheetApp.DataValidationCriteria.DATE_BETWEEN
          && args[0].getTime() == oldDates[0].getTime()
          && args[1].getTime() == oldDates[1].getTime()) {
        // Create a builder from the existing rule, then change the dates.
        rules[i][j] = rule.copy().withCriteria(criteria, newDates).build();
      }
    }
  }
}
range.setDataValidations(rules);

リターン

DataValidation[][] - 範囲内のセルに関連付けられたデータ検証ルールの 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDeveloperMetadata()

この範囲に関連付けられているデベロッパー メタデータを取得します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets row 2 on Sheet1.
const range = sheet.getRange('2:2');

// Adds metadata to row 2.
range.addDeveloperMetadata('NAME', 'GOOGLE');

// Logs the metadata to console.
for (const metadata of range.getDeveloperMetadata()) {
  console.log(`${metadata.getKey()}: ${metadata.getValue()}`);
}

リターン

DeveloperMetadata[] - この範囲に関連付けられているデベロッパー メタデータ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDisplayValue()

範囲内の左上のセルの表示値を返します。値は String です。表示される値には、日付、時刻、通貨の書式設定の形式(スプレッドシートの言語 / 地域設定によって自動的に適用される形式など)が考慮されます。空のセルは空の文字列を返します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets cell A30 and sets its value to 'Test code.'
const cell = sheet.getRange('A30');
cell.setValue('Test code');

// Gets the value and logs it to the console.
console.log(cell.getDisplayValue());

リターン

String - このセルに表示される値。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDisplayValues()

この範囲の値の長方形グリッドを返します。

表示された値の 2 次元配列を、行、列の順にインデックス化して返します。値は String オブジェクトです。表示される値には、日付、時刻、通貨の形式(スプレッドシートの言語 / 地域設定によって自動的に適用される形式を含む)が考慮されます。空のセルは、配列内の空の文字列で表されます。範囲インデックスは 1, 1 から始まり、JavaScript 配列は [0][0] から始まります。

// The code below gets the displayed values for the range C2:G8
// in the active spreadsheet.  Note that this is a JavaScript array.
var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getDisplayValues();
Logger.log(values[0][0]);

リターン

String[][] - 2 次元の値の配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFilter()

この範囲が属するシートのフィルタを返します。シートにフィルタがない場合は null を返します。

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
// Gets the existing filter on the sheet that the given range belongs to.
let filter = range.getFilter();

リターン

Filter - フィルタ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontColorObject()

範囲の左上のセルのフォント色を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontColorObject().asRgbColor().asHexString());

リターン

Color - 範囲内の左上のセルのフォント色。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontColorObjects()

範囲内のセルのフォントの色を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontColorObjects();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j].asRgbColor().asHexString());
  }
}

リターン

Color[][] - 範囲内のセルに関連付けられたフォント色の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontFamilies()

範囲内のセルのフォント ファミリーを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontFamilies();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

リターン

String[][] - 範囲内のセルに関連付けられたフォント ファミリーの 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontFamily()

範囲の左上隅にあるセルのフォント ファミリーを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontFamily());

リターン

String - セルのフォント ファミリー。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontLine()

範囲('underline''line-through'、または 'none')の左上隅にあるセルの線スタイルを取得します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontLine());

リターン

String - フォント行。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontLines()

範囲('underline''line-through'、または 'none')内のセルの線スタイルを取得します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontLines();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

リターン

String[][] - 範囲内のセルに関連付けられたフォント行の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontSize()

範囲の左上隅にあるセルのポイントサイズでフォントサイズを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontSize());

リターン

Integer - ポイントサイズでのフォントサイズ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontSizes()

範囲内のセルのフォントサイズを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontSizes();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

リターン

Integer[][] - 範囲内のセルに関連付けられたテキストのフォントサイズの 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontStyle()

範囲の左上隅にあるセルのフォント スタイル('italic' または 'normal')を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontStyle());

リターン

String - セル内のテキストのフォント スタイル。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontStyles()

範囲内のセルのフォント スタイルを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontStyles();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

リターン

String[][] - 範囲内のセルに関連付けられたテキストのフォント スタイルの 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontWeight()

範囲の左上隅にあるセルのフォントの太さ(標準/太字)を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getFontWeight());

リターン

String - セル内のテキストのフォントの太さ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFontWeights()

範囲内のセルのフォントの太さを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getFontWeights();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

リターン

String[][] - 範囲内のセルに関連付けられたテキストのフォントの太さの 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFormula()

範囲の左上のセルの数式(A1 表記)を返します。セルが空の場合や数式が含まれていない場合は空の文字列を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// This assumes you have a function in B5 that sums up
// B2:B4
var range = sheet.getRange("B5");

// Logs the calculated value and the formula
Logger.log("Calculated value: %s Formula: %s",
           range.getValue(),
           range.getFormula());

リターン

String - セルの数式。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFormulaR1C1()

指定したセルに対する数式(R1C1 表記)を返します。存在しない場合は null を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5");
var formula = range.getFormulaR1C1();
Logger.log(formula);

リターン

String - R1C1 表記の式

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFormulas()

範囲内のセルの数式(A1 表記)を返します。式のないセルの場合、2D 配列のエントリは空の文字列になります。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5:C6");
var formulas = range.getFormulas();
for (var i in formulas) {
  for (var j in formulas[i]) {
    Logger.log(formulas[i][j]);
  }
}

リターン

String[][] - 数式の 2 次元配列(文字列形式)。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFormulasR1C1()

範囲内のセルの数式(R1C1 表記)を返します。数式のないセルの場合、2 次元配列のエントリは null になります。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5:C6");
var formulas = range.getFormulasR1C1();
for (var i in formulas) {
  for (var j in formulas[i]) {
    Logger.log(formulas[i][j]);
  }
}

リターン

String[][] - 数式の 2 次元配列(R1C1 表記)。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getGridId()

範囲の親シートのグリッド ID を返します。ID は負でないランダムな int 値です。

// Log the grid ID of the first sheet (by tab position) in the spreadsheet.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getGridId());

リターン

Integer - 親シートのグリッド ID。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getHeight()

範囲の高さを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D4");
// logs 3.0
Logger.log(range.getHeight());

リターン

Integer - 範囲の高さ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getHorizontalAlignment()

範囲の左上隅にあるセルのテキスト(左/中央/右)の水平方向の配置を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getHorizontalAlignment());

リターン

String - セル内のテキストの水平方向の配置。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getHorizontalAlignments()

範囲内のセルの水平方向の配置を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getHorizontalAlignments();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

リターン

String[][] - 範囲内のセルに関連付けられたテキストの水平方向の配置の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getLastColumn()

終了列の位置を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D4");
// Logs "4.0"
Logger.log(range.getLastColumn());

リターン

Integer - スプレッドシート内での範囲の終了列の位置。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getLastRow()

終了行の位置を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D4");
// Logs "4.0"
Logger.log(range.getLastRow());

リターン

Integer - スプレッドシートでの範囲の終了行の位置。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getMergedRanges()

現在の範囲内にあるか、現在の範囲内に 1 つ以上のセルを含む、結合されたセルを表す Range オブジェクトの配列を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B3");

var mergedRanges = range.getMergedRanges();
for (var i = 0; i < mergedRanges.length; i++) {
  Logger.log(mergedRanges[i].getA1Notation());
  Logger.log(mergedRanges[i].getDisplayValue());
}

リターン

Range[] - Range オブジェクトの配列。範囲と重なる結合されたセルを表します。


getNextDataCell(direction)

範囲の最初の列と行のセルから開始して、指定された方向の次のセル(データを含むセルの連続範囲の端)、またはスプレッドシートのその方向の端にあるセルを返します。これは、エディタで「 Ctrl+[arrow key]」と入力するのと同じです。

// Assume the active spreadsheet is blank.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("C3:E5");
// Logs "C1"
Logger.log(range.getNextDataCell(SpreadsheetApp.Direction.UP).getA1Notation());

パラメータ

名前説明
directionDirection次のデータ領域のエッジセルを検出する方向。

リターン

Range - データ領域の端のセル、またはスプレッドシートの端のセル。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getNote()

指定した範囲に関連付けられているメモを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getNote());

リターン

String - 指定されたセルに関連付けられたメモ。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getNotes()

範囲内のセルに関連付けられているメモを返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getNotes();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

リターン

String[][] - 範囲内のセルに関連付けられたメモの 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getNumColumns()

この範囲内の列数を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D5");
Logger.log(range.getNumColumns());

リターン

Integer - この範囲の列数。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getNumRows()

この範囲内の行数を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D5");
Logger.log(range.getNumRows());

リターン

Integer - この範囲内の行数。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getNumberFormat()

指定された範囲の左上のセルの数値または日付の形式を取得します。返される形式パターンについては、Sheets API のドキュメントをご覧ください。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("C4");
Logger.log(cell.getNumberFormat());

リターン

String - 範囲の左上のセルの数値形式。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getNumberFormats()

範囲内のセルについて、数値または日付の形式を返します。返される形式パターンについては、Sheets API のドキュメントをご覧ください。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5:C6");
var formats = range.getNumberFormats();
for (var i in formats) {
  for (var j in formats[i]) {
    Logger.log(formats[i][j]);
  }
}

リターン

String[][] - 数値形式の 2 次元配列

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRichTextValue()

範囲の左上のセルのリッチテキスト値を返します。セル値がテキストでない場合は null を返します。

// Gets the Rich Text value of cell D4.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("D4:F6");
var richText = range.getRichTextValue();
console.log(richText.getText());

リターン

RichTextValue - 範囲内の左上のセルのリッチテキスト値。セル値がテキストでない場合は null になります。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRichTextValues()

範囲内のセルのリッチテキスト値を返します。

// Gets the Rich Text values for all cells in range B5:C6
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B5:C6");
var values = range.getRichTextValues();

for (var i = 0; i < values.length; i++) {
  for (var j = 0; j < values[i].length; j++) {
    console.log(values[i][j].getText());
  }
}

リターン

RichTextValue[][] - リッチテキスト値の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRow()

この範囲の行の位置を返します。getRowIndex() と同じです。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2");
Logger.log(range.getRow());

リターン

Integer - 範囲の行の位置。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRowIndex()

この範囲の行の位置を返します。getRow() と同じです。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2");
Logger.log(range.getRowIndex());

リターン

Integer - 範囲の行の位置。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

関連ドキュメント


getSheet()

この範囲が属するシートを返します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:D10 on Sheet1.
const range = sheet.getRange('A1:D10');

// Gets the sheet that the range belongs to.
const rangeSheet = range.getSheet();

// Gets the sheet name and logs it to the console.
console.log(rangeSheet.getName());

リターン

Sheet - この範囲が属するシート。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getTextDirection()

範囲の左上のセルのテキスト方向を返します。自動検出でセルのテキスト方向が決定された場合、null を返します。

// Get the text direction of cell B1.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B1:D4");
Logger.log(range.getTextDirection());

リターン

TextDirection - 範囲内の左上のセルのテキスト方向。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getTextDirections()

範囲内のセルに対するテキストの向きを返します。自動検出を使用するセルの場合、2 次元配列のエントリは null です。

// Get the text directions for all cells in range B5:C6
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B5:C6");
var directions = range.getTextDirections();

for (var i = 0; i < directions.length; i++) {
  for (var j = 0; j < directions[i].length; j++) {
    Logger.log(directions[i][j]);
  }
}

リターン

TextDirection[][] - テキスト方向の 2 次元配列

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getTextRotation()

範囲の左上のセルのテキスト回転設定を返します。

// Log the text rotation settings for a cell.
var sheet = SpreadsheetApp.getActiveSheet();

var cell = sheet.getRange("A1");
Logger.log(cell.getTextRotation());

リターン

TextRotation - テキストの回転の設定。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getTextRotations()

範囲内のセルのテキスト回転設定を返します。

var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B2:D4");

var results = range.getTextRotations();

for (var i in results) {
  for (var j in results[i]) {
    var rotation = results[i][j];
    Logger.log("Cell [%s, %s] has text rotation: %v", i, j, rotation);
  }
}

リターン

TextRotation[][] - 範囲内のセルに関連付けられたテキスト回転の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getTextStyle()

範囲の左上のセルのテキスト スタイルを返します。

// Get the text style of cell D4.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("D4:F6");
var style = range.getTextStyle();
Logger.log(style);

リターン

TextStyle - 範囲内の左上のセルのテキスト スタイル。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getTextStyles()

範囲内のセルのテキスト スタイルを返します。

// Get the text styles for all cells in range B5:C6
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B5:C6");
var styles = range.getTextStyles();

for (var i = 0; i < styles.length; i++) {
  for (var j = 0; j < styles[i].length; j++) {
    Logger.log(styles[i][j]);
  }
}

リターン

TextStyle[][] - テキスト スタイルの 2 次元配列

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getValue()

範囲内の左上のセルの値を返します。値の型は、セルの値に応じて NumberBooleanDateString のいずれかになります。空のセルは空の文字列を返します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:D10 on Sheet1.
const range = sheet.getRange('A1:D10');

// Gets the value of the top-left cell in the range and logs it to the console.
console.log(range.getValue());

リターン

Object - このセルの値。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getValues()

この範囲の値の長方形グリッドを返します。

2 次元の値の配列を返します。インデックスは行で、次に列でインデックス化されます。値の型は、セルの値に応じて NumberBooleanDateString のいずれかになります。空のセルは、配列内の空の文字列で表されます。範囲インデックスは 1, 1 から始まり、JavaScript 配列は [0][0] から始まります。

// The code below gets the values for the range C2:G8
// in the active spreadsheet.  Note that this is a JavaScript array.
var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues();
Logger.log(values[0][0]);
ウェブアプリの場合、Date 値は有効なパラメータではありません。範囲に Date 値を持つセルが含まれている場合、getValues() はウェブアプリにデータを返しません。代わりに、シートから取得したすべての値を、サポートされている JavaScript プリミティブ(NumberBooleanString など)に変換します。

リターン

Object[][] - 2 次元の値の配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getVerticalAlignment()

範囲の左上隅にあるセルの垂直方向の配置(上/中央/下)を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getVerticalAlignment());

リターン

String - セル内のテキストの垂直方向の配置。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getVerticalAlignments()

範囲内のセルの垂直方向の配置を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getVerticalAlignments();

for (var i in results) {
  for (var j in results[i]) {
    Logger.log(results[i][j]);
  }
}

リターン

String[][] - 範囲内のセルに関連付けられたテキストの垂直方向の配置の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getWidth()

範囲の幅を列単位で返します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:D10 on Sheet1.
const range = sheet.getRange('A1:D10');

// Gets the width of the range in number of columns and logs it to the console.
console.log(range.getWidth());

リターン

Integer - 範囲内の列数。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getWrap()

セル内のテキストが折り返されるかどうかを返します。ラップ戦略をより詳細に取得するには、getWrapStrategy() を使用します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.getWrap());

リターン

Boolean - このセル内のテキストを折り返すかどうか。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getWrapStrategies()

範囲内のセルのテキスト折り返し方法を返します。

// Get the text wrapping strategies for all cells in range B5:C6
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B5:C6");
var strategies = range.getWrapStrategies();

for (var i = 0; i < strategies.length; i++) {
  for (var j = 0; j < strategies[i].length; j++) {
    Logger.log(strategies[i][j]);
  }
}

リターン

WrapStrategy[][] - テキストの折り返し方法の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getWrapStrategy()

範囲の左上のセルに対するテキストの折り返し方法を返します。

// Get the text wrapping strategy of cell B1.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B1:D4");
Logger.log(range.getWrapStrategy());

リターン

WrapStrategy - 範囲内の左上のセルのテキスト折り返し方法。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getWraps()

セル内のテキストが折り返されるかどうかを返します。ラップ戦略をより詳細に取得するには、getWrapStrategies() を使用します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

var results = range.getVerticalAlignments();

for (var i in results) {
  for (var j in results[i]) {
    var isWrapped = results[i][j];
    if (isWrapped) {
       Logger.log("Cell [%s, %s] has wrapped text", i, j);
    }
  }
}

リターン

Boolean[][] - 範囲内のセルに関連付けられたテキストの垂直方向の配置の 2 次元配列。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

insertCells(shiftDimension)

この範囲に空白セルを挿入します。新しいセルでは、以前この範囲を占有していたセルの書式設定が保持されます。指定されたディメンションに対応するシート内の既存のデータは、挿入された範囲からシフトします。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:D10");
range.insertCells(SpreadsheetApp.Dimension.COLUMNS);

パラメータ

名前説明
shiftDimensionDimension既存のデータをシフトするディメンション。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

insertCheckboxes()

範囲内の各セルにチェックボックスを挿入します。オンの場合は true、オフの場合は false で構成します。範囲内のすべてのセルの値を false に設定します。

var range = SpreadsheetApp.getActive().getRange('A1:B10');

// Inserts checkboxes into each cell in the range A1:B10 configured with 'true' for checked
// and 'false' for unchecked. Also, sets the value of each cell in the range A1:B10 to 'false'.
range.insertCheckboxes();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

insertCheckboxes(checkedValue)

範囲内の各セルにチェックボックスを挿入します。オンの場合はカスタム値、オフの場合は空の文字列が設定されます。範囲内の各セルの値を空の文字列に設定します。

var range = SpreadsheetApp.getActive().getRange('A1:B10');

// Inserts checkboxes into each cell in the range A1:B10 configured with 'yes' for checked
// and the empty string for unchecked. Also, sets the value of each cell in the range A1:B10 to
//  the empty string.
range.insertCheckboxes('yes');

パラメータ

名前説明
checkedValueObjectチェックボックスのデータ検証でオンになっている値。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

insertCheckboxes(checkedValue, uncheckedValue)

チェックボックスを範囲内の各セルに挿入します。チェックボックスは、オンの状態とオフの状態を表すカスタム値で構成されます。範囲内の各セルの値を、カスタムのチェックボックスがオフになっている値に設定します。

var range = SpreadsheetApp.getActive().getRange('A1:B10');

// Inserts checkboxes into each cell in the range A1:B10 configured with 'yes' for checked
// and 'no' for unchecked. Also, sets the value of each cell in the range A1:B10 to 'no'.
range.insertCheckboxes('yes', 'no');

パラメータ

名前説明
checkedValueObjectチェックボックスのデータ検証でオンになっている値。
uncheckedValueObjectチェックボックスのデータ検証のチェックボックスがオフになっている値。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isBlank()

範囲が完全に空白の場合、true を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");

Logger.log(range.isBlank());

リターン

Boolean - 範囲が空白の場合は true、それ以外の場合は false

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isChecked()

範囲内のすべてのセルのチェックボックスの状態が「オン」かどうかを返します。一部のセルがオンになっていて残りがオフの場合、またはチェックボックスによるデータ検証のないセルがある場合は、null を返します。

var range = SpreadsheetApp.getActive().getRange('A1:A3');

// Inserts checkboxes and sets each cell value to 'no' in the range A1:A3.
range.insertCheckboxes('yes', 'no');

var range1 = SpreadsheetApp.getActive().getRange('A1');
range1.setValue('yes');
// Sets the value of isRange1Checked as true as it contains the checked value.
var isRange1Checked = range1.isChecked();

var range2 = SpreadsheetApp.getActive().getRange('A2');
range2.setValue('no');
// Sets the value of isRange2Checked as false as it contains the unchecked value.
var isRange2Checked = range2.isChecked();

var range3 = SpreadsheetApp.getActive().getRange('A3');
range3.setValue('random');
// Sets the value of isRange3Checked as null, as it contains an invalid checkbox value.
var isRange3Checked = range3.isChecked();

リターン

Boolean - true(範囲内のすべてのセルがオンの場合)、false(範囲内のすべてのセルのチェックボックスがオフになっている場合)または null(いずれかのセルがオフの場合、またはチェックボックスのデータ検証がない場合)。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isEndColumnBounded()

範囲の末尾を特定の列にバインドするかどうかを指定します。たとえば、範囲の末尾の列にバインドされる範囲 A1:B10 または B:B の場合、このメソッドは true を返します。範囲の最後にある特定の行にのみバインドされている範囲 3:7 または A1:5 の場合、このメソッドは false を返します。

 // Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:D10 on Sheet1.
const range = sheet.getRange('A1:D10');

// Determines if the end of the range is bound to a particular column and logs it to the
// console.
console.log(range.isEndColumnBounded());

リターン

Boolean - 範囲の末尾が特定の列にバインドされている場合は true、それ以外の場合は false

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isEndRowBounded()

範囲の末尾を特定の行にバインドするかどうかを指定します。たとえば、範囲の最後にある行にバインドされる範囲 A1:B10 または 3:7 の場合、このメソッドは true を返します。範囲の最後にある特定の列のみにバインドされる範囲 B:B または A1:C の場合、このメソッドは false を返します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:D10 on Sheet1.
const range = sheet.getRange('A1:D10');

// Determines if the end of the range is bound to a particular row and logs it to the console.
console.log(range.isEndRowBounded());

リターン

Boolean - 範囲の末尾が特定の行にバインドされている場合は true、それ以外の場合は false

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isPartOfMerge()

現在の範囲内のセルが結合したセルと重なる場合に、true を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("A1:B3");

// True if any of the cells in A1:B3 is included in a merge.
var isPartOfMerge = range.isPartOfMerge();

リターン

Boolean - 範囲が結合されたセルと重なる場合は true を返します。それ以外の場合は false を返します。


isStartColumnBounded()

範囲の先頭を特定の列にバインドするかどうかを指定します。たとえば、範囲の先頭で列にバインドされる範囲 A1:B10 または B:B の場合、このメソッドは true を返します。範囲の先頭の行にのみバインドされている範囲 3:7 の場合、このメソッドは false を返します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:D10 on Sheet1.
const range = sheet.getRange('A1:D10');

// Determines if the start of the range is bound to a particular column and logs it to the
// console.
console.log(range.isStartColumnBounded());

リターン

Boolean - 範囲の先頭が特定の列にバインドされている場合は true、それ以外の場合は false

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isStartRowBounded()

範囲の先頭を特定の行にバインドするかどうかを指定します。たとえば、範囲の先頭にある行にバインドされる範囲 A1:B10 または 3:7 の場合、このメソッドは true を返します。範囲の先頭にある特定の列にのみバインドされている範囲 B:B の場合、このメソッドは false を返します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets the range A1:D10 on Sheet1.
const range = sheet.getRange('A1:D10');

// Determines if the start of the range is bound to a particular row and logs it to the
// console.
console.log(range.isStartRowBounded());

リターン

Boolean - 範囲の先頭が特定の行にバインドされている場合は true、それ以外の場合は false

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

merge()

範囲内のセルを 1 つのブロックに結合します。

var sheet = SpreadsheetApp.getActiveSheet();

// The code below 2-dimensionally merges the cells in A1 to B3
sheet.getRange('A1:B3').merge();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

mergeAcross()

範囲内の列のすべてのセルを結合します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The code below merges cells C5:E5 into one cell
var range1 = sheet.getRange("C5:E5");
range1.mergeAcross();

// The code below creates 2 horizontal cells, F5:H5 and F6:H6
var range2 = sheet.getRange("F5:H6");
range2.mergeAcross();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

mergeVertically()

範囲内のセルを結合します。

var sheet = SpreadsheetApp.getActiveSheet();

// The code below vertically merges the cells in A1 to A10
sheet.getRange('A1:A10').mergeVertically();

// The code below creates 3 merged columns: B1 to B10, C1 to C10, and D1 to D10
sheet.getRange('B1:D10').mergeVertically();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

moveTo(target)

この範囲から対象範囲に(形式と値の両方)を切り取って貼り付けます。

// The code below moves the first 5 columns over to the 6th column
var sheet = SpreadsheetApp.getActiveSheet()
sheet.getRange("A1:E").moveTo(sheet.getRange("F1"));

パラメータ

名前説明
targetRangeこの範囲のコピー先となるターゲット範囲。左上のセルの位置のみに関連します。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

offset(rowOffset, columnOffset)

この範囲から、指定された行数と列数(負の数も可能)だけオフセットされた新しい範囲を返します。新しい範囲のサイズは元の範囲と同じになります。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("A1");

// newCell references B2
var newCell = cell.offset(1, 1);

パラメータ

名前説明
rowOffsetInteger範囲の左上のセルから下の行の数。負の値は、範囲の左上のセルから上の行を表します。
columnOffsetInteger範囲の左上のセルから右側の列の数。負の値は、範囲の左上のセルから左側の列を表します。

リターン

Range - チェーン用のこの範囲。


offset(rowOffset, columnOffset, numRows)

現在の範囲を基準として、現在の範囲から指定された行と列の位置を左上端とし、セルに指定された高さを持つ新しい範囲を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("A1");

// newCell references B2:B3
var newRange = cell.offset(1, 1, 2);

パラメータ

名前説明
rowOffsetInteger範囲の左上のセルから下の行の数。負の値は、範囲の左上のセルから上の行を表します。
columnOffsetInteger範囲の左上のセルから右側の列の数。負の値は、範囲の左上のセルから左側の列を表します。
numRowsInteger新しい範囲の行の高さ。

リターン

Range - チェーン用のこの範囲。


offset(rowOffset, columnOffset, numRows, numColumns)

現在の範囲を基準として、現在の範囲から指定された行と列分のオフセット、セル内に指定された高さと幅を持つ新しい範囲を返します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("A1");

// newCell references B2:C3
var newRange = cell.offset(1, 1, 2, 2);

パラメータ

名前説明
rowOffsetInteger範囲の左上のセルから下の行の数。負の値は、範囲の左上のセルから上の行を表します。
columnOffsetInteger範囲の左上のセルから右側の列の数。負の値は、範囲の左上のセルから左側の列を表します。
numRowsInteger新しい範囲の行の高さ。
numColumnsInteger新しい範囲の幅(列単位)。

リターン

Range - チェーン用のこの範囲。


protect()

権限を持つユーザーによる編集から範囲を保護できるオブジェクトを作成します。スクリプトが(Protection.removeEditor(emailAddress)Protection.removeEditor(user)Protection.removeEditors(emailAddresses)Protection.addEditor(emailAddress)Protection.addEditor(user)Protection.addEditors(emailAddresses) の呼び出し、または Protection.setDomainEdit(editable) の新しい値の設定によって)範囲の編集者のリストを変更するまで、権限はスプレッドシート自体の権限を反映します。つまり、範囲は実質的に保護されません。範囲がすでに保護されている場合、このメソッドは既存の範囲と重複する新しい保護範囲を作成します。1 つのセルが複数の保護されている範囲で保護されている場合、その範囲のいずれかで特定のユーザーがセルを編集できない場合、そのユーザーはセルを編集できません。

// Protect range A1:B10, then remove all other users from the list of editors.
var ss = SpreadsheetApp.getActive();
var range = ss.getRange('A1:B10');
var protection = range.protect().setDescription('Sample protected range');

// Ensure the current user is an editor before removing others. Otherwise, if the user's edit
// permission comes from a group, the script throws an exception upon removing the group.
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
  protection.setDomainEdit(false);
}

リターン

Protection - 保護設定を表すオブジェクト。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

randomize()

指定された範囲内の行の順序をランダム化します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:C7");

// Randomizes the range
range.randomize();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeCheckboxes()

範囲からすべてのチェックボックスを削除します。各セルのデータ検証をクリアします。また、セルにチェックボックスのオン / オフの値が含まれている場合は、さらにその値をクリアします。

var range = SpreadsheetApp.getActive().getRange('A1:B10');

// Inserts checkboxes and sets each cell value to 'no' in the range A1:B10.
range.insertCheckboxes('yes', 'no');

var range1 = SpreadsheetApp.getActive().getRange('A1');
range1.setValue('yes');
// Removes the checkbox data validation in cell A1 and clears its value.
range1.removeCheckboxes();

var range2 = SpreadsheetApp.getActive().getRange('A2');
range2.setValue('random');
// Removes the checkbox data validation in cell A2 but does not clear its value.
range2.removeCheckboxes();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeDuplicates()

この範囲内で、前の行の値と重複する値を含む行を削除します。同じ値であっても、大文字と小文字、書式、数式が異なる行は、重複とみなされます。このメソッドは、フィルタなどが原因で非表示になっている重複行も削除します。この範囲外のコンテンツは削除されません。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B1:D7");

// Remove duplicate rows in the range.
range.removeDuplicates();

リターン

Range - 重複を削除した後の結果の範囲。範囲のサイズは、行が削除されるたびに 1 行ずつ縮小されます。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeDuplicates(columnsToCompare)

この範囲内で、指定された列の値と前の行の値と重複する値を含む行を削除します。同じ値で大文字、小文字、書式、数式が異なる行は、重複とみなされます。このメソッドは、フィルタなどが原因でビューに表示されない重複行も削除します。この範囲外のコンテンツは削除されません。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B1:D7");

// Remove rows which have duplicate values in column B.
range.removeDuplicates([2]);

// Remove rows which have duplicate values in both columns B and D.
range.removeDuplicates([2,4]);

パラメータ

名前説明
columnsToCompareInteger[]重複値を分析する対象の列。列を指定しない場合、すべての列で重複が分析されます。

リターン

Range - 重複を削除した後の結果の範囲。範囲のサイズは、行が削除されるたびに 1 行ずつ縮小されます。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setBackground(color)

範囲内のすべてのセルの背景色を CSS 表記('#ffffff''white' など)で設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B2:D5");
range.setBackground("red");

パラメータ

名前説明
colorStringCSS 表記の色コード(例: '#ffffff''white')。null 値で色をリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setBackgroundObject(color)

範囲内のすべてのセルの背景色を設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var bgColor = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.BACKGROUND)
    .build();

var range = sheet.getRange("B2:D5");
range.setBackgroundObject(bgColor);

パラメータ

名前説明
colorColor設定する背景色。null の値を指定すると、背景色がリセットされます。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setBackgroundObjects(color)

背景色の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var colorAccent1 = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT1)
    .build();
var colorAccent2 = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT2)
    .build();
var colorAccent3 = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT3)
    .build();
var colorAccent4 = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT4)
    .build();

var colors = [
  [colorAccent1, colorAccent2],
  [colorAccent3, colorAccent4]
];

var cell = sheet.getRange("B5:C6");
cell.setBackgroundObjects(colors);

パラメータ

名前説明
colorColor[][]2 次元の色の配列。null の値は色をリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setBackgroundRGB(red, green, blue)

RGB 値(0 ~ 255 の整数)を使用して、指定した色に背景を設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");

// Sets the background to white
cell.setBackgroundRGB(255, 255, 255);

// Sets the background to red
cell.setBackgroundRGB(255, 0, 0);

パラメータ

名前説明
redIntegerRGB 表記の赤の値。
greenIntegerRGB 表記の緑の値。
blueIntegerRGB 表記の青色の値。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setBackgrounds(color)

背景色の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。色は CSS 表記('#ffffff''white' など)で指定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var colors = [
  ["red", "white", "blue"],
  ["#FF0000", "#FFFFFF", "#0000FF"] // These are the hex equivalents
];

var cell = sheet.getRange("B5:D6");
cell.setBackgrounds(colors);

パラメータ

名前説明
colorString[][]CSS 表記('#ffffff''white' など)で表した 2 次元の色の配列。null 値を指定すると色をリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setBorder(top, left, bottom, right, vertical, horizontal)

枠線プロパティを設定します。有効な値は true(オン)、false(オフ)、null(変更なし)です。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
// Sets borders on the top and bottom, but leaves the left and right unchanged
cell.setBorder(true, null, true, null, false, false);

パラメータ

名前説明
topBoolean枠線の場合は true、なしの場合は false、変更しない場合は null を指定します。
leftBoolean枠線の場合は true、なしの場合は false、変更しない場合は null を指定します。
bottomBoolean枠線の場合は true、なしの場合は false、変更しない場合は null を指定します。
rightBoolean枠線の場合は true、なしの場合は false、変更しない場合は null を指定します。
verticalBoolean内側の縦枠線は true、なしの場合は false、変更しない場合は null です。
horizontalBoolean内部の水平枠線は true、なしの場合は false、変更しない場合は null です。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setBorder(top, left, bottom, right, vertical, horizontal, color, style)

枠線のプロパティを色やスタイルで設定します。有効な値は true(オン)、false(オフ)、null(変更なし)です。色には、CSS 表記('#ffffff''white' など)で色を使用します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
// Sets borders on the top and bottom, but leaves the left and right unchanged
// Also sets the color to "red", and the border to "DASHED".
cell.setBorder(true, null, true, null, false, false, "red", SpreadsheetApp.BorderStyle.DASHED);

パラメータ

名前説明
topBoolean枠線の場合は true、なしの場合は false、変更しない場合は null を指定します。
leftBoolean枠線の場合は true、なしの場合は false、変更しない場合は null を指定します。
bottomBoolean枠線の場合は true、なしの場合は false、変更しない場合は null を指定します。
rightBoolean枠線の場合は true、なしの場合は false、変更しない場合は null を指定します。
verticalBoolean内側の縦枠線は true、なしの場合は false、変更しない場合は null です。
horizontalBoolean内部の水平枠線は true、なしの場合は false、変更しない場合は null です。
colorStringCSS 表記の色('#ffffff''white' など)。null はデフォルトの色(黒)を表します。
styleBorderStyle枠線のスタイル。デフォルトのスタイル(単色)の場合は null

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setDataValidation(rule)

範囲内のすべてのセルに対して 1 つのデータ入力規則を設定します。

// Set the data validation rule for cell A1 to require a value from B1:B10.
var cell = SpreadsheetApp.getActive().getRange('A1');
var range = SpreadsheetApp.getActive().getRange('B1:B10');
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(range).build();
cell.setDataValidation(rule);

パラメータ

名前説明
ruleDataValidation設定するデータの入力規則です。データの入力規則を削除する場合は null を指定します。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setDataValidations(rules)

範囲内のすべてのセルに対してデータの入力規則を設定します。このメソッドは、データ検証の 2 次元配列を受け取り、行と列でインデックス付けします。配列のディメンションは、範囲のディメンションに対応している必要があります。

// Set the data validation rules for Sheet1!A1:B5 to require a value from Sheet2!A1:A10.
var destinationRange = SpreadsheetApp.getActive().getSheetByName('Sheet1').getRange('A1:B5');
var sourceRange = SpreadsheetApp.getActive().getSheetByName('Sheet2').getRange('A1:A10');
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange).build();
var rules = destinationRange.getDataValidations();
for (var i = 0; i < rules.length; i++) {
  for (var j = 0; j < rules[i].length; j++) {
    rules[i][j] = rule;
  }
}
destinationRange.setDataValidations(rules);

パラメータ

名前説明
rulesDataValidation[][]設定するデータ検証ルールの 2 次元配列。null 値を指定すると、データ検証が削除されます。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontColor(color)

フォントの色を CSS 表記('#ffffff''white' など)で設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setFontColor("red");

パラメータ

名前説明
colorStringCSS 表記('#ffffff''white' など)によるフォントの色。null 値で色をリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontColorObject(color)

指定した範囲のフォントの色を設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var color = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.TEXT)
    .build();

var cell = sheet.getRange("B2");
cell.setFontColor(color);

パラメータ

名前説明
colorColor設定するフォントの色。null の値で色をリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontColorObjects(colors)

フォントの色の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var colorAccent1 = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT1)
    .build();
var colorAccent2 = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT2)
    .build();
var colorAccent3 = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT3)
    .build();
var colorAccent4 = SpreadsheetApp.newColor()
    .setThemeColor(SpreadsheetApp.ThemeColorType.ACCENT4)
    .build();

var colors = [
  [colorAccent1, colorAccent2],
  [colorAccent3, colorAccent4]
];

var cell = sheet.getRange("B5:C6");
cell.setFontColorObjects(colors);

パラメータ

名前説明
colorsColor[][]2 次元の色の配列。null の値はフォントの色をリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontColors(colors)

フォントの色の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。色は CSS 表記('#ffffff''white' など)で指定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var colors = [
  ["red", "white", "blue"],
  ["#FF0000", "#FFFFFF", "#0000FF"] // These are the hex equivalents
];

var cell = sheet.getRange("B5:D6");
cell.setFontColors(colors);

パラメータ

名前説明
colorsObject[][]CSS 表記('#ffffff''white' など)で表した 2 次元の色の配列。null 値を指定すると色をリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontFamilies(fontFamilies)

フォント ファミリーの長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。フォント ファミリーの例は「snippet」や「Helvetica」です。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var fonts = [
  ["Arial", "Helvetica", "Verdana"],
  ["Courier New", "Arial", "Helvetica]
];

var cell = sheet.getRange("B2:D3");
cell.setFontFamilies(fonts);

パラメータ

名前説明
fontFamiliesObject[][]フォント ファミリーの 2 次元配列。null の値はフォント ファミリーをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontFamily(fontFamily)

フォント ファミリーを設定します(「snippet」や「Helvetica」など)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setFontFamily("Helvetica");

パラメータ

名前説明
fontFamilyString設定するフォント ファミリー。null の値でフォント ファミリーがリセットされます。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontLine(fontLine)

指定された範囲('underline''line-through'、または 'none')のフォント ライン スタイルを設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setFontLine("line-through");

パラメータ

名前説明
fontLineStringフォントの線のスタイル('underline''line-through''none')。null の値は、フォントの線のスタイルをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontLines(fontLines)

線スタイルの長方形グリッドを設定します(この範囲のサイズと一致する必要があります)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var fontLines = [
  ["underline", "line-through", "none"]
];

var range = sheet.getRange("B2:D2");
range.setFontLines(fontLines);

パラメータ

名前説明
fontLinesObject[][]フォントの線スタイルの 2 次元配列('underline''line-through'、または 'none')。null の値は、フォントの線のスタイルをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontSize(size)

フォントサイズを設定します。サイズは、使用するポイントのサイズです。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setFontSize(20);

パラメータ

名前説明
sizeIntegerフォントサイズ(ポイントサイズ)。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontSizes(sizes)

フォントサイズの長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。サイズはポイント数で指定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var fontSizes = [
  [16, 20, 24]
];

var range = sheet.getRange("B2:D2");
range.setFontSizes(fontSizes);

パラメータ

名前説明
sizesObject[][]サイズの 2 次元配列。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontStyle(fontStyle)

指定した範囲('italic' または 'normal')のフォント スタイルを設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setFontStyle("italic");

パラメータ

名前説明
fontStyleStringフォント スタイル('italic' または 'normal')。null 値はフォント スタイルをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontStyles(fontStyles)

フォント スタイルの長方形グリッドを設定します(この範囲のサイズと一致する必要があります)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var fontStyles = [
  ["italic", "normal"]
];

var range = sheet.getRange("B2:C2");
range.setFontStyles(fontStyles);

パラメータ

名前説明
fontStylesObject[][]フォント スタイルの 2 次元配列('italic' または 'normal')。null の値はフォント スタイルをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontWeight(fontWeight)

指定した範囲のフォントの太さを設定します(標準/太字)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setFontWeight("bold");

パラメータ

名前説明
fontWeightStringフォントの太さ('bold' または 'normal')。null 値はフォントの太さをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFontWeights(fontWeights)

フォントの太さの長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。フォントの太さの例は「太字」です。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var fontStyles = [
  [ "bold", "bold", "normal" ]
];

var range = sheet.getRange("B2:D2");
range.setFontWeights(fontStyles);

パラメータ

名前説明
fontWeightsObject[][]フォントの太さ('bold' または 'normal')の 2 次元配列。null の値は、フォントの太さをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFormula(formula)

この範囲の数式を更新します。数式は A1 表記にする必要があります。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B5");
cell.setFormula("=SUM(B3:B4)");

パラメータ

名前説明
formulaStringセルに設定する数式を表す文字列。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFormulaR1C1(formula)

この範囲の数式を更新します。数式は R1C1 表記にする必要があります。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B5");
// This sets the formula to be the sum of the 3 rows above B5
cell.setFormulaR1C1("=SUM(R[-3]C[0]:R[-1]C[0])");

パラメータ

名前説明
formulaString文字列式。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFormulas(formulas)

数式の長方形のグリッドを設定します(この範囲のディメンションと一致する必要があります)。数式は A1 表記にする必要があります。このメソッドは、行でインデックス、列でインデックス付けされた、数式の 2 次元配列を受け取ります。配列のディメンションは、範囲のディメンションに対応している必要があります。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// This sets the formulas to be a row of sums, followed by a row of averages right below.
// The size of the two-dimensional array must match the size of the range.
var formulas = [
  ["=SUM(B2:B4)", "=SUM(C2:C4)", "=SUM(D2:D4)"],
  ["=AVERAGE(B2:B4)", "=AVERAGE(C2:C4)", "=AVERAGE(D2:D4)"]
];

var cell = sheet.getRange("B5:D6");
cell.setFormulas(formulas);

パラメータ

名前説明
formulasString[][]数式の 2 次元の文字列配列。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setFormulasR1C1(formulas)

数式の長方形のグリッドを設定します(この範囲のディメンションと一致する必要があります)。数式は R1C1 表記にする必要があります。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// This creates formulas for a row of sums, followed by a row of averages.
var sumOfRowsAbove = "=SUM(R[-3]C[0]:R[-1]C[0])";
var averageOfRowsAbove = "=AVERAGE(R[-4]C[0]:R[-2]C[0])";

// The size of the two-dimensional array must match the size of the range.
var formulas = [
  [sumOfRowsAbove, sumOfRowsAbove, sumOfRowsAbove],
  [averageOfRowsAbove, averageOfRowsAbove, averageOfRowsAbove]
];

var cell = sheet.getRange("B5:D6");
// This sets the formula to be the sum of the 3 rows above B5.
cell.setFormulasR1C1(formulas);

パラメータ

名前説明
formulasString[][]数式の 2 次元配列(R1C1 形式)。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setHorizontalAlignment(alignment)

指定した範囲(左/中央/右)の水平方向の配置(左から右)を設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setHorizontalAlignment("center");

パラメータ

名前説明
alignmentStringアライメント('left''center''normal' のいずれか)。null 値はアライメントをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setHorizontalAlignments(alignments)

水平方向の配置の長方形のグリッドを設定します。setHorizontalAlignment(alignment) をご覧ください。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var horizontalAlignments = [
  [ "left", "right", "center" ]
];

var range = sheet.getRange("B2:D2");
range.setHorizontalAlignments(horizontalAlignments);

パラメータ

名前説明
alignmentsObject[][]'left''center''normal' のいずれかの位置揃えの 2 次元配列。null 値は位置揃えをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

関連ドキュメント


setNote(note)

指定された値にメモを設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setNote("This is a note");

パラメータ

名前説明
noteString範囲に設定するメモの値です。null の値を指定すると、メモが削除されます。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setNotes(notes)

メモの長方形グリッドを設定します(この範囲のサイズと一致する必要があります)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var notes = [
  ["it goes", "like this", "the fourth, the fifth"],
  ["the minor fall", "and the", "major lift"]
];

var cell = sheet.getRange("B2:D3");
cell.setNotes(notes)

パラメータ

名前説明
notesObject[][]メモの 2 次元配列。null 値によりメモが削除されます。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

関連ドキュメント


setNumberFormat(numberFormat)

数値または日付の形式を、指定された書式設定文字列に設定します。使用可能な形式パターンについては、Sheets API のドキュメントをご覧ください。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
// Always show 3 decimal points
cell.setNumberFormat("0.000");

パラメータ

名前説明
numberFormatString数値形式文字列。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setNumberFormats(numberFormats)

数値形式または日付形式の長方形グリッドを設定します(この範囲の寸法と一致する必要があります)。値は、 Sheets API ドキュメントで説明されている形式のパターン文字列です。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var formats = [
  [ "0.000", "0,000,000", "$0.00" ]
];

var range = sheet.getRange("B2:D2");
range.setNumberFormats(formats);

パラメータ

名前説明
numberFormatsObject[][]数値形式の 2 次元配列。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRichTextValue(value)

範囲内のセルにリッチテキスト値を設定します。

// Sets all cells in range B2:D4 to have the text "Hello world", with "Hello" bolded.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B2:D4");
var bold = SpreadsheetApp.newTextStyle()
    .setBold(true)
    .build();
var richText = SpreadsheetApp.newRichTextValue()
    .setText("Hello world")
    .setTextStyle(0, 5, bold)
    .build();
range.setRichTextValue(richText);

パラメータ

名前説明
valueRichTextValue目的のリッチテキスト値。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRichTextValues(values)

リッチテキスト値で長方形のグリッドを設定します。

// Sets the cells in range A1:A2 to have Rich Text values.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1:A2");
var bold = SpreadsheetApp.newTextStyle()
    .setBold(true)
    .build();
var italic = SpreadsheetApp.newTextStyle()
    .setItalic(true)
    .build();
var richTextA1 = SpreadsheetApp.newRichTextValue()
    .setText("This cell is bold")
    .setTextStyle(bold)
    .build();
var richTextA2 = SpreadsheetApp.newRichTextValue()
    .setText("bold words, italic words")
    .setTextStyle(0, 11, bold)
    .setTextStyle(12, 24, italic)
    .build();
range.setRichTextValues([[richTextA1], [richTextA2]]);

パラメータ

名前説明
valuesRichTextValue[][]目的のリッチテキスト値。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

範囲にハイパーリンクを表示するかどうかを設定します。

// Opens the spreadsheet file by its URL. If you created your script from within a
// Google Sheets file, you can useSpreadsheetApp.getActiveSpreadsheet() instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/abc123456/edit');

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets cell A30 and sets its hyperlink value.
const range = sheet.getRange('A30');
range.setValue('https://www.example.com');

// Sets cell A30 to show hyperlinks.
range.setShowHyperlink(true);

パラメータ

名前説明
showHyperlinkBooleanハイパーリンクを表示するかどうかを指定します。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setTextDirection(direction)

範囲内のセルのテキスト方向を設定します。指定された方向が null の場合は、方向が推測されて設定されます。

// Sets right-to-left text direction for the range.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B5:C6");
range.setTextDirection(SpreadsheetApp.TextDirection.RIGHT_TO_LEFT);

パラメータ

名前説明
directionTextDirection目的のテキスト方向。null の場合、設定する前に方向が推測されます。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setTextDirections(directions)

テキスト方向の長方形のグリッドを設定します。指定した方向が null の場合は、その方向が推測されてから設定されます。

// Copies all of the text directions from range A1:B2 over to range C5:D6.
var sheet = SpreadsheetApp.getActiveSheet();
var range1 = sheet.getRange("A1:B2");
var range2 = sheet.getRange("C5:D6");

range2.setTextRotations(range1.getTextDirections());

パラメータ

名前説明
directionsTextDirection[][]目的のテキストの方向。指定された方向が null の場合は、設定する前に推測されます。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setTextRotation(degrees)

範囲内のセルのテキスト回転設定を設定します。入力は、標準のテキストの向きと目的の向きとの間の角度に対応します。ゼロの入力は、テキストが標準の向きに設定されていることを示します。

テキスト方向の左から右の場合、正の角は反時計回り、右から左は時計回りです。

// Sets all cell's in range B2:D4 to have text rotated up 45 degrees.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B2:D4");

range.setTextRotation(45);

パラメータ

名前説明
degreesInteger標準の向きと目的の向きの間の角度。左から右へのテキストの場合、正の角は反時計回りになります。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setTextRotation(rotation)

範囲内のセルのテキスト回転設定を設定します。

// Sets all cell's in range B2:D4 to have the same text rotation settings as cell A1.
var sheet = SpreadsheetApp.getActiveSheet();

var rotation = sheet.getRange("A1").getTextRotation();

sheet.getRange("B2:D4").setTextRotation(rotation);

パラメータ

名前説明
rotationTextRotation目的のテキストの回転設定。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setTextRotations(rotations)

テキストを回転させるための長方形のグリッドを設定します。

// Copies all of the text rotations from range A1:B2 over to range C5:D6.
var sheet = SpreadsheetApp.getActiveSheet();
var range1 = sheet.getRange("A1:B2");
var range2 = sheet.getRange("C5:D6");

range2.setTextRotations(range1.getTextRotations());

パラメータ

名前説明
rotationsTextRotation[][]目的のテキストの回転設定。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setTextStyle(style)

範囲内のセルのテキスト スタイルを設定します。

// Sets the cells in range C5:D6 to have underlined size 15 font.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("C5:D6");
var style = SpreadsheetApp.newTextStyle()
    .setFontSize(15)
    .setUnderline(true)
    .build();
range.setTextStyle(style);

パラメータ

名前説明
styleTextStyle目的のテキスト スタイル。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setTextStyles(styles)

テキスト スタイルの長方形のグリッドを設定します。

// Sets text styles for cells in range A1:B2
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("A1:B2");
var bold = SpreadsheetApp.newTextStyle()
    .setBold(true)
    .build();
var otherStyle = SpreadsheetApp.newTextStyle()
    .setBold(true)
    .setUnderline(true)
    .setItalic(true)
    .setForegroundColor("#335522")
    .setFontSize(44)
    .build();
range.setTextStyles([[bold, otherStyle], [otherStyle, bold]]);

パラメータ

名前説明
stylesTextStyle[][]目的のテキスト スタイル。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setValue(value)

範囲の値を設定します。値は、数値、文字列、ブール値、日付のいずれかです。'=' で始まる場合は数式として解釈されます。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setValue(100);

パラメータ

名前説明
valueObject範囲の値。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setValues(values)

値の長方形のグリッドを設定します(この範囲のディメンションと一致する必要があります)。値が = で始まる場合、数式として解釈されます。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var values = [
  [ "2.000", "1,000,000", "$2.99" ]
];

var range = sheet.getRange("B2:D2");
range.setValues(values);

パラメータ

名前説明
valuesObject[][]2 次元の値の配列。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setVerticalAlignment(alignment)

指定した範囲(上部から中央、下部)の垂直方向の配置を設定します。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setVerticalAlignment("middle");

パラメータ

名前説明
alignmentStringアライメント('top''middle''bottom' のいずれか)。null 値はアライメントをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setVerticalAlignments(alignments)

垂直方向の配置の長方形のグリッドを設定します(この範囲のサイズと一致する必要があります)。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var alignments = [
  [ "top", "middle", "bottom" ]
];

var range = sheet.getRange("B2:D2");
range.setVerticalAlignments(alignments);

パラメータ

名前説明
alignmentsObject[][]'top''middle''bottom' のいずれかの位置揃えの 2 次元配列。null 値は位置揃えをリセットします。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

関連ドキュメント


setVerticalText(isVertical)

範囲内のセルにテキストを積み重ねるかどうかを設定します。テキストが縦方向に積み重ねられている場合、テキスト回転角度の設定は無視されます。

// Sets all cell's in range B2:D4 to have vertically stacked text.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B2:D4");

range.setVerticalText(true);

パラメータ

名前説明
isVerticalBooleanテキストをスタックするかどうか。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setWrap(isWrapEnabled)

指定した範囲のセル折り返しを設定します。

折り返しが有効(デフォルト)のセルは、コンテンツ全体を表示するようにサイズ変更されます。折り返しが無効化されたセルは、サイズ変更や複数行への実行を行わずに、可能な限りセル内に表示されます。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B2");
cell.setWrap(true);

パラメータ

名前説明
isWrapEnabledBooleanテキストを折り返すかどうか。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setWrapStrategies(strategies)

ラップ戦略の長方形のグリッドを設定します。

// Copies all of the wrap strategies from range A1:B2 over to range C5:D6.
var sheet = SpreadsheetApp.getActiveSheet();
var range1 = sheet.getRange("A1:B2");
var range2 = sheet.getRange("C5:D6");

range2.setWrapStrategies(range1.getWrapStrategies());

パラメータ

名前説明
strategiesWrapStrategy[][]目的のラッピング戦略。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setWrapStrategy(strategy)

範囲内のセルのテキスト折り返し方法を設定します。

// Sets all cells in range B2:D4 to use the clip wrap strategy.
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("B2:D4");

range.setWrapStrategy(SpreadsheetApp.WrapStrategy.CLIP);

パラメータ

名前説明
strategyWrapStrategy目的のラッピング戦略。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setWraps(isWrapEnabled)

ワードラップ ポリシーの長方形のグリッドを設定します(この範囲のサイズと一致している必要があります)。折り返しが有効(デフォルト)になっているセルは、コンテンツ全体を表示するようにサイズ変更されます。折り返しが無効化されたセルは、サイズ変更や複数行への実行を行わずに、可能な限りセル内に表示されます。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// The size of the two-dimensional array must match the size of the range.
var wraps = [
  [ true, true, false ]
];

var range = sheet.getRange("B2:D2");
range.setWraps(wraps);

パラメータ

名前説明
isWrapEnabledObject[][]セル内でテキストを折り返すかどうかを決定する折り返し変数の 2 次元配列。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

関連ドキュメント


shiftColumnGroupDepth(delta)

範囲の列のグループ化の深さを、指定された量だけ変更します。

これにより、範囲と交差するグループを作成、変更、削除できます。正の差分の場合、グループが作成または変更されます。負の差分の場合、グループは破棄または変更されます。

これは、グループの深度を 0 より小さくしたり 8 より大きくしたりしても効果はありません。

column group control positionBEFORE の場合、最初の行の深度をシフトしようとするとエラーがスローされます。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();

// The column grouping depth is increased by 1.
range.shiftColumnGroupDepth(1);

// The column grouping depth is decreased by 1.
range.shiftColumnGroupDepth(-1);

パラメータ

名前説明
deltaIntegerこの範囲の列グループの深さを変更する量。

リターン

Range - チェーン用のこの範囲。

例外

Error - コントロールの位置が GroupControlTogglePosition.BEFORE のときに最初の列の深さを移動しようとしたとき。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

shiftRowGroupDepth(delta)

範囲の行グループ化の深さを、指定された量だけ変更します。

これにより、範囲と交差するグループを作成、変更、削除できます。正の差分の場合、グループが作成または変更されます。負の差分の場合、グループは破棄または変更されます。

これは、グループの深度を 0 より小さくしたり 8 より大きくしたりしても効果はありません。

row group control positionBEFORE の場合、最初の行の深度をシフトしようとするとエラーがスローされます。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getActiveRange();

// The row grouping depth is increased by 1.
range.shiftRowGroupDepth(1);

// The row grouping depth is decreased by 1.
range.shiftRowGroupDepth(-1);

パラメータ

名前説明
deltaIntegerこの範囲の行グループの深さを変更する量。

リターン

Range - チェーン用のこの範囲。

例外

Error - コントロールの位置が GroupControlTogglePosition.BEFORE のときに最初の行の深さを移動しようとしたとき。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

sort(sortSpecObj)

指定した範囲内のセルを、指定した列および順序で並べ替えます。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:C7");

// Sorts by the values in the first column (A)
range.sort(1);

// Sorts by the values in the second column (B)
range.sort(2);

// Sorts descending by column B
range.sort({column: 2, ascending: false});

// Sorts descending by column B, then ascending by column A
// Note the use of an array
range.sort([{column: 2, ascending: false}, {column: 1, ascending: true}]);

// For rows that are sorted in ascending order, the "ascending" parameter is
// optional, and just an integer with the column can be used instead. Note that
// in general, keeping the sort specification consistent results in more readable
// code. You can express the earlier sort as:
range.sort([{column: 2, ascending: false}, 1]);

// Alternatively, if you want all columns to be in ascending order, you can use
// the following (this makes column 2 ascending)
range.sort([2, 1]);
// ... which is equivalent to
range.sort([{column: 2, ascending: true}, {column: 1, ascending: true}]);

パラメータ

名前説明
sortSpecObjObject並べ替える列です。

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

splitTextToColumns()

自動検出された区切り文字に基づいて、テキストの列を複数の列に分割します。

// A1:A3 has the following values:
//           A                  B                 C
// 1 |one,one,one      |                 |                 |
// 2 |two,two,two      |                 |                 |
// 3 |three,three,three|                 |                 |

var range = SpreadsheetApp.getActiveSheet().getRange("A1:A3");
range.splitTextToColumns();

// Result after spliting the text to columns:
//           A                  B                 C
// 1 |one              |one              |one              |
// 2 |two              |two              |two              |
// 3 |three            |three            |three            |

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

splitTextToColumns(delimiter)

指定された文字列をカスタムの区切り文字として使用し、テキストの列を複数の列に分割します。

// A1:A3 has the following values:
//           A                  B                 C
// 1 |one#one#one      |                 |                 |
// 2 |two#two#two      |                 |                 |
// 3 |three#three#three|                 |                 |

var range = SpreadsheetApp.getActiveSheet().getRange("A1:A3");
range.splitTextToColumns('#');

// Result after spliting the text to columns:
//           A                  B                 C
// 1 |one              |one              |one              |
// 2 |two              |two              |two              |
// 3 |three            |three            |three            |

パラメータ

名前説明
delimiterString分割に使用するカスタム区切り文字。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

splitTextToColumns(delimiter)

指定された区切り文字に基づいて、テキストの列を複数の列に分割します。

// A1:A3 has the following values:
//           A                  B                 C
// 1 |one;one;one      |                 |                 |
// 2 |two;two;two      |                 |                 |
// 3 |three;three;three|                 |                 |

var range = SpreadsheetApp.getActiveSheet().getRange("A1:A3");
range.splitTextToColumns(SpreadsheetApp.TextToColumnsDelimiter.SEMICOLON);

// Result after spliting the text to columns:
//           A                  B                 C
// 1 |one              |one              |one              |
// 2 |two              |two              |two              |
// 3 |three            |three            |three            |

パラメータ

名前説明
delimiterTextToColumnsDelimiter分割に使用するプリセットの区切り文字。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

trimWhitespace()

この範囲内のすべてのセルの空白(スペース、タブ、改行など)を削除します。各セルのテキストの先頭と末尾から空白文字が削除され、残りの空白文字のサブシーケンスが 1 つのスペースにまとめられます。

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var range = sheet.getRange('A1:A4');
range.activate();
range.setValues(
    [' preceding space', 'following space ', 'two  middle  spaces', '   =SUM(1,2)'])

range.trimWhitespace();

var values = range.getValues();
// Values are ['preceding space', 'following space', 'two middle spaces', '=SUM(1,2)']

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

uncheck()

範囲内のチェックボックスの状態を「オフ」に変更します。現在設定されている範囲内またはオフの値が含まれていない セルは無視されます。

// Changes the state of cells which currently contain either the checked or unchecked value
// configured in the range A1:B10 to 'unchecked'.
var range = SpreadsheetApp.getActive().getRange('A1:B10');
range.uncheck();

リターン

Range - チェーン用のこの範囲。

承認

この方法を使用するスクリプトには、次の 1 つ以上のスコープによる承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

サポート終了のメソッド