しごと自動化レシピ

WORK RECIPE GAS

売上表の見た目を複製シートだけで整える

売上表を複製し、見出し固定、列幅、金額書式をそろえた閲覧用シートを作ります。原本を整形しないので、導入前後を横に並べて見比べながら帳票を調整できます。

実行確認の記録なし

公式資料を参照して構成した手順です。本記事の操作・コードの実行は未確認です。小さな入力例で期待結果を確かめてから利用してください。

できあがるもの

閲覧用は原本のコピーとなり、見出しが太字・白文字、金額が1,200と800、日付がyyyy/mm/ddで表示されます。原本の書式は変わりません。

始める前に

  • ブラウザ版Googleスプレッドシートの編集権限と紐付きApps Script
  • コピーした検証用ファイルで実行。Apps ScriptはV8ランタイムを利用
  • 「売上」は見出し1行のA:C、1000行以内、C列は数値金額
  • 出力名「閲覧用」は未使用
入力例

売上!A1:C3は「日付,商品,金額」「2026/10/01,ノート,1200」「2026/10/02,ペン,800」。A列は日付型です。

手順

  1. 検証用コピーを作ります。原本の表示形式や列幅に依存した別の帳票がないか確認し、この例は複製先にだけ書式を設定することを把握します。
  2. 以下をスクリプトへ貼り付けて保存します。独立した例なので、ほかの記事の同名関数があるプロジェクトには混ぜません。 /** @OnlyCurrentDoc */ function formatReport() { const ss=SpreadsheetApp.getActive(), s=ss.getSheetByName('売上'); if(!s || ss.getSheetByName('閲覧用')) throw Error('シートを確認'); const n=s.getLastRow(); if(n<2 || n>1000 || s.getLastColumn()!==3) throw Error('3列の表が必要'); const out=s.copyTo(ss).setName('閲覧用'); out.setFrozenRows(1); out.getRange('A1:C1').setBackground('#173f4f').setFontColor('#ffffff').setFontWeight('bold'); out.getRange(2,1,n-1,1).setNumberFormat('yyyy/mm/dd'); out.getRange(2,3,n-1,1).setNumberFormat('#,##0'); out.autoResizeColumns(1,3); }
  3. formatReportを手動実行して権限を確認します。閲覧用に濃色の見出しができ、下へスクロールしても1行目が固定されるかを確認してください。
  4. 原本と閲覧用を比較し、C2の値がどちらも1200であることを確認します。列幅は最長の内容に依存するため、長い説明文を含めるなら必要に応じて複製先で幅を調整します。

期待結果と照合する

閲覧用は原本のコピーとなり、見出しが太字・白文字、金額が1,200と800、日付がyyyy/mm/ddで表示されます。原本の書式は変わりません。

まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。

うまくいかないとき

  • コピーには数式も含まれます。確定時点の値を保存する用途なら、別の値控え手順を使います。
  • 書式コピー後も共有権限はファイル単位です。閲覧用という名前で編集権限が変わるわけではありません。

止める・元に戻す

閲覧用シートだけを削除します。原本に書式変更はなく、formatReport関数を消せば元の運用へ戻せます。

公式資料・対応範囲

参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。

同じツールで試す

GASの記事一覧へ →