Googleスプレッドシートの結合セルは、対象範囲を選び「結合を解除」でまとめて解除します。
通常の解除では左上の値が残り、ほかのセルは空欄になります。
文字ラベルを各セルへ複製したい場合は、後半のGAS(Google Apps Script)の例を使います。
GASはGoogleサービスを操作するスクリプトです。
書き込みGASの実サービス上での実行は未確認なので、先に練習用コピーで試してください。
先にコピーを作り、対象範囲を指定する
元ファイルのコピーを保存し、練習には別の空のスプレッドシートを使います。
練習用のシート名を「結合練習」にしてください。
A2に東京、A3に10、A4に数式=2+3、A5に日付を入力します。
B2:B5を空欄にしたうえで、各行のA列とB列を1行ずつ結合してください。
値を入れるのは各範囲の左上だけです。
結合前に右側にあった値は、解除によって復元されません。
メニューから一括で結合を解除する
名前ボックスへA2:B5と入力し、Enterを押して対象範囲を選びます。
シート全体を対象にする場合は、行番号と列見出しが交わる左上の全選択ボタンを使います。
ツールバーの「結合タイプを選択」を開き、「結合を解除」を選びます。
数式バーでA4の数式が=2+3のままか確認します。
結合操作の場所はGoogle公式の表示形式ヘルプでも確認できます。
| 条件 | 結果 |
|---|---|
| A2:B2/文字 | A2は東京、B2は空欄 |
| A3:B3/数値 | A3は10、B3は空欄 |
| A4:B4/数式 | A4の計算値は5、数式は=2+3、B4は空欄 |
| A5:B5/日付 | A5の日付を保持、B5は空欄 |

この表と画像は、2026年10月2日のメニュー操作の検証記録です。
メニューで解除した直後は、Ctrl+Z(MacはCommand+Z)で元に戻します。
後から他の編集をした場合は、連続して元に戻す前に、作業コピーや変更履歴で復旧対象を確認します。
GASで文字ラベルだけを複製する
次のGASは、シート「結合練習」のA2:B2だけを対象にします。
メニュー解除の練習後は、A2:B2をもう一度結合し、左上に東京が入った状態に戻してください。
結合がない範囲には、このコードは文字を複製しません。
結合を解除し、東京をA2とB2へ複製する想定です。
コードは対象内の結合範囲を集め、入力条件をすべて検査してから書き込みます。
数値・日付・数式・等号やアポストロフィで始まる文字列は拒否します。
範囲をまたぐ結合や1000セルを超える指定も拒否します。
1000セルはこのサンプルの上限で、Google Sheets全体の上限ではありません。
function fillMergedLabels() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('結合練習');
if (!sheet) throw new Error('対象シートがありません: 結合練習');
const area = sheet.getRange('A2:B2'); // コピーした練習表の文字ラベルだけ
if (area.getNumRows() * area.getNumColumns() > 1000) {
throw new Error('対象は1000セル以内にしてください');
}
const plans = area.getMergedRanges().map(merged => {
if (merged.getRow() < area.getRow() || merged.getColumn() < area.getColumn()
|| merged.getLastRow() > area.getLastRow()
|| merged.getLastColumn() > area.getLastColumn()) {
throw new Error('対象範囲をまたぐ結合セルがあります');
}
const cell = merged.getCell(1, 1);
const value = cell.getValue();
if (cell.getFormula() || typeof value !== 'string'
|| value.startsWith('=') || value.startsWith("'")) {
throw new Error('複製できるのは数式ではない文字ラベルだけです');
}
return { merged, values: Array.from({ length: merged.getNumRows() },
() => Array(merged.getNumColumns()).fill(value)) };
});
// すべての入力を確認してから変更する。
plans.forEach(plan => {
plan.merged.breakApart();
plan.merged.setValues(plan.values);
});
console.log('処理した結合範囲: ' + plans.length);
}編集権限のある練習表から「拡張機能」→「Apps Script」を開き、コードを貼って保存します。
関数fillMergedLabelsを選び、実行してください。
承認画面が出たら、コードと要求権限が練習表の変更に必要か確認します。
成功時はA2とB2に東京が入り、実行ログに「処理した結合範囲: 1」と出る想定です。
A2:B2の結合が外れ、A3:B5の値と結合が変わっていないかも確認してください。
A3:B3が結合された練習表で範囲をA2:B5へ広げると、数値を検出して変更前に止まる想定です。
既存の検証記録では、ローカルの模擬環境で入力拒否と事前検査を確認しています。
Google上での承認・書き込み実行は未確認です。
2026年10月25日の見直しは公式資料と配布コードの照合で、メニュー操作やGASを再実行したものではありません。
このGASには、途中の失敗時に変更全体を取り消す仕組みがありません。
結合解除後に書き込みが失敗すると、解除だけが残る場合があります。
失敗時は追加実行を止め、変更前のコピーと照合して復旧してください。
解除できないときの切り分け
編集権限、保護された範囲、対象をまたぐ結合を確認します。
権限が足りない場合は、ファイル所有者に対象範囲の編集可否を確認してください。
結合ボタンが無効なら、名前ボックスの範囲が単一セルになっていないか確かめます。
GASのログが「処理した結合範囲: 0」なら、シート名と範囲内の結合を確認してください。
文字の複製が不要な数式や日付の表では、先のメニュー操作を使います。
操作・GAS・claspの練習ZIPをダウンロードできます。
値の種類はGoogleスプレッドシート│GASでスプレッドシートのA1セルの値を取得する方法で確認できます。
エラーの意味はGAS│エラーの意味と対処法|6分制限・承認・回数上限・トリガーを参照します。
仕様・配布コードと関連記事
結合範囲の取得と解除は、公式のgetMergedRanges()とbreakApart()で確認できます。
練習ZIP内のarticle-143.jsが、この結合解除のコードです。
本文とは改行・空白を除いて一致し、READMEも実サービス上の書き込みは未確認としています。
別番号のコードやclasp用ファイルは、この練習には使いません。
まずA2:B2だけで、解除・文字複製・対象外の保持を確かめてください。





