行と列の演算

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 の width プロパティを 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 を使用して特定のインデックスに列または行を挿入する(たとえば、シートの先頭にある空の行を先頭に追加する)方法を示しています。最初のリクエストでは、列 C に 2 つの空の列を挿入します。2 番目のリクエストは、行 1 から 3 つの空の行を挿入します。

dimension フィールドでは、スプレッドシートの列と行のどちらにオペレーションを適用するかを指定します。

true の場合、inheritFromBefore フィールドは新しい列または行に前の行または列と同じプロパティを設定し、false の場合は新しい列または行の後のディメンションから継承するように Sheets API に指示します。行 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
      }
    },
  ],
}