行と列の演算

Google Sheets API を使用すると、シートで行または列を追加、削除、操作できます。このページの例は、Sheets API を使用していくつかの一般的な行および列操作を実行する方法を示しています。

これらの例では、特定の言語に依存しない HTTP リクエストの形式を採用しています。Google API クライアント ライブラリを使用してバッチ アップデートをさまざまな言語で実装する方法については、スプレッドシートを更新するをご覧ください。

以下の例では、SPREADSHEET_IDSHEET_ID というプレースホルダを使用して、これらの ID をどこで指定するかを示しています。スプレッドシート ID はスプレッドシートの URL で確認できます。シート ID は、spreadsheets.get メソッドを使用して取得できます。範囲は A1 表記を使用して指定します。範囲の例は Sheet1!A1:D5 です。

列の幅または行の高さの調整

次の spreadsheets.batchUpdate コードサンプルは、UpdateDimensionPropertiesRequest を使用して列 A の幅プロパティを 160 ピクセルに更新する方法を示しています。2 番目のリクエストは、先頭 3 行の行の高さプロパティを 40 ピクセルに更新します。dimension フィールドは、オペレーションがシートの列または行に適用されるかどうかを決定します。

リクエスト プロトコルは次のようになります。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "properties": {
          "pixelSize": 160
        },
        "fields": "pixelSize"
      }
    },
    {
      "updateDimensionProperties": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "properties": {
          "pixelSize": 40
        },
        "fields": "pixelSize"
      }
    }
  ]
}

空の行または列を追加する

次の spreadsheets.batchUpdate コードサンプルは、AppendDimensionRequest を使用して行と列を追加する方法を示しています。最初のリクエストは空の 3 行をシートの最後に追加し、2 番目のリクエストは空の 1 列を追加します。dimension フィールドは、オペレーションがシートの列または行に適用されるかどうかを決定します。

リクエスト プロトコルは次のようになります。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "ROWS",
        "length": 3
      }
    },
    {
      "appendDimension": {
        "sheetId": SHEET_ID,
        "dimension": "COLUMNS",
        "length": 1
      }
    }
  ]
}

列のサイズを自動的に変更する

次の spreadsheets.batchUpdate コードサンプルは、AutoResizeDimensionsRequest を使用して、列のコンテンツのサイズに基づいて列 A:C のサイズを変更する方法を示しています。dimension フィールドは、オペレーションがシートの列に適用されることを示します。

リクエスト プロトコルは次のようになります。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

行の自動サイズ変更

次の spreadsheets.batchUpdate コードサンプルは、AutoResizeDimensionsRequest を使用して最初の 3 行の行の高さを消去する方法を示しています。これにより、各行の高さは、その行のセル内のコンテンツに応じて動的に増大するようになります。dimension フィールドは、オペレーションがシートの行に適用されることを示します。

リクエスト プロトコルは次のようになります。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "autoResizeDimensions": {
        "dimensions": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    }
  ]
}

行や列を削除する

次の spreadsheets.batchUpdate コードサンプルは、DeleteDimensionRequest を使用してシートの最初の 3 行を削除する方法を示しています。2 番目のリクエストは、列 B:D を削除します。dimension フィールドは、オペレーションがシートの列または行に適用されるかどうかを決定します。

リクエスト プロトコルは次のようになります。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        }
      }
    },
    {
      "deleteDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 1,
          "endIndex": 4
        }
      }
    },
  ],
}

空の行または列を挿入する

次の spreadsheets.batchUpdate コードサンプルは、InsertDimensionRequest を使用して特定のインデックスに列または行を挿入する方法を示しています(シートの上部に空の行を追加する場合など)。最初のリクエストは、空の 2 列を列 C に挿入します。2 番目のリクエストは、行 1 から 3 つの空の行を挿入します。

dimension フィールドは、オペレーションがシートの列または行に適用されるかどうかを決定します。

true の場合、inheritFromBefore フィールドは、新しい列または行に前の列または行と同じプロパティを付与するように Sheets API に指示します。false の場合、新しい列または行の後のディメンションから継承します。行を行 1 に、または列を列 A に挿入する場合は、inheritFromBefore を true にすることはできません。

リクエスト プロトコルは次のようになります。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 2,
          "endIndex": 4
        },
        "inheritFromBefore": true
      }
    },
    {
      "insertDimension": {
        "range": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 0,
          "endIndex": 3
        },
        "inheritFromBefore": false
      }
    },
  ],
}

行または列を移動する

次の spreadsheets.batchUpdate コードサンプルは、MoveDimensionRequest を使用して列 A を列 D の位置に移動する方法を示しています。2 番目のリクエストは、行 5 ~ 10 を行 20 の位置に移動します。

dimension フィールドは、オペレーションがシートの列または行に適用されるかどうかを決定します。destinationIndex フィールドは、ゼロベースの開始インデックスを使用してソースデータを移動する場所を決定します。

リクエスト プロトコルは次のようになります。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "COLUMNS",
          "startIndex": 0,
          "endIndex": 1
        },
        "destinationIndex": 3
      }
    },
    {
      "moveDimension": {
        "source": {
          "sheetId": SHEET_ID,
          "dimension": "ROWS",
          "startIndex": 4,
          "endIndex": 10
        },
        "destinationIndex": 19
      }
    },
  ],
}