スプレッドシートの技術記事
Googleスプレッドシートを業務のデータベースとして使うための、読み書きの高速化・集計・帳票化・入力チェックの実装記事をまとめています。
ラスタージ(Lustage)が実務で書いたコードをもとに解説しています。 記事の内容をそのまま自社の業務に落とし込みたい場合は、開発のご相談も承っています。
41 articles
GASのonEditでセル編集をきっかけに自動処理する方法
GASのonEditでセルの編集をきっかけに処理を自動実行する方法を動くコードで解説します。イベントオブジェクト(e.range・e.value・e.oldValue)の読み方、対象シートと列を絞るガード節、チェックボックスで承認日時と承認者を自動入力する実例、編集ログの記録、メール送信や外部APIが使えないシンプルトリガーの制約とインストーラブルトリガーへの切り替え、動かないときの確認手順まで紹介します。
GASで自作のカスタム関数を作る方法|スプレッドシートで=MYFUNC()
GASでスプレッドシートに自作のカスタム関数を追加する方法を動くコードで解説します。=TAXIN()のような関数の作り方、範囲を受け取って二次元配列で返す書き方、JSDocで補完と説明を出す方法、GmailAppやUrlFetchAppなど認可が必要なサービスが使えない制約、30秒の実行時間制限、再計算されないときの対処と代替パターンまで紹介します。
GASのflush()でスプレッドシートの書き込みを即時反映する方法
GASのSpreadsheetApp.flush()で保留中の書き込みを即座にシートへ反映する方法を動くコードで解説します。setValueがすぐ反映されない理由(変更のまとめ処理)、toastで進捗を見せる書き方、数式や書き込み直後に読み直すときのflush、長い処理を途中コミットして守る使い方、flushの多用で遅くなる落とし穴と一括setValuesとの使い分けまで紹介します。
GASでスプレッドシートの行をオブジェクト配列に変換する方法|ヘッダーをキーに
GASでスプレッドシートのgetValuesの二次元配列を、ヘッダー行をキーにしたオブジェクト配列に変換する方法を動くコードで解説します。row[3]のような列番号指定をやめてobjの列名で読める書き方、filterやreduceでの絞り込み・集計、列順を固定した書き戻し、空行の除外、シート行番号の保持まで紹介します。
GASのgetValuesとgetDisplayValuesの違いと使い分け
GASのgetValuesとgetDisplayValuesの違いを動くコードで解説します。getValuesが返す生の値(Date型や数値)と、getDisplayValuesが返すセルの見た目どおりの文字列の違い、日付・通貨・パーセントで結果が変わる例、CSVや帳票では表示値・計算では生の値という使い分け、数式セルでのgetFormulasまで紹介します。
GASでスプレッドシートの離れた複数範囲を一括操作する方法|getRangeList
GASのgetRangeListで、離れた複数のセル範囲をまとめて一括操作する方法を動くコードで解説します。A1記法の配列でのRangeList取得、setBackground・setValueなどでの一括書式・値設定、clearContentでの一括クリア、activateでの同時選択、getRangesでの個別処理、setValuesが使えない制約と対処まで紹介します。
GASでスプレッドシートのセルを値・書式だけコピー&貼り付けする方法
GASでスプレッドシートのセルや範囲をコードでコピー&貼り付けする方法を動くコードで解説します。copyToでの範囲コピー、contentsOnly・formatOnlyでの値だけ/書式だけ貼り付け、CopyPasteTypeでの数式・入力規則の指定、transposedでの行列入れ替え、テンプレート書式の一括適用、別スプレッドシートへのコピーの制約まで紹介します。
GASでスプレッドシートの最終行・最終列を正しく取得する方法
GASでスプレッドシートの最終行・最終列をコードで正しく取得する方法を動くコードで解説します。getLastRow・getLastColumnの基本、getDataRangeで入力範囲を丸ごと取る書き方、シート全体と範囲基準のgetLastRowの違い、途中の空行で件数がずれる落とし穴、最終行の次に追記する定番パターン、getRangeの4引数まで紹介します。
GASでスプレッドシートの行・列をグループ化して折りたたむ方法
GASでスプレッドシートの行・列をコードでグループ化(アウトライン)して折りたたむ方法を動くコードで解説します。shiftRowGroupDepthでの行のグループ化、collapse・expandやcollapseAllRowGroupsでの一括開閉、shiftColumnGroupDepthでの列のグループ化、setRowGroupControlAfterでの折りたたみボタンの位置、カテゴリ別の多階層グループの自動生成、解除まで紹介します。
GASでスプレッドシートのセルにメモ(ノート)を設定・取得する方法
GASでスプレッドシートのセルにメモ(ノート)をコードで設定・取得する方法を動くコードで解説します。setNoteでのメモ付け、getNoteでの読み取り、既存メモへの追記、setNotesでの二次元配列での一括設定、getNotesでの一覧取得、clearNoteでの削除、処理ログや入力エラーの理由をセルに残す実務パターンまで紹介します。
GASでスプレッドシートのセルに画像を挿入する方法
GASでスプレッドシートに画像をコードで挿入する方法を動くコードで解説します。insertImageでのセル上への配置、Googleドライブの画像の貼り付け、newCellImageやIMAGE関数でのセル内埋め込み、setWidth・setAnchorCellでのサイズと位置調整、URL一覧からの一括挿入、getImages・removeでの取得と削除まで紹介します。
GASでスプレッドシートの見出し行・列を固定(フリーズ)する方法
GASでスプレッドシートの見出し行・列をコードで固定(フリーズ)してスクロールしても常に表示する方法を動くコードで解説します。setFrozenRowsでの行の固定、setFrozenColumnsでの列の固定、getFrozenRowsでの現在の固定数の確認、0を指定した解除、複数シートへの一括適用、テンプレート作成時の自動固定、実務での注意点まで紹介します。
GASでスプレッドシートに名前付き範囲を設定して参照する方法
GASでスプレッドシートの名前付き範囲(Named Range)をコードで設定・参照する方法を動くコードで解説します。setNamedRangeでの名前付け、getRangeByNameでの取得、A1参照の直書きをやめて範囲名で読み書きするパターン、getNamedRangesでの一覧、remove/renameでの管理、範囲がずれても壊れない設定管理まで紹介します。
GASでスプレッドシートの列幅・行の高さをコードで自動調整する方法
GASでスプレッドシートの列幅・行の高さをコードで一括調整する方法を動くコードで解説します。setColumnWidthでの1列指定、setColumnWidthsでの複数列一括、autoResizeColumnsでの内容に合わせた自動調整、setRowHeightとsetWrapでの行の高さと折り返し、getColumnWidthでの現在値の取得と復元、非表示列との違いまで紹介します。
GASでスプレッドシートに交互の背景色(バンディング)を設定する方法
GASでスプレッドシートの表に交互の背景色(バンディング)をコードで設定する方法を動くコードで解説します。applyRowBandingでの縞模様、BandingThemeでの配色、setFirstRowColorなどでの色の自作、ヘッダー行・フッター行の色分け、applyColumnBandingでの列方向、getBandingsとremoveでの重複防止まで紹介します。
GASでスプレッドシートにチェックボックスをコードで挿入・判定する方法
GASでスプレッドシートのチェックボックスをコードで挿入・判定する方法を動くコードで解説します。insertCheckboxesでの一括挿入、チェック値(true/false)の読み取り、チェック済みの行だけ処理するパターン、TRUE/FALSE以外の独自値での挿入、onEditでチェックを入れた瞬間に動かす連携、removeCheckboxesとuncheckでの解除・リセットまで紹介します。
GASでスプレッドシートにピボットテーブルをコードで自動作成する方法
GASでスプレッドシートのピボットテーブルをコードから自動作成する方法を動くコードで解説します。createPivotTableでの作成、addRowGroup/addColumnGroupでの行・列グループ、addPivotValueとPivotTableSummarizeFunctionでの合計・件数・平均、addFilterでの絞り込み、getPivotTablesとremoveでの作り直し、毎日の定期トリガー実行まで紹介します。
GASでスプレッドシートのセルを結合・結合解除する方法
GASでスプレッドシートのセルをコードで結合・結合解除する方法を動くコードで解説します。mergeでの範囲結合、mergeAcrossでの行ごとの横結合、mergeVerticallyでの縦結合、breakApartでの解除、getMergedRangesでの結合セルの調査、結合で左上以外の値が消える落とし穴、getValuesで空セルになる注意点まで紹介します。
GASでスプレッドシートにSUMやIFなどの数式をコードで設定する方法
GASでスプレッドシートのセルにSUMやIF、VLOOKUPなどの数式をコードで設定する方法を動くコードで解説します。setFormulaでの1セル設定、setFormulasでの列一括設定、setFormulaR1C1での相対参照の量産、getFormulaでの数式の読み取り、値への変換、区切り記号(カンマとセミコロン)の落とし穴、ARRAYFORMULAとの使い分けまで紹介します。
GASでスプレッドシートにフィルタを作成し条件で絞り込む方法
GASでスプレッドシートのフィルタをコードで作成し、条件で自動絞り込みする方法を動くコードで解説します。createFilterでのフィルタ作成、setColumnFilterCriteriaとwhenTextEqualToでの値の絞り込み、数値・日付の条件、複数列の組み合わせ、setHiddenValuesでの特定値の非表示、getFilterでの重複防止と作り直し、フィルタ表示との違いや共有時の注意点まで紹介します。
GASでスプレッドシートの背景色・文字色・罫線を設定する方法
GASでスプレッドシートのセルの背景色・文字色・罫線をコードで一括設定する方法を動くコードで解説します。setBackgroundでの塗りつぶし、setFontColor/setFontWeightでの文字装飾、setBorderでの罫線、setBackgroundsでの二次元配列での一括塗り分け、値に応じた色付け、clearFormatでの書式リセット、copyToでの書式コピーまで紹介します。
GASでスプレッドシートの行・列を挿入・削除・非表示にする方法
GASでスプレッドシートの行・列をコードで挿入・削除・非表示にする方法を動くコードで解説します。insertRowsBefore/Afterでの行追加、appendRowでの末尾追加、列の挿入・削除、削除で行番号がずれる落とし穴と「下から消す」鉄則、条件に一致する行だけの一括削除、hideRows/hideColumnsでの非表示まで紹介します。
GASでスプレッドシートのセルにリンクや文字装飾を設定する方法
GASのRichTextValueでスプレッドシートのセルにハイパーリンクや太字・色などの文字装飾をコードで設定する方法を動くコードで解説します。セル全体へのリンク、文字の一部だけ装飾、既存の値を保ったままのリンク化、setRichTextValuesでの一括リンク付け、リンクの読み取りと解除、実務での注意点まで紹介します。
GASでスプレッドシートのデータを並べ替え(ソート)する方法
GASでスプレッドシートのデータをコードで並べ替え(ソート)する方法を動くコードで解説します。Range.sortでの昇順・降順、複数キー(第1キー・第2キー)での並べ替え、ヘッダー行を固定した並べ替え、数値と文字列が混ざる列の落とし穴、getValues+sortでの安定した書き戻し、データ追加時に自動で並べ替える定期トリガーまで紹介します。
GASでスプレッドシートのシートを追加・複製・削除する方法
GASでスプレッドシートのシート(タブ)をコードで追加・複製・削除・並べ替えする方法を動くコードで解説します。insertSheetでの新規作成、copyToとテンプレート複製、getSheetByNameでの存在チェック、deleteSheetでの安全な削除、名前変更や表示・非表示、月初に当月シートを自動作成する定期トリガーまで紹介します。
GASでスプレッドシートの表示形式を一括設定する方法
GASのsetNumberFormatでスプレッドシートのセルの表示形式(数値・通貨・パーセント・日付)をコードで一括設定する方法を動くコードで解説します。カンマ区切りや円マーク、小数桁、パーセント、日付・時刻の書式パターン、setNumberFormatsでの列ごとの一括適用、マイナスを赤字にする書式、値そのものは変わらない仕組みまで紹介します。
GASでスプレッドシートを高速検索・一括置換する方法
GASのTextFinderでスプレッドシートのデータを高速に検索・一括置換する方法を動くコードで解説します。createTextFinderの基本、findAll/findNextでの一致セル取得、matchCaseやmatchEntireCellでの絞り込み、replaceAllWithでの一括置換、正規表現での表記ゆれ統一、特定範囲への限定、getValuesループとの速度差まで紹介します。
GASでスプレッドシートにカスタムメニューを追加する方法
GASでスプレッドシートの上部に独自のカスタムメニューを追加し、ボタン感覚で関数を実行する方法を動くコードで解説します。onOpenでのメニュー作成、addItemとaddToUi、複数項目とサブメニュー、区切り線、利用者やシートでの出し分け、確認ダイアログ・入力プロンプト、外部APIも呼べるインストール型onOpenトリガーの使い分けまで紹介します。
GASでスプレッドシートの範囲を保護して編集ミスを防ぐ方法
GASでスプレッドシートの特定の範囲やシートをコードで保護し、意図しない編集ミスを防ぐ方法を動くコードで解説します。Protectionオブジェクトでの範囲保護、編集者の追加、警告のみのソフト保護、数式列だけのロック、複数シートへの一括適用、保護の解除、実務での注意点まで紹介します。
GASでスプレッドシートをCSVファイルに出力・保存する方法
GASでスプレッドシートの中身をCSVファイルに出力・保存する方法を動くコードで解説します。値のCSV文字列化、カンマ・改行・引用符の安全なエスケープ、文字化けを防ぐBOM付きUTF-8での保存、必要な列だけの書き出し、Googleドライブ保存とGmail添付送信、毎月1日の定期トリガー実行まで紹介します。
GASでスプレッドシートをJSON APIとして公開する方法
GASでスプレッドシートの中身をJSON APIとして公開する方法を動くコードで解説します。doGetでの行→オブジェクト変換、ContentServiceでのJSON返却、クエリパラメータでの絞り込み、Webアプリとしての公開手順、CacheServiceでの高速化、JSONPでの外部サイト連携、トークン認証とエラー処理まで紹介します。
GASでスプレッドシートのグラフをコードで自動作成する方法
GASでスプレッドシートのグラフをコードから自動作成する方法を動くコードで解説します。newChartでの棒グラフ作成、折れ線・円グラフへの切り替え、タイトルや色の設定、既存グラフの作り直しを防ぐ更新、グラフを画像化してメール送信、毎月の定期トリガー実行、実務での注意点まで紹介します。
GASでスプレッドシートを毎日自動でバックアップする方法
GASでスプレッドシートを毎日自動バックアップする方法を動くコードで解説します。DriveApp.makeCopyでの複製、日付入りファイル名、専用フォルダへの保存、世代管理(古いバックアップの自動削除)、毎日決まった時刻に動かす定期トリガー、失敗時のメール通知まで紹介します。
GASで条件付き書式をコードで一括設定する方法
GASでスプレッドシートの条件付き書式をコードから一括設定する方法を動くコードで解説します。newConditionalFormatRuleでの数値しきい値の色分け、テキスト一致、数式ルールでの行全体の色付け、カラースケール(グラデーション)、既存ルールのクリアと洗い替え、複数シートへの一括適用、実務での注意点まで紹介します。
GASでスプレッドシートの処理を高速化する方法|一括読み書きの基本
GASでスプレッドシートの処理が遅い原因と高速化する方法を動くコードで解説します。1セルずつのgetValue/setValueをgetValues/setValuesの一括読み書きに置き換える書き方、二次元配列での計算、複数列の一括処理、ループ内のgetRange削減、大量データのチャンク分割まで紹介します。
GASでスプレッドシートにプルダウン(入力規則)を一括設定する方法
GASでスプレッドシートのプルダウン(入力規則)をコードで一括設定する方法を動くコードで解説します。newDataValidationでのリスト指定、別シートのマスタ範囲の参照、無効値の拒否、都道府県→市区町村の連動プルダウン、入力規則の一括クリア、新規行への自動適用、実務での注意点まで紹介します。
GASでスプレッドシートの変更履歴を自動で記録する方法
GASのonEditトリガーで、スプレッドシートの編集を「いつ・誰が・どのセルを・変更前後」まで別シートに自動記録する方法を動くコードで解説します。簡易トリガーとインストール型トリガーの違い、編集者メールの取得、複数セル貼り付けへの対応、特定シート・列だけの記録、トリガーのコード設定まで紹介します。
GASでスプレッドシートを自動でPDF化してGmailで送る方法
GASでスプレッドシートの特定シートをPDFに変換し、Gmailで自動送信する方法を動くコードで解説します。export URLとOAuthトークンを使ったPDF化、A4・余白などのレイアウト指定、ファイル名への日付付与とDrive保存、毎月1日の定期トリガー実行、実務での注意点まで紹介します。
GASでスプレッドシートの文章をAIで校正・誤字脱字チェックする方法
GASでスプレッドシートの文章をClaude APIに渡し、誤字脱字や不自然な表現を自動で校正する方法を動くコードで解説します。校正結果と指摘理由をJSONで受け取る書き方、校正済みセルのスキップ、リトライ、カスタムメニューからの一括実行まで紹介します。
GASでスプレッドシートの文章をAIで自動翻訳する方法
GASでスプレッドシートのセルをClaude APIに渡し、英語⇄日本語などへ自動翻訳する方法を動くコードで解説します。翻訳関数の作り方・翻訳済みセルのスキップ・一括翻訳・API制限対策のリトライ・カスタムメニューからの実行まで紹介します。
GASでスプレッドシートの重複データを自動検出・削除する方法
GASでスプレッドシートの重複行を自動検出・削除する実装方法を解説します。複合キーや表記ゆれを考慮した重複判定、トリガーによる定期実行まで紹介します。
スプレッドシートまわりの実装を
相談する。
記事のとおりに動かない、自社の業務に合わせて組み直したい、という段階からご相談いただけます。