Class Range

範囲

スプレッドシートの範囲にアクセスして変更する。範囲は、シート内の 1 つのセル、またはシート内の隣接するセルのグループにすることができます。

メソッド

メソッド戻り値の型概要
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()StringA1 表記で範囲の文字列の説明を返します。
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[][]範囲内のセルの HTML 形式のテキスト値を返します。
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)RangeCSS 記法('#ffffff''white' など)でフォントの色を設定します。
setFontColorObject(color)Range指定した範囲のフォントの色を設定します。
setFontColorObjects(colors)Rangeフォントの色の長方形のグリッドを設定します(この範囲のディメンションと一致している必要があります)。
setFontColors(colors)Rangeフォントの色の長方形のグリッドを設定します(この範囲のディメンションと一致している必要があります)。
setFontFamilies(fontFamilies)Rangeフォント ファミリーの長方形のグリッドを設定します(この範囲のサイズと一致している必要があります)。
setFontFamily(fontFamily)Rangeフォント ファミリー(「Arial」や「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 として設定します。

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

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

戻る

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


activateAsCurrentCell()

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

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

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

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

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

// Gets the cell B5 and sets it as the active cell.
const range = sheet.getRange('B5');
const 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 に連続する増加する数値を入力します。

const sheet = SpreadsheetApp.getActiveSheet();

// Has values [1, 2, 3, 4].
const sourceRange = sheet.getRange('A1:A4');
// The range to fill with values.
const 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 列の値を含むセルに「貼り付け」られます。

const sheet = SpreadsheetApp.getActiveSheet();

// A1:A20 has values [1, 2, 3, ... 20].
// B1:B4 has values [1/1/2017, 1/2/2017, ...]
const 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'.
const range = SpreadsheetApp.getActive().getRange('A1:B10');
range.check();

戻る

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

承認

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

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

clear()

コンテンツと形式の範囲を消去します。

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

const 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()

範囲の内容を消去し、書式はそのまま残します。

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

const 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.
const range = SpreadsheetApp.getActive().getRange('A1:B5');
range.clearDataValidations();

戻る

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

承認

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

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

clearFormat()

この範囲の書式をクリアします。

これにより、範囲内のセルのテキスト書式は消去されますが、数値書式ルールはリセットされません。

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

const range = sheet.getRange('A1:D10');
range.clearFormat();

戻る

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

承認

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

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

clearNote()

指定したセルのノートを消去します。

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

const range = sheet.getRange('A1:D10');
range.clearNote();

戻る

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

承認

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

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

collapseGroups()

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

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
const 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() をご覧ください。

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

const 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)

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

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

const 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.
const sheet = SpreadsheetApp.getActiveSheet();
const 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.
const 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.
const 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() をご覧ください。

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

const 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)

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

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

const 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)

データソースから空のデータソース ピボット テーブルを作成し、この範囲の最初のセルをアンカーにします。

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

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

const 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)

この範囲の最初のセルをアンカーとして、データソースから空のデータソース テーブルを作成します。

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

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

const dataSourceTable =
    anchorCell.createDataSourceTable(dataSource)
        .addColumns('dataColumnA', 'dataColumnB', 'dataColumnC')
        .addSortSpec('dataColumnA', true)    // ascending=true
        .addSortSpec('dataColumnB', false);  // 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() を使用します。

const ss = SpreadsheetApp.getActiveSheet();
const 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() {
  const filter = range.getFilter();
  const 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)

範囲のテキスト検索ツールを作成します。このツールを使用すると、範囲内のテキストを検索して置換できます。

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

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

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

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

パラメータ

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

戻る

TextFinder - 範囲の TextFinder


deleteCells(shiftDimension)

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

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

const 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()

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

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
const 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 表記で範囲の文字列の説明を返します。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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')。

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

const cell = sheet.getRange('B5');
Logger.log(cell.getBackground());

戻る

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

承認

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

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

getBackgroundObject()

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

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

const 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()

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

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

const range = sheet.getRange('B5:C6');
const bgColors = range.getBackgroundObjects();
for (const i in bgColors) {
  for (const 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')。

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

const range = sheet.getRange('B5:C6');
const bgColors = range.getBackgrounds();
for (const i in bgColors) {
  for (const 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 (const 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)

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

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

const 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
const cell = range.getCell(1, 1);
Logger.log(cell.getValue());

パラメータ

名前説明
rowInteger範囲を基準とするセルの行。
columnInteger範囲を基準としたセルの列。

戻る

Range - 指定された座標の単一セルを含む範囲。

承認

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

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

getColumn()

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

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

const 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.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const 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.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const 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 は、グラフやクエリの作成に使用できます。

コード.gs

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

  const 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 として返します。

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

// Calling this method with "true" sets the first line to be the title of the
// axes
const 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.
const 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.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = cell.getDataValidation();
if (rule != null) {
  const criteria = rule.getCriteriaType();
  const 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.
const oldDates = [new Date('1/1/2013'), new Date('12/31/2013')];
const newDates = [new Date('1/1/2014'), new Date('12/31/2014')];
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
const rules = range.getDataValidations();

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

    if (rule != null) {
      const criteria = rule.getCriteriaType();
      const 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.
const 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 を返します。

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

戻る

Filter - フィルタ。

承認

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

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

getFontColorObject()

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

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

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

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

const results = range.getFontColorObjects();

for (const i in results) {
  for (const 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()

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

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

const results = range.getFontFamilies();

for (const i in results) {
  for (const 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()

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

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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')。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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')。

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

const results = range.getFontLines();

for (const i in results) {
  for (const 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()

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

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

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

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

const results = range.getFontSizes();

for (const i in results) {
  for (const 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')を返します。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

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

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

const results = range.getFontStyles();

for (const i in results) {
  for (const 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()

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

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

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

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

const results = range.getFontWeights();

for (const i in results) {
  for (const 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 表記)を返します。セルが空であるか式が含まれていない場合は、空の文字列を返します。

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

// This assumes you have a function in B5 that sums up
// B2:B4
const 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 を返します。

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

const range = sheet.getRange('B5');
const formula = range.getFormulaR1C1();
Logger.log(formula);

戻る

String - R1C1 表記の数式。

承認

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

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

getFormulas()

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

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

const range = sheet.getRange('B5:C6');
const formulas = range.getFormulas();
for (const i in formulas) {
  for (const 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 です。

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

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

戻る

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

承認

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

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

getGridId()

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

// Log the grid ID of the first sheet (by tab position) in the spreadsheet.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

範囲の高さを返します。

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

const 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()

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

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

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

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

const results = range.getHorizontalAlignments();

for (const i in results) {
  for (const 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()

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

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

const 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()

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

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

const 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 オブジェクトの配列を返します。

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

const range = sheet.getRange('A1:B3');

const mergedRanges = range.getMergedRanges();
for (let 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.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];

const 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()

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

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

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

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

const results = range.getNotes();

for (const i in results) {
  for (const 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()

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

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

const 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()

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

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

const 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 のドキュメントをご覧ください。

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

const 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 のドキュメントをご覧ください。

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

const range = sheet.getRange('B5:C6');
const formats = range.getNumberFormats();
for (const i in formats) {
  for (const 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.
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('D4:F6');
const richText = range.getRichTextValue();
console.log(richText.getText());

戻る

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

承認

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

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

getRichTextValues()

範囲内のセルの HTML 形式のテキスト値を返します。

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

for (let i = 0; i < values.length; i++) {
  for (let 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() と同じです。

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

const 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() と同じです。

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

const 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.
const sheet = SpreadsheetApp.getActiveSheet();
const 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
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('B5:C6');
const directions = range.getTextDirections();

for (let i = 0; i < directions.length; i++) {
  for (let 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.
const sheet = SpreadsheetApp.getActiveSheet();

const cell = sheet.getRange('A1');
Logger.log(cell.getTextRotation());

戻る

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

承認

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

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

getTextRotations()

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

const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('B2:D4');

const results = range.getTextRotations();

for (const i in results) {
  for (const j in results[i]) {
    const 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.
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('D4:F6');
const 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
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange('B5:C6');
const styles = range.getTextStyles();

for (let i = 0; i < styles.length; i++) {
  for (let 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.
const values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues();
Logger.log(values[0][0]);
ウェブアプリでは、Date 値は有効なパラメータではありません。範囲に Date 値を含むセルが含まれている場合、getValues() はウェブアプリにデータを返せません。代わりに、シートから取得したすべての値を、NumberBooleanString などのサポートされている JavaScript プリミティブに変換します。

戻る

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

承認

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

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

getVerticalAlignment()

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

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

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

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

const results = range.getVerticalAlignments();

for (const i in results) {
  for (const 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() を使用します。

const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheets()[0];
const 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()

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