行と列の演算

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 フィールドは、新しい列または行に前の行または列と同じプロパティを与え、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
      }
    },
  ],
}