行と列の演算

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
      }
    },
  ],
}