行と列の演算

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 を使用して特定のインデックスに列または行を挿入する方法を示しています(シートの上部に空の行を追加するなど)。最初のリクエストでは、列 C に 2 つの空の列が挿入されます。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
      }
    },
  ],
}