<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Googleスプレッドシート &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/category/spreadsheet/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 13 Jun 2026 03:54:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>Googleスプレッドシート &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Googleスプレッドシート関数の読み方一覧｜よく間違える発音とSheets独自関数も解説</title>
		<link>https://mashukabu.com/sheets-function-pronunciation/</link>
					<comments>https://mashukabu.com/sheets-function-pronunciation/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 03:54:46 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[スプレッドシート関数]]></category>
		<category><![CDATA[リファレンス]]></category>
		<category><![CDATA[読み方]]></category>
		<category><![CDATA[関数一覧]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8030</guid>

					<description><![CDATA[GoogleスプレッドシートのSUM・VLOOKUP・QUERY・ARRAYFORMULAなど全関数の読み方をアルファベット順に一覧でまとめました。Sheets独自関数のカタカナ読み・英語発音、よく間違えられる読み方ランキングも解説。会議やチャットで関数名を伝えるときにすぐ使えます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ARRAYFORMULAって、なんて読むんだろう」と思った経験はありませんか。Googleスプレッドシートには多くの関数がありますが、読み方に自信がないまま使っている方は意外と多いです。</p>



<p class="wp-block-paragraph">一人で作業しているぶんには問題ありません。でも会議でQUERYの読み方が出てこなかったり、チャットで関数名をカタカナで書けなかったりすると困りますよね。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシート関数の読み方をアルファベット順にまとめました。ExcelにはないSheets独自関数の読み方も専用セクションで解説しています。ブラウザの検索機能（Ctrl+F）で関数名を入力すれば、目的の読み方がすぐ見つかりますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシート関数の読み方を知っておくべき理由</a></li><li><a href="#toc2" tabindex="0">読み方のルール｜接頭辞・接尾辞パターンで覚えるコツ</a></li><li><a href="#toc3" tabindex="0">Sheets独自関数の読み方一覧</a><ol><li><a href="#toc4" tabindex="0">GOOGLE系・IMPORT系の関数の読み方</a></li><li><a href="#toc5" tabindex="0">配列・抽出・正規表現系の関数の読み方</a></li></ol></li><li><a href="#toc6" tabindex="0">よく使う関数の読み方と使い方リスト</a></li><li><a href="#toc7" tabindex="0">よく間違えられる関数の読み方ランキング</a><ol><li><a href="#toc8" tabindex="0">1. ARRAYFORMULA → 「アレイフォーミュラ」</a></li><li><a href="#toc9" tabindex="0">2. QUERY → 「クエリー」</a></li><li><a href="#toc10" tabindex="0">3. IMPORTRANGE → 「インポートレンジ」</a></li><li><a href="#toc11" tabindex="0">4. VLOOKUP → 「ブイ ルックアップ」</a></li><li><a href="#toc12" tabindex="0">5. SPARKLINE → 「スパークライン」</a></li></ol></li><li><a href="#toc13" tabindex="0">A〜F の関数読み方一覧</a><ol><li><a href="#toc14" tabindex="0">「A」から始まる関数の読み方</a></li><li><a href="#toc15" tabindex="0">「C」から始まる関数の読み方</a></li><li><a href="#toc16" tabindex="0">「D」から始まる関数の読み方</a></li><li><a href="#toc17" tabindex="0">「E」から始まる関数の読み方</a></li><li><a href="#toc18" tabindex="0">「F」から始まる関数の読み方</a></li></ol></li><li><a href="#toc19" tabindex="0">G〜M の関数読み方一覧</a><ol><li><a href="#toc20" tabindex="0">「G」から始まる関数の読み方</a></li><li><a href="#toc21" tabindex="0">「H」「I」から始まる関数の読み方</a></li><li><a href="#toc22" tabindex="0">「J」〜「M」から始まる関数の読み方</a></li></ol></li><li><a href="#toc23" tabindex="0">N〜Z の関数読み方一覧</a><ol><li><a href="#toc24" tabindex="0">「N」「O」「P」から始まる関数の読み方</a></li><li><a href="#toc25" tabindex="0">「Q」「R」から始まる関数の読み方</a></li><li><a href="#toc26" tabindex="0">「S」から始まる関数の読み方</a></li><li><a href="#toc27" tabindex="0">「T」〜「Z」から始まる関数の読み方</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシート関数の読み方を知っておくべき理由</span></h2>



<p class="wp-block-paragraph">実は、Googleは関数名の公式なカタカナ読みを統一して公表していません。そのため、人によって読み方がバラバラになりがちです。たとえばQUERYは「クエリー」と読む人もいれば「クエリ」と言う人もいます。</p>



<p class="wp-block-paragraph">では、なぜ読み方を知っておくとよいのでしょうか。具体的なメリットを3つ紹介します。</p>



<ul class="wp-block-list"><li><strong>会議やミーティングでスムーズに話せる</strong>: 「えーっと、あの…ARRAYFORMULAっていう関数」とつまずかず、「アレイフォーミュラでまとめて計算します」とサラッと言えます</li><li><strong>チャットやメールで正確に伝わる</strong>: カタカナで書けると、関数名を知らない相手にも読みやすいメッセージになります</li><li><strong>業務の引き継ぎがラクになる</strong>: 後任者にスプレッドシートを渡すとき、口頭で関数名を伝えられると説明がスムーズです</li></ul>



<p class="wp-block-paragraph">読み方を知っているだけで、周囲とのコミュニケーションがぐっとラクになります。スプレッドシートの関数全般については、<a href="https://mashukabu.com/sheets-vlookup-guide/">スプレッドシートのVLOOKUP関数の使い方ガイド</a>もあわせて参考にしてください。</p>



<h2 class="wp-block-heading"><span id="toc2">読み方のルール｜接頭辞・接尾辞パターンで覚えるコツ</span></h2>



<p class="wp-block-paragraph">たくさんの関数を丸暗記する必要はありません。実は、関数名には共通するパターンがあります。接頭辞・接尾辞のルールを覚えておくと、初めて見る関数でも読み方を推測できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>パターン</th><th>意味</th><th>例</th></tr></thead><tbody><tr><td>GOOGLE-</td><td>Google連携関数</td><td>GOOGLEFINANCE, GOOGLETRANSLATE</td></tr><tr><td>IMPORT-</td><td>外部データ取り込み</td><td>IMPORTRANGE, IMPORTHTML, IMPORTXML</td></tr><tr><td>REGEX-</td><td>正規表現（Regular Expression）</td><td>REGEXMATCH, REGEXEXTRACT, REGEXREPLACE</td></tr><tr><td>-IF</td><td>単一条件で絞り込む</td><td><a href="https://mashukabu.com/spreadsheet-sumif-function/">SUMIF</a>, <a href="https://mashukabu.com/spreadsheet-countif-function/">COUNTIF</a></td></tr><tr><td>-IFS</td><td>複数条件で絞り込む</td><td><a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS</a>, <a href="https://mashukabu.com/spreadsheet-countifs-function/">COUNTIFS</a></td></tr><tr><td>V-</td><td>縦方向（Vertical）</td><td><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP</a></td></tr><tr><td>H-</td><td>横方向（Horizontal）</td><td>HLOOKUP</td></tr><tr><td>X-</td><td>拡張版（eXtended）</td><td>XLOOKUP, <a href="https://mashukabu.com/spreadsheet-xmatch-function/">XMATCH</a></td></tr><tr><td>IS-</td><td>判定する（〜かどうか）</td><td>ISBLANK, ISNUMBER, ISERROR</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえばVLOOKUPの「V」はVertical（垂直）の略です。縦方向に検索する関数だとわかりますよね。同じようにIMPORTRANGEは「IMPORT（取り込む）＋RANGE（範囲）」の組み合わせです。別のシートから範囲を取り込む関数だと名前から推測できます。</p>



<p class="wp-block-paragraph">なお、関数によっては読み方が揺れるものもあります。QUERYやFLATTENなどは複数の読み方が使われています。この記事では代表的な読み方を掲載していますが、「絶対にこれが正解」というものではない点は覚えておいてください。</p>



<h2 class="wp-block-heading"><span id="toc3">Sheets独自関数の読み方一覧</span></h2>



<p class="wp-block-paragraph">ここがこの記事の核です。GoogleスプレッドシートにはExcelにない独自の関数があります。読み間違えやすいものが多いので、語源とあわせて押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc4">GOOGLE系・IMPORT系の関数の読み方</span></h3>



<p class="wp-block-paragraph">外部サービスやWebからデータを取り込む関数のグループです。Sheetsならではの便利な関数が並びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th><th>語源・意味</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-googlefinance-function/">GOOGLEFINANCE</a></td><td>グーグルファイナンス</td><td>Google Finance（株価データ取得）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-googletranslate-function/">GOOGLETRANSLATE</a></td><td>グーグルトランスレート</td><td>Google Translate（翻訳）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-detectlanguage-function/">DETECTLANGUAGE</a></td><td>ディテクトランゲージ</td><td>detect language（言語を検出）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">IMPORTRANGE</a></td><td>インポートレンジ</td><td>import range（範囲を取り込む）</td></tr><tr><td>IMPORTDATA</td><td>インポートデータ</td><td>import data（データを取り込む）</td></tr><tr><td>IMPORTHTML</td><td>インポート エイチティーエムエル</td><td>import HTML</td></tr><tr><td>IMPORTXML</td><td>インポート エックスエムエル</td><td>import XML</td></tr><tr><td>IMPORTFEED</td><td>インポートフィード</td><td>import feed（フィードを取り込む）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-image-function/">IMAGE</a></td><td>イメージ</td><td>image（画像）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">GOOGLEFINANCEは「グーグルファイナンス」と読みます。株価や為替レートをリアルタイムで取得できる関数です。IMPORTRANGEは「インポートレンジ」です。「インポートランジ」と読み間違えやすいので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc5">配列・抽出・正規表現系の関数の読み方</span></h3>



<p class="wp-block-paragraph">スプレッドシートのデータ処理を強力にする関数のグループです。読み方が難しいものが集まっています。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th><th>語源・意味</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a></td><td>アレイフォーミュラ</td><td>array formula（配列の数式）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-query-function/">QUERY</a></td><td>クエリー / クエリ</td><td>query（問い合わせ）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sparkline-function/">SPARKLINE</a></td><td>スパークライン</td><td>sparkline（小さな線グラフ）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-flatten-function/">FLATTEN</a></td><td>フラット / フラッテン</td><td>flatten（平らにする）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-split-function/">SPLIT</a></td><td>スプリット</td><td>split（分割する）</td></tr><tr><td>JOIN</td><td>ジョイン</td><td>join（結合する）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-regexmatch-function/">REGEXMATCH</a></td><td>レジェックスマッチ</td><td>regex match（正規表現の一致）</td></tr><tr><td>REGEXEXTRACT</td><td>レジェックスエクストラクト</td><td>regex extract（正規表現の抽出）</td></tr><tr><td>REGEXREPLACE</td><td>レジェックスリプレイス</td><td>regex replace（正規表現の置換）</td></tr><tr><td>SORTN</td><td>ソート エヌ</td><td>sort N（上位N件で並べ替え）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ARRAYFORMULAは「アレイフォーミュラ」と読みます。array（配列）とformula（数式）の組み合わせです。1つの数式を範囲全体に適用できるSheets独自の関数です。</p>



<p class="wp-block-paragraph">QUERYは「クエリー」または「クエリ」と読みます。SQLに似た構文でデータを抽出できる強力な関数です。SPARKLINEは「スパークライン」で、セル内に小さなグラフを表示できます。</p>



<h2 class="wp-block-heading"><span id="toc6">よく使う関数の読み方と使い方リスト</span></h2>



<p class="wp-block-paragraph">読み方を覚えつつ、実際の使い方まで把握しておくと業務に直結します。以下は使用頻度が高い関数の早見表です。読み方を確認したら、リンク先で詳しい使い方もチェックしてみてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th><th>主な用途</th><th>詳しい使い方</th></tr></thead><tbody><tr><td>SUM</td><td>サム</td><td>合計</td><td><a href="https://mashukabu.com/spreadsheet-sum-function/">SUM関数の使い方</a></td></tr><tr><td>SUMIF</td><td>サム イフ</td><td>条件付き合計</td><td><a href="https://mashukabu.com/spreadsheet-sumif-function/">SUMIF関数の使い方</a></td></tr><tr><td>SUMIFS</td><td>サム イフ エス</td><td>複数条件付き合計</td><td><a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS関数の使い方</a></td></tr><tr><td>COUNT</td><td>カウント</td><td>数値の個数</td><td><a href="https://mashukabu.com/spreadsheet-count-function/">COUNT関数の使い方</a></td></tr><tr><td>COUNTA</td><td>カウント エー</td><td>空白以外の個数</td><td><a href="https://mashukabu.com/spreadsheet-counta-function/">COUNTA関数の使い方</a></td></tr><tr><td>COUNTIF</td><td>カウント イフ</td><td>条件付きカウント</td><td><a href="https://mashukabu.com/spreadsheet-countif-function/">COUNTIF関数の使い方</a></td></tr><tr><td>AVERAGE</td><td>アベレージ</td><td>平均</td><td><a href="https://mashukabu.com/spreadsheet-average-function/">AVERAGE関数の使い方</a></td></tr><tr><td>IF</td><td>イフ</td><td>条件分岐</td><td><a href="https://mashukabu.com/spreadsheet-if-function/">IF関数の使い方</a></td></tr><tr><td>IFS</td><td>イフ エス</td><td>複数条件分岐</td><td><a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS関数の使い方</a></td></tr><tr><td>IFERROR</td><td>イフ エラー</td><td>エラー処理</td><td><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数の使い方</a></td></tr><tr><td>VLOOKUP</td><td>ブイ ルックアップ</td><td>縦方向の検索・照合</td><td><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数の使い方</a></td></tr><tr><td>INDEX</td><td>インデックス</td><td>行列指定で値を取得</td><td><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX関数の使い方</a></td></tr><tr><td>MATCH</td><td>マッチ</td><td>値の位置を返す</td><td><a href="https://mashukabu.com/spreadsheet-match-function/">MATCH関数の使い方</a></td></tr><tr><td>FILTER</td><td>フィルター</td><td>条件でデータ抽出</td><td><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数の使い方</a></td></tr><tr><td>ROUND</td><td>ラウンド</td><td>四捨五入</td><td><a href="https://mashukabu.com/spreadsheet-round-function/">ROUND関数の使い方</a></td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc7">よく間違えられる関数の読み方ランキング</span></h2>



<p class="wp-block-paragraph">会話で使うとき特に注意したい、読み方が揺れやすい関数をまとめました。Sheetsユーザーが迷いがちなものを順に紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">1. ARRAYFORMULA → 「アレイフォーミュラ」</span></h3>



<p class="wp-block-paragraph">「アレーフォーミュラ」や「アレイフォーマット」と読んでしまう方がいますが、「アレイフォーミュラ」が正しい読み方です。array（配列）とformula（数式）を組み合わせた名前です。Sheetsを代表する独自関数なので、ぜひ正確に覚えておきましょう。→ <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数の詳しい使い方はこちら</a></p>



<h3 class="wp-block-heading"><span id="toc9">2. QUERY → 「クエリー」</span></h3>



<p class="wp-block-paragraph">「クエリィ」や「クォリー」と読む方もいますが、「クエリー」または「クエリ」が主流です。query（問い合わせ）が語源です。データベースに問い合わせるイメージの関数だと覚えると忘れにくいです。→ <a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数の詳しい使い方はこちら</a></p>



<h3 class="wp-block-heading"><span id="toc10">3. IMPORTRANGE → 「インポートレンジ」</span></h3>



<p class="wp-block-paragraph">「インポートランジ」と読みがちですが、「インポートレンジ」が正確です。import（取り込む）とrange（範囲）の組み合わせです。別のスプレッドシートから範囲を取り込む関数だと名前から推測できます。→ <a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">IMPORTRANGE関数の詳しい使い方はこちら</a></p>



<h3 class="wp-block-heading"><span id="toc11">4. VLOOKUP → 「ブイ ルックアップ」</span></h3>



<p class="wp-block-paragraph">「ブイロックアップ」や「ビールックアップ」と読んでしまう方がいますが、「ブイ ルックアップ」が正しい読み方です。V（ブイ）はVertical（縦方向）の略です。縦方向に検索する関数であることを表しています。→ <a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP関数の詳しい使い方はこちら</a></p>



<h3 class="wp-block-heading"><span id="toc12">5. SPARKLINE → 「スパークライン」</span></h3>



<p class="wp-block-paragraph">「スパークリン」や「スパークルライン」と読む方もいますが、「スパークライン」が正確です。spark（火花）とline（線）を組み合わせた言葉です。セル内に小さな折れ線グラフを表示できる関数です。→ <a href="https://mashukabu.com/spreadsheet-sparkline-function/">SPARKLINE関数の詳しい使い方はこちら</a></p>



<h2 class="wp-block-heading"><span id="toc13">A〜F の関数読み方一覧</span></h2>



<p class="wp-block-paragraph">ここからは、アルファベット順に主要な関数の読み方を一覧で紹介します。Ctrl+F（MacはCommand+F）で関数名を検索すると、目的の読み方がすぐ見つかります。</p>



<h3 class="wp-block-heading"><span id="toc14">「A」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>ABS</td><td>アブソルート</td></tr><tr><td>AND</td><td>アンド</td></tr><tr><td>ARRAYFORMULA</td><td>アレイフォーミュラ</td></tr><tr><td>AVERAGE</td><td>アベレージ</td></tr><tr><td>AVERAGEA</td><td>アベレージ エー</td></tr><tr><td>AVERAGEIF</td><td>アベレージ イフ</td></tr><tr><td>AVERAGEIFS</td><td>アベレージ イフ エス</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc15">「C」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>CEILING</td><td>シーリング</td></tr><tr><td>CHAR</td><td>キャラクター</td></tr><tr><td>CHOOSE</td><td>チューズ</td></tr><tr><td>CONCAT</td><td>コンカット</td></tr><tr><td>CONCATENATE</td><td>コンキャティネイト</td></tr><tr><td>COUNT</td><td>カウント</td></tr><tr><td>COUNTA</td><td>カウント エー</td></tr><tr><td>COUNTBLANK</td><td>カウントブランク</td></tr><tr><td>COUNTIF</td><td>カウント イフ</td></tr><tr><td>COUNTIFS</td><td>カウント イフ エス</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">「D」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>DATE</td><td>デート</td></tr><tr><td>DATEDIF</td><td>デートディフ</td></tr><tr><td>DATEVALUE</td><td>デート バリュー</td></tr><tr><td>DAY</td><td>デイ</td></tr><tr><td>DAYS</td><td>デイズ</td></tr><tr><td>DETECTLANGUAGE</td><td>ディテクトランゲージ</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">「E」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>EOMONTH</td><td>エンド オブ マンス</td></tr><tr><td>EVEN</td><td>イーブン</td></tr><tr><td>EXACT</td><td>イグザクト</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">「F」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>FALSE</td><td>フォルス</td></tr><tr><td>FILTER</td><td>フィルター</td></tr><tr><td>FIND</td><td>ファインド</td></tr><tr><td>FLATTEN</td><td>フラット</td></tr><tr><td>FLOOR</td><td>フロア</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc19">G〜M の関数読み方一覧</span></h2>



<p class="wp-block-paragraph">続いてG〜Mの関数です。GOOGLE系のSheets独自関数もこのグループに含まれます。</p>



<h3 class="wp-block-heading"><span id="toc20">「G」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>GOOGLEFINANCE</td><td>グーグルファイナンス</td></tr><tr><td>GOOGLETRANSLATE</td><td>グーグルトランスレート</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">「H」「I」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>HLOOKUP</td><td>エイチ ルックアップ</td></tr><tr><td>IF</td><td>イフ</td></tr><tr><td>IFERROR</td><td>イフ エラー</td></tr><tr><td>IFNA</td><td>イフ エヌエー</td></tr><tr><td>IFS</td><td>イフ エス</td></tr><tr><td>IMAGE</td><td>イメージ</td></tr><tr><td>IMPORTDATA</td><td>インポートデータ</td></tr><tr><td>IMPORTHTML</td><td>インポート エイチティーエムエル</td></tr><tr><td>IMPORTRANGE</td><td>インポートレンジ</td></tr><tr><td>IMPORTXML</td><td>インポート エックスエムエル</td></tr><tr><td>INDEX</td><td>インデックス</td></tr><tr><td>INDIRECT</td><td>インダイレクト</td></tr><tr><td>INT</td><td>イント</td></tr><tr><td>ISBLANK</td><td>イズ ブランク</td></tr><tr><td>ISERROR</td><td>イズ エラー</td></tr><tr><td>ISNUMBER</td><td>イズ ナンバー</td></tr><tr><td>ISTEXT</td><td>イズ テキスト</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">「J」〜「M」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>JOIN</td><td>ジョイン</td></tr><tr><td>LARGE</td><td>ラージ</td></tr><tr><td>LEFT</td><td>レフト</td></tr><tr><td>LEN</td><td>レングス</td></tr><tr><td>LOWER</td><td>ロウアー</td></tr><tr><td>MATCH</td><td>マッチ</td></tr><tr><td>MAX</td><td>マックス</td></tr><tr><td>MEDIAN</td><td>メディアン</td></tr><tr><td>MID</td><td>ミッド</td></tr><tr><td>MIN</td><td>ミニマム</td></tr><tr><td>MOD</td><td>モッド</td></tr><tr><td>MONTH</td><td>マンス</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc23">N〜Z の関数読み方一覧</span></h2>



<p class="wp-block-paragraph">最後はN〜Zの関数です。REGEX系・SORT系のSheets独自関数もこのグループに含まれます。</p>



<h3 class="wp-block-heading"><span id="toc24">「N」「O」「P」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>NOT</td><td>ノット</td></tr><tr><td>NOW</td><td>ナウ</td></tr><tr><td>OR</td><td>オア</td></tr><tr><td>PRODUCT</td><td>プロダクト</td></tr><tr><td>PROPER</td><td>プロパー</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc25">「Q」「R」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>QUERY</td><td>クエリー</td></tr><tr><td>RANK</td><td>ランク</td></tr><tr><td>REGEXEXTRACT</td><td>レジェックスエクストラクト</td></tr><tr><td>REGEXMATCH</td><td>レジェックスマッチ</td></tr><tr><td>REGEXREPLACE</td><td>レジェックスリプレイス</td></tr><tr><td>RIGHT</td><td>ライト</td></tr><tr><td>ROUND</td><td>ラウンド</td></tr><tr><td>ROUNDDOWN</td><td>ラウンドダウン</td></tr><tr><td>ROUNDUP</td><td>ラウンドアップ</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">「S」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>SEQUENCE</td><td>シーケンス</td></tr><tr><td>SMALL</td><td>スモール</td></tr><tr><td>SORT</td><td>ソート</td></tr><tr><td>SORTN</td><td>ソート エヌ</td></tr><tr><td>SPARKLINE</td><td>スパークライン</td></tr><tr><td>SPLIT</td><td>スプリット</td></tr><tr><td>SUBSTITUTE</td><td>サブスティテュート</td></tr><tr><td>SUM</td><td>サム</td></tr><tr><td>SUMIF</td><td>サム イフ</td></tr><tr><td>SUMIFS</td><td>サム イフ エス</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc27">「T」〜「Z」から始まる関数の読み方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>読み方</th></tr></thead><tbody><tr><td>TEXT</td><td>テキスト</td></tr><tr><td>TEXTJOIN</td><td>テキストジョイン</td></tr><tr><td>TODAY</td><td>トゥデイ</td></tr><tr><td>TRIM</td><td>トリム</td></tr><tr><td>TRUE</td><td>トゥルー</td></tr><tr><td>UNIQUE</td><td>ユニーク</td></tr><tr><td>UPPER</td><td>アッパー</td></tr><tr><td>VALUE</td><td>バリュー</td></tr><tr><td>VLOOKUP</td><td>ブイ ルックアップ</td></tr><tr><td>XLOOKUP</td><td>エックス ルックアップ</td></tr><tr><td>XMATCH</td><td>エックス マッチ</td></tr><tr><td>YEAR</td><td>イヤー</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc28">まとめ</span></h2>



<p class="wp-block-paragraph">スプレッドシート関数の読み方を、アルファベット順とSheets独自関数の専用セクションでまとめました。最後に大事なポイントを振り返ります。</p>



<ul class="wp-block-list"><li>Googleは公式なカタカナ読みを統一していないため、読み方は揺れることがあります</li><li>接頭辞・接尾辞のパターン（GOOGLE-/IMPORT-/REGEX-/-IF など）を覚えると推測しやすくなります</li><li>ARRAYFORMULA（アレイフォーミュラ）・QUERY（クエリー）・IMPORTRANGE（インポートレンジ）はSheets独自で間違えやすい関数です</li></ul>



<p class="wp-block-paragraph">会議やチャットで関数名を伝えるとき、読み方に自信があるとコミュニケーションがスムーズになります。気になる関数があったら、リンク先で詳しい使い方もチェックしてみてください。Excel版の読み方も知りたい方は、<a href="https://mashukabu.com/excel-function-alphabetical-order-pronunciation/">Excel関数の読み方一覧</a>もあわせてどうぞ。</p>



<p class="wp-block-paragraph">スプレッドシートの実務でよく使う関数も解説しています。検索や照合は<a href="https://mashukabu.com/sheets-vlookup-guide/">VLOOKUP関数の使い方ガイド</a>が便利です。動的なリスト作成は<a href="https://mashukabu.com/sheets-unique-sequence-sort-dynamic-list/">UNIQUE・SEQUENCE・SORTで動的リストを作る方法</a>が参考になります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/sheets-function-pronunciation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートで行・列削除後にFILTER/QUERYが崩れる原因と修正法</title>
		<link>https://mashukabu.com/spreadsheet-filter-query-row-column-delete-fix/</link>
					<comments>https://mashukabu.com/spreadsheet-filter-query-row-column-delete-fix/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 01:09:43 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[FILTER関数]]></category>
		<category><![CDATA[QUERY関数]]></category>
		<category><![CDATA[列削除]]></category>
		<category><![CDATA[行削除]]></category>
		<category><![CDATA[関数エラー]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7939</guid>

					<description><![CDATA[Googleスプレッドシートで行・列を削除した後にFILTER関数やQUERY関数が崩れる原因を解説。#REF!エラーや列ずれの修正方法と、INDIRECT関数・名前付き範囲を使った予防策を具体的な数式例付きで紹介。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「昨日まで普通に動いていたFILTERが、列を1本消しただけで真っ赤なエラー」「QUERYの結果が突然ズレて、商品名のはずの列に単価が表示される」。こんな経験、ありませんか。</p>



<p class="wp-block-paragraph">スプレッドシートでデータ集計の自動化を進めるほど、行や列の削除1つで関数が連鎖的に壊れてしまうリスクは大きくなります。特に FILTER関数と QUERY関数は、参照範囲を絶対位置で指定するため、データ構造の変更にとても弱い関数です。</p>



<p class="wp-block-paragraph">この記事では、FILTER と QUERY が「行・列削除によって崩れる3つのパターン」を整理し、それぞれの原因の見分け方、具体的な修正手順、IMPORTRANGE 経由のケースの対処、そして二度と同じトラブルに巻き込まれないための予防策まで、ビフォー・アフター形式の数式例を使って解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">FILTERやQUERYが崩れる3つのパターン</a><ol><li><a href="#toc2" tabindex="0">パターン1：参照先が空欄になる・#REF!が表示される</a></li><li><a href="#toc3" tabindex="0">パターン2：「FILTERの範囲サイズが一致しません」エラー</a></li><li><a href="#toc4" tabindex="0">パターン3：エラーは出ないが意図しない列が表示される</a></li></ol></li><li><a href="#toc5" tabindex="0">原因の診断方法（どこが壊れているかの特定）</a><ol><li><a href="#toc6" tabindex="0">ステップ1：エラーセルを選択して数式バーを確認する</a></li><li><a href="#toc7" tabindex="0">ステップ2：エラーメッセージのバリエーションで切り分ける</a></li><li><a href="#toc8" tabindex="0">ステップ3：参照先のデータを別の場所に展開して確認する</a></li></ol></li><li><a href="#toc9" tabindex="0">FILTER関数の修正方法</a><ol><li><a href="#toc10" tabindex="0">修正例1：#REF!が条件式に出ている場合</a></li><li><a href="#toc11" tabindex="0">修正例2：範囲サイズが一致しないエラーの場合</a></li><li><a href="#toc12" tabindex="0">修正例3：列指定が「意図しない列」になっている場合</a></li><li><a href="#toc13" tabindex="0">修正のチェックリスト</a></li></ol></li><li><a href="#toc14" tabindex="0">QUERY関数の修正方法（Col番号のずれ対策含む）</a><ol><li><a href="#toc15" tabindex="0">修正例1：SELECT句のアルファベット指定がずれた場合</a></li><li><a href="#toc16" tabindex="0">修正例2：Col番号指定のずれを修正する</a></li><li><a href="#toc17" tabindex="0">QUERY独自のチェックポイント</a></li></ol></li><li><a href="#toc18" tabindex="0">IMPORTRANGEを使っている場合の対処</a><ol><li><a href="#toc19" tabindex="0">IMPORTRANGE経由でずれる典型パターン</a></li><li><a href="#toc20" tabindex="0">対処の手順</a></li><li><a href="#toc21" tabindex="0">アクセス許可エラーが混ざるケース</a></li></ol></li><li><a href="#toc22" tabindex="0">今後のための予防策</a><ol><li><a href="#toc23" tabindex="0">予防策1：名前付き範囲を活用する</a></li><li><a href="#toc24" tabindex="0">予防策2：INDIRECT関数で参照を文字列化する</a></li><li><a href="#toc25" tabindex="0">予防策3：列全体指定・テーブル構造で運用する</a></li><li><a href="#toc26" tabindex="0">予防策4：データ構造を「テーブル形式」で固定する</a></li><li><a href="#toc27" tabindex="0">予防策の組み合わせ早見表</a></li></ol></li><li><a href="#toc28" tabindex="0">修正後の確認方法</a><ol><li><a href="#toc29" tabindex="0">確認1：抽出件数と元データの突き合わせ</a></li><li><a href="#toc30" tabindex="0">確認2：列順・列内容のサンプリング</a></li><li><a href="#toc31" tabindex="0">確認3：依存している他の数式・グラフへの影響</a></li><li><a href="#toc32" tabindex="0">確認4：実際に行・列を追加して再テストする</a></li></ol></li><li><a href="#toc33" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">FILTERやQUERYが崩れる3つのパターン</span></h2>



<p class="wp-block-paragraph">「数式を直したいのに、そもそも何が壊れているのか分からない」。これがこの問題のいちばん厄介なところです。</p>



<p class="wp-block-paragraph">行・列を削除したあとに FILTER や QUERY が崩れる現象は、見た目こそ似ていますが、内部的には大きく3つのパターンに分類できます。まずはそれぞれの症状を把握しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">パターン1：参照先が空欄になる・#REF!が表示される</span></h3>



<p class="wp-block-paragraph">もっとも分かりやすい崩れ方が、セルに <code>#REF!</code> という赤いエラーが表示されるケースです。</p>



<p class="wp-block-paragraph"><code>#REF!</code> は「参照先がもう存在しません」というスプレッドシートからのメッセージで、数式が参照していたセル・範囲が削除されたときに発生します。たとえば C列を参照していた数式があったとして、その C列を削除すると、数式の中の <code>C2:C100</code> という部分が <code>#REF!</code> という文字列に置き換わってしまいます。</p>



<pre class="wp-block-code"><code>[削除前] =FILTER(A2:D100, C2:C100=&quot;東京&quot;)
[削除後] =FILTER(A2:D100, #REF!=&quot;東京&quot;)    ← C列を消した結果</code></pre>



<p class="wp-block-paragraph">数式バーを見ると <code>#REF!</code> という文字がそのまま埋め込まれているので、原因の特定自体は比較的かんたんです。</p>



<h3 class="wp-block-heading"><span id="toc3">パターン2：「FILTERの範囲サイズが一致しません」エラー</span></h3>



<p class="wp-block-paragraph">FILTER関数特有のエラーで、数式が壊れているように見えるのに <code>#REF!</code> ではなく「範囲サイズが一致しません」というメッセージが返るケースです。</p>



<p class="wp-block-paragraph">このエラーは、絞り込み対象の範囲（行数または列数）と、条件式が評価する範囲のサイズが一致しないときに発生します。列を削除した影響で、範囲指定と条件式の対応関係がずれてしまうことが原因です。</p>



<pre class="wp-block-code"><code>[削除前] =FILTER(A2:D100, B2:B100=&quot;東京&quot;)    ← A〜D（4列）×100行に対し条件はB列
[削除後] =FILTER(A2:C100, B2:B100=&quot;東京&quot;)    ← データ範囲は3列に縮んだが条件範囲はそのまま</code></pre>



<p class="wp-block-paragraph">この場合はエラーメッセージこそ出ますが、参照先の文字列としては正しい範囲が残っているため、<code>#REF!</code> のような分かりやすい印は残りません。</p>



<h3 class="wp-block-heading"><span id="toc4">パターン3：エラーは出ないが意図しない列が表示される</span></h3>



<p class="wp-block-paragraph">実はいちばん怖いのが、この「無言で壊れる」パターンです。</p>



<p class="wp-block-paragraph">QUERY関数で <code>SELECT A, C, D</code> のようにアルファベット指定をしているとき、間にある列を削除すると、列の繰り上がりが起きてしまいます。SELECT 句の文字列自体は変わらないため、エラーは出ませんが、取り出している列は元の意図とは別のものになります。</p>



<pre class="wp-block-code"><code>[削除前] =QUERY(A1:E100, &quot;SELECT A, C, D&quot;)    ← A=日付, C=商品名, D=単価
[C列削除] =QUERY(A1:D100, &quot;SELECT A, C, D&quot;)   ← C列削除で単価がC列に繰り上がり、DはもとのE列</code></pre>



<p class="wp-block-paragraph">C列（商品名）を削除すると、もともと D列にあった単価が C列に繰り上がります。SELECT 句で <code>C</code> を指定しているので、結果として「商品名のつもりだったセル」に単価が表示されることになります。</p>



<p class="wp-block-paragraph">集計結果が間違っていることに気づかないまま、レポートやダッシュボードに流してしまうリスクがあるので、特に注意したいパターンです。</p>



<h2 class="wp-block-heading"><span id="toc5">原因の診断方法（どこが壊れているかの特定）</span></h2>



<p class="wp-block-paragraph">崩れの3パターンを頭に入れたら、次は「目の前の数式がどれに該当するか」を素早く見極めましょう。</p>



<p class="wp-block-paragraph">ここでは「数式を読む順番」と「チェックすべきポイント」を紹介します。直すよりも先に、原因の切り分けが重要です。</p>



<h3 class="wp-block-heading"><span id="toc6">ステップ1：エラーセルを選択して数式バーを確認する</span></h3>



<p class="wp-block-paragraph">最初にやるべきは、エラーが出ているセルをクリックして数式バーを開くことです。</p>



<p class="wp-block-paragraph">スプレッドシート上のセル表示だけを見て直そうとすると、隣接する別の数式の影響と混ざってしまうことがあります。必ず数式バーで「いまの数式の中身」を確認しましょう。</p>



<p class="wp-block-paragraph">確認するポイントは次の3つです。</p>



<ol class="wp-block-list"><li>数式の中に <code>#REF!</code> という文字列が含まれているか</li><li>範囲指定（例: <code>A2:D100</code>）が、いま見えているデータの範囲と合っているか</li><li>QUERYの SELECT 句や ORDER BY 句に書かれた列記号が、現在の列構成と一致しているか</li></ol>



<p class="wp-block-paragraph">これだけで、パターン1〜3のどれに該当するかがほぼ判別できます。</p>



<h3 class="wp-block-heading"><span id="toc7">ステップ2：エラーメッセージのバリエーションで切り分ける</span></h3>



<p class="wp-block-paragraph">スプレッドシートが返すエラーや警告には種類があります。代表的なものを整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>表示されているもの</th><th>想定される原因</th><th>該当パターン</th></tr></thead><tbody><tr><td><code>#REF!</code> がセル全体に表示</td><td>数式内の参照（範囲・列・セル）が削除された</td><td>パターン1</td></tr><tr><td>「FILTERの範囲サイズが一致しません」</td><td>範囲と条件の行数または列数が違う</td><td>パターン2</td></tr><tr><td><code>#N/A</code>（該当データなし）</td><td>条件に合致する行が存在しないだけ</td><td>削除と無関係なケースもあり</td></tr><tr><td>エラーなしだが値がズレている</td><td>列削除により SELECT の列記号が別データを指している</td><td>パターン3</td></tr><tr><td>「数式の解析エラーです」</td><td>SELECT 句などの文法ミス、またはデータ範囲外の列を指定している</td><td>パターン3の一種</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「エラーが出ていないから大丈夫」ではなく、「結果の中身が想定どおりか」まで確認するのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc8">ステップ3：参照先のデータを別の場所に展開して確認する</span></h3>



<p class="wp-block-paragraph">QUERY や IMPORTRANGE のように内部で配列を扱う関数は、何列・何行のデータが返ってきているか直感的に分かりにくい場合があります。</p>



<p class="wp-block-paragraph">このときは、いったん空きセルに次のような確認用の数式を置いてみるのが有効です。</p>



<pre class="wp-block-code"><code>=QUERY(A1:Z100, &quot;SELECT *&quot;)</code></pre>



<p class="wp-block-paragraph"><code>SELECT *</code> で全列をそのまま表示させると、現在の列構成を一目で確認できます。何列目に何のデータが入っているかが見えれば、SELECT 句で何を指定すべきかも明確になります。</p>



<h2 class="wp-block-heading"><span id="toc9">FILTER関数の修正方法</span></h2>



<p class="wp-block-paragraph">「とりあえず動かしたい」と思っても、慌てて修正するとさらに壊してしまうことがあります。</p>



<p class="wp-block-paragraph">ここでは、パターンごとの具体的な修正手順を、ビフォー・アフター形式で見ていきましょう。FILTER関数の基本構文を確認したい方は <a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数の使い方</a> もあわせてご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc10">修正例1：#REF!が条件式に出ている場合</span></h3>



<p class="wp-block-paragraph">C列（都道府県）を誤って削除してしまったケースを想定します。</p>



<pre class="wp-block-code"><code>[崩れた状態]
=FILTER(A2:D100, #REF!=&quot;東京&quot;)

[修正後]
=FILTER(A2:C100, C2:C100=&quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph">修正の流れは次のとおりです。</p>



<ol class="wp-block-list"><li>削除した「都道府県」のデータを別の列に復元する（バックアップから貼り直す・元データから再取得する）</li><li>データの新しい配置で、対象範囲を <code>A2:C100</code> のように書き直す</li><li>条件式の参照を、新しい列の位置（例: <code>C2:C100</code>）に修正する</li><li>入力後に Enter を押し、抽出結果が想定どおりか確認する</li></ol>



<p class="wp-block-paragraph">「削除した列をそのまま復元せず、別の列に置き直す」ケースもあります。その場合は条件式の参照先を、実際にデータが置かれた列に変更してください。</p>



<h3 class="wp-block-heading"><span id="toc11">修正例2：範囲サイズが一致しないエラーの場合</span></h3>



<p class="wp-block-paragraph">「FILTERの範囲サイズが一致しません」エラーが出ているケースです。</p>



<pre class="wp-block-code"><code>[崩れた状態]
=FILTER(A2:C100, B2:B500=&quot;東京&quot;)    ← データは100行までしかないのに条件は500行まで

[修正後]
=FILTER(A2:C100, B2:B100=&quot;東京&quot;)    ← 範囲と条件の行数を揃える</code></pre>



<p class="wp-block-paragraph">このエラーは、行の削除や挿入、行範囲のコピーミスでよく発生します。修正のポイントは「範囲と条件の行数（または列数）を完全に揃える」ことです。</p>



<p class="wp-block-paragraph">可能であれば、行数を厳密に指定せず列全体で指定する書き方に変えると、行の増減に対しても強くなります。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C, B2:B=&quot;東京&quot;)    ← 行数指定を外し、列全体を対象に</code></pre>



<p class="wp-block-paragraph">ただし、列全体指定にすると下に空行が大量にある場合に処理が重くなったり、空行が結果に混ざることがあります。データ量や運用に合わせて使い分けましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">修正例3：列指定が「意図しない列」になっている場合</span></h3>



<p class="wp-block-paragraph"><code>#REF!</code> は出ていないのに、抽出結果の列が想定とずれているケースです。</p>



<pre class="wp-block-code"><code>[崩れた状態]
=FILTER(A2:C100, B2:B100=&quot;東京&quot;)    ← 期待は「氏名・都道府県・売上」だが、実は「氏名・売上・備考」

[修正後]
=FILTER({A2:A100, C2:C100, E2:E100}, C2:C100=&quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph">FILTER関数では、抽出対象の範囲を波括弧 <code>{}</code> を使って組み立て直すことで、必要な列だけを取り出すことができます。列の並びが変わってしまった環境でも、「ほしい列を明示的に指定する」スタイルに変えることで、意図しないデータを表示してしまう事故を防げます。</p>



<h3 class="wp-block-heading"><span id="toc13">修正のチェックリスト</span></h3>



<p class="wp-block-paragraph">修正後は必ず以下を確認してください。</p>



<ul class="wp-block-list"><li>抽出された行数が、手動で数えた件数と一致しているか</li><li>抽出されたデータの列順が想定どおりか</li><li>条件に該当しないはずのデータが混ざっていないか</li><li>元データに新しい行を追加したとき、結果に反映されるか</li></ul>



<p class="wp-block-paragraph">特に1番目の「件数の一致」は、見落としに気づくための最重要チェックポイントです。</p>



<h2 class="wp-block-heading"><span id="toc14">QUERY関数の修正方法（Col番号のずれ対策含む）</span></h2>



<p class="wp-block-paragraph">QUERYは強力ですが、SELECT 句の中身が「文字列」のため、列削除に対して特に弱い関数です。</p>



<p class="wp-block-paragraph">ここでは、アルファベット指定で壊れたパターンと、<code>Col1, Col2…</code> のような相対番号指定のずれを、それぞれ修正していきましょう。QUERY関数そのものの使い方を復習したい方は <a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数の使い方</a> を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc15">修正例1：SELECT句のアルファベット指定がずれた場合</span></h3>



<p class="wp-block-paragraph">D列（商品名）を削除して、E列以降が繰り上がったケースを想定します。</p>



<pre class="wp-block-code"><code>[崩れた状態]
=QUERY(A1:E100, &quot;SELECT A, D, E&quot;)
→ Aは日付（OK）、DはもともとEだった単価、Eはもう存在しない

[修正後]
=QUERY(A1:D100, &quot;SELECT A, C, D&quot;)
→ A=日付, C=単価, D=数量 のように、現在の列構成に合わせて書き直す</code></pre>



<p class="wp-block-paragraph">修正手順は次のとおりです。</p>



<ol class="wp-block-list"><li>元データの何列目に何があるかを <code>SELECT *</code> で確認する</li><li>ほしいデータが何列目（A・B・C…）にあるかを把握する</li><li>SELECT 句の列記号を、現在の列構成に合わせて書き直す</li><li>WHERE 句・ORDER BY 句・GROUP BY 句にも同じ列記号が含まれていないか確認する</li></ol>



<p class="wp-block-paragraph">特に WHERE 句・ORDER BY 句は見落としやすいポイントです。たとえば <code>SELECT A, D WHERE D > 1000 ORDER BY D</code> のように同じ列を3か所で参照している場合、3か所すべてを修正する必要があります。</p>



<h3 class="wp-block-heading"><span id="toc16">修正例2：Col番号指定のずれを修正する</span></h3>



<p class="wp-block-paragraph"><code>Col1, Col2, Col3…</code> という相対番号指定は、IMPORTRANGE を組み合わせた場合や、データ範囲が動的に変わる場合に使われます。</p>



<p class="wp-block-paragraph">Col番号はデータ範囲の「一番左の列を1とした相対位置」を表します。たとえば <code>A1:F100</code> を対象にしている場合、Col1 はA列、Col6 はF列を意味します。</p>



<pre class="wp-block-code"><code>[崩れた状態]
=QUERY(A1:F100, &quot;SELECT Col1, Col3, Col5 WHERE Col2='東京'&quot;)
→ B列を削除したため、もともとCol3だった商品名が今はCol2に繰り上がっている

[修正後]
=QUERY(A1:E100, &quot;SELECT Col1, Col2, Col4 WHERE Col1='東京'&quot;)
→ B列削除で列が1つずつ前にずれたので、それに合わせて番号を1つずつ前にずらす</code></pre>



<p class="wp-block-paragraph">Col番号は「データ範囲内での相対位置」なので、データ範囲そのものが変わった場合は、SELECT 句の番号も連動して変更が必要です。</p>



<h3 class="wp-block-heading"><span id="toc17">QUERY独自のチェックポイント</span></h3>



<p class="wp-block-paragraph">QUERYを修正したあとは、次の項目も確認しておきましょう。</p>



<ul class="wp-block-list"><li>集計関数（SUM, AVG, COUNT）の対象列が正しいか</li><li>WHERE 句の比較値が、列のデータ型と一致しているか（数値列に文字列を指定していないか）</li><li>ORDER BY 句のソート列が、SELECT 句に含まれているか（必須ではないが、含まれていないと並び順の意図が分かりにくくなる）</li><li>LABEL 句で付けた列名が、修正後の列に対して妥当か</li></ul>



<p class="wp-block-paragraph">これらをまとめてチェックすると、「動くけど結果がおかしい」状態を見逃しにくくなります。</p>



<h2 class="wp-block-heading"><span id="toc18">IMPORTRANGEを使っている場合の対処</span></h2>



<p class="wp-block-paragraph">別ファイルからデータを取り込んでいる場合、崩れたときの調査がさらに複雑になります。</p>



<p class="wp-block-paragraph">IMPORTRANGE 経由のFILTER/QUERYは、自分のファイルだけを見ても原因がわからないため、参照元シートも合わせて確認する必要があります。IMPORTRANGE関数の基本については <a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">IMPORTRANGEの完全ガイド</a> を参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc19">IMPORTRANGE経由でずれる典型パターン</span></h3>



<p class="wp-block-paragraph">QUERYとIMPORTRANGEを組み合わせた書式は次のようになります。</p>



<pre class="wp-block-code"><code>=QUERY(
  IMPORTRANGE(&quot;スプレッドシートURL&quot;, &quot;Sheet1!A:F&quot;),
  &quot;SELECT Col1, Col3, Col5 WHERE Col2='東京'&quot;
)</code></pre>



<p class="wp-block-paragraph">このとき、参照元のスプレッドシートでB列を削除すると、IMPORTRANGEが返す配列の列構成も変わります。元の Col3（商品名）が Col2 に繰り上がる、といった現象が起こります。</p>



<p class="wp-block-paragraph">QUERY側の SELECT 句は文字列なので変わらず、結果として「商品名が表示されるはずの列に単価が出る」といったパターン3の事故が発生します。</p>



<h3 class="wp-block-heading"><span id="toc20">対処の手順</span></h3>



<p class="wp-block-paragraph">IMPORTRANGE経由の崩れを直すときは、次の順番で確認しましょう。</p>



<ol class="wp-block-list"><li><strong>参照元のシートを開く</strong>：実際の列構成を <code>SELECT *</code> 相当で確認する</li><li><strong>IMPORTRANGEだけで取得結果を確認</strong>：いったん <code>=IMPORTRANGE("URL", "Sheet1!A:F")</code> だけを別セルに置き、現在何列・どんなデータが返ってくるかを見る</li><li><strong>Col番号と実列の対応をマッピング</strong>：「いまの Col1 は何のデータか」を一覧化する</li><li><strong>QUERYの SELECT 句を書き直す</strong>：現在の列構成に合わせて Col番号を修正する</li></ol>



<p class="wp-block-paragraph">参照元のシートでよく列の追加・削除が発生する場合は、IMPORTRANGE で取得する範囲を <code>A:Z</code> のように広めにとっておき、QUERY側で <code>SELECT Col1, Col5…</code> と必要な列だけ取り出すスタイルにしておくと、追加には強くなります（ただし削除には依然として弱いので、後述の予防策も併用してください）。</p>



<h3 class="wp-block-heading"><span id="toc21">アクセス許可エラーが混ざるケース</span></h3>



<p class="wp-block-paragraph">崩れと同時にアクセス許可エラーが出ている場合は、まず許可エラーの解消が先です。</p>



<p class="wp-block-paragraph">IMPORTRANGE のアクセス許可は、参照元シートの所有者が変わったり、共有設定が変更されたりすると外れることがあります。詳しい対処は <a href="https://mashukabu.com/sheets-importrange-access-error/">IMPORTRANGEのアクセス許可エラー対処</a> を参照してください。</p>



<p class="wp-block-paragraph">許可エラーを解消したうえで、改めて Col番号のマッピングを行うのが安全な進め方です。</p>



<h2 class="wp-block-heading"><span id="toc22">今後のための予防策</span></h2>



<p class="wp-block-paragraph">「直しても、また誰かが列を削除して壊れる」。これは多くのチーム運用で発生する悩みです。</p>



<p class="wp-block-paragraph">最後の砦として、ここでは数式そのものを「行・列削除に強い書き方」へ変える方法を3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc23">予防策1：名前付き範囲を活用する</span></h3>



<p class="wp-block-paragraph">スプレッドシートには「データ → 名前付き範囲」というメニューがあり、特定の範囲に名前を付けて関数から参照できます。</p>



<p class="wp-block-paragraph">名前付き範囲のメリットは、範囲内で行を挿入・削除しても、スプレッドシートが自動的に範囲定義を更新してくれる点です。</p>



<pre class="wp-block-code"><code>[名前付き範囲を使わない場合]
=FILTER(顧客マスタ!A2:D1000, 顧客マスタ!C2:C1000=&quot;東京&quot;)

[名前付き範囲を使う場合]
=FILTER(顧客データ, 都道府県列=&quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph">名前付き範囲の登録手順は次のとおりです。</p>



<ol class="wp-block-list"><li>範囲指定したいセルをドラッグで選択する</li><li>メニューの「データ」→「名前付き範囲」をクリック</li><li>範囲に分かりやすい名前を付ける（例: <code>顧客データ</code>、<code>都道府県列</code>）</li><li>「完了」を押して登録する</li></ol>



<p class="wp-block-paragraph">数式の読みやすさも上がるため、チームで共有するスプレッドシートには特におすすめです。ただし、名前付き範囲そのものを削除すると参照している数式が一斉にエラーになるため、命名と削除のルールはチームで合意しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc24">予防策2：INDIRECT関数で参照を文字列化する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT関数の使い方</a> は、文字列で指定したセル番地を参照に変換する関数です。</p>



<p class="wp-block-paragraph">文字列はセルの移動や行・列の削除では変化しないため、INDIRECT を介した参照は「位置が固定される」性質を持ちます。</p>



<pre class="wp-block-code"><code>[通常の参照]
=QUERY(Sheet1!A1:E100, &quot;SELECT A, C, D&quot;)

[INDIRECT経由]
=QUERY(INDIRECT(&quot;Sheet1!A1:E100&quot;), &quot;SELECT A, C, D&quot;)</code></pre>



<p class="wp-block-paragraph">通常の参照では、シート内で行を挿入すると <code>A1:E100</code> が自動的にずれてしまいます。一方 INDIRECT で文字列指定にすれば、<code>A1:E100</code> という位置は変わらず、常に同じ番地を参照し続けます。</p>



<p class="wp-block-paragraph">注意点として、INDIRECTは「揮発性関数」と呼ばれる種類の関数で、シート内の何かが変わるたびに再計算が走ります。大量に使うと、ファイル全体の動作が重くなることがあります。</p>



<ul class="wp-block-list"><li>データ件数が数千行以下：問題なく使える</li><li>データ件数が数万行・複数シートにまたがる：パフォーマンス劣化に注意</li><li>数十のセルで INDIRECT を多用する：他の方法（名前付き範囲・テーブル構造）の併用を検討</li></ul>



<p class="wp-block-paragraph">「行削除で位置がずれない」というメリットと、「再計算負荷が大きい」というデメリットを天秤にかけて使い分けるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc25">予防策3：列全体指定・テーブル構造で運用する</span></h3>



<p class="wp-block-paragraph">データ範囲を「列全体」で指定する方法もあります。</p>



<pre class="wp-block-code"><code>[行数まで指定]
=FILTER(A2:D100, B2:B100=&quot;東京&quot;)

[列全体で指定]
=FILTER(A2:D, B2:B=&quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph"><code>A2:D</code> のように行数を省略すると、A〜D列のヘッダー行を除く全データが対象になります。行が増えても自動的に範囲が広がるため、行の増減に対して堅牢です。</p>



<p class="wp-block-paragraph">ただし、これは「行」の増減には強い一方で、「列」の削除には依然として弱いので注意しましょう。列削除に対しては、上の名前付き範囲・INDIRECTと組み合わせる必要があります。</p>



<h3 class="wp-block-heading"><span id="toc26">予防策4：データ構造を「テーブル形式」で固定する</span></h3>



<p class="wp-block-paragraph">そもそも、行・列の削除がしょっちゅう発生するスプレッドシートは「データ構造として弱い」状態です。</p>



<p class="wp-block-paragraph">長く運用するスプレッドシートでは、データ構造を以下のように整えるとトラブルが激減します。</p>



<ul class="wp-block-list"><li><strong>1行目はヘッダー固定</strong>：列の意味（日付・氏名・売上 など）をヘッダー行に明記する</li><li><strong>列を消さない運用</strong>：使わなくなった列も削除せず「非表示」にする、または「アーカイブ列」として残す</li><li><strong>集計用シートと入力用シートを分離</strong>：入力するシートと集計するシートを分けることで、構造変更の影響範囲を限定する</li><li><strong>テンプレートを文書化</strong>：「この列は削除厳禁」「列の挿入は右端のみ」といったルールをシート内に記載する</li></ul>



<p class="wp-block-paragraph">技術的な工夫よりも、まずは「壊れにくいデータ構造で運用する」ことを最初に検討してください。</p>



<h3 class="wp-block-heading"><span id="toc27">予防策の組み合わせ早見表</span></h3>



<p class="wp-block-paragraph">それぞれの予防策の特性を表にまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>予防策</th><th>行追加に強い</th><th>行削除に強い</th><th>列削除に強い</th><th>パフォーマンス影響</th></tr></thead><tbody><tr><td>名前付き範囲</td><td>◎</td><td>◎</td><td>△（範囲内のみ）</td><td>なし</td></tr><tr><td>INDIRECT</td><td>○</td><td>◎</td><td>×</td><td>あり（揮発性）</td></tr><tr><td>列全体指定</td><td>◎</td><td>◎</td><td>×</td><td>大データ時に注意</td></tr><tr><td>テーブル構造ルール</td><td>◎</td><td>◎</td><td>◎</td><td>なし</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">完全な防止策は存在しません。複数の予防策を組み合わせて、運用に合った形に整えるのが現実的な解です。</p>



<h2 class="wp-block-heading"><span id="toc28">修正後の確認方法</span></h2>



<p class="wp-block-paragraph">「直したつもりが、別の場所が静かに壊れている」。これも自動化スプレッドシートで起こりがちな事故です。</p>



<p class="wp-block-paragraph">数式の修正は、それ自体が新しい変更行為です。最後に、修正後の確認手順をまとめておきます。</p>



<h3 class="wp-block-heading"><span id="toc29">確認1：抽出件数と元データの突き合わせ</span></h3>



<p class="wp-block-paragraph">まず、FILTER や QUERY が返す件数が、元データの該当件数と一致するかをチェックします。</p>



<pre class="wp-block-code"><code>[確認用]
=COUNTIF(B2:B100, &quot;東京&quot;)</code></pre>



<p class="wp-block-paragraph"><code>COUNTIF</code> で「東京」の件数を数え、FILTER の結果と一致していれば、抽出条件は正しく動いていると判断できます。QUERY で集計をしている場合は、<code>SELECT COUNT(A) WHERE B='東京'</code> のような簡易クエリと結果を見比べると確実です。</p>



<h3 class="wp-block-heading"><span id="toc30">確認2：列順・列内容のサンプリング</span></h3>



<p class="wp-block-paragraph">抽出結果の上から数行を目視で確認し、列順が想定どおりか・データ型が混ざっていないかを見ましょう。</p>



<p class="wp-block-paragraph">特に、もともと「文字列だった列」と「数値だった列」が入れ替わっていないかは、見た目では気づきにくいポイントです。セルの右寄せ・左寄せの違いを利用すると、ざっと識別できます。</p>



<h3 class="wp-block-heading"><span id="toc31">確認3：依存している他の数式・グラフへの影響</span></h3>



<p class="wp-block-paragraph">FILTER や QUERY の結果を、別のセルや別シートで参照しているケースは多いはずです。</p>



<p class="wp-block-paragraph">修正後は、次の点もあわせて確認しましょう。</p>



<ol class="wp-block-list"><li>FILTER/QUERY の結果を <code>SUM</code>・<code>AVERAGE</code> などで集計しているセルの値が妥当か</li><li>FILTER/QUERY の結果を元にしているグラフが、想定どおり描画されているか</li><li>FILTER/QUERY の結果を IMPORTRANGE で別ファイルから読み込んでいる場合、そのファイルでも値が正しく表示されているか</li></ol>



<p class="wp-block-paragraph">スプレッドシートは1か所の変更が広範囲に波及します。「点」ではなく「線」で動作確認するのがコツです。</p>



<h3 class="wp-block-heading"><span id="toc32">確認4：実際に行・列を追加して再テストする</span></h3>



<p class="wp-block-paragraph">最後に、修正後の数式が「次の変更」にも耐えられるかを軽くテストしておくと安心です。</p>



<ol class="wp-block-list"><li>元データに新しい行を1行追加してみる → FILTER/QUERY の結果が増えるか</li><li>該当しないデータを1行追加してみる → 結果に混ざらないか</li><li>ヘッダーは触らず、不要な列を非表示にしてみる → 結果に変化がないか</li></ol>



<p class="wp-block-paragraph">「変更しても壊れないこと」を確認できれば、その数式は実務運用に十分に耐えうる品質と言えます。</p>



<h2 class="wp-block-heading"><span id="toc33">まとめ</span></h2>



<p class="wp-block-paragraph">FILTER関数と QUERY関数が行・列削除によって崩れる現象は、見た目こそ似ていても、原因と対処はそれぞれ違います。</p>



<p class="wp-block-paragraph">この記事のポイントを最後にまとめます。</p>



<ul class="wp-block-list"><li>崩れ方は大きく3パターン：①<code>#REF!</code> エラー、②範囲サイズ不一致、③エラーなしで列がずれる</li><li>原因の特定は「数式バーで参照を確認」「エラーメッセージで切り分け」「SELECT * で元データを確認」の3ステップ</li><li>FILTER関数の修正は、削除後の列構成に合わせて「範囲」と「条件式」の両方を書き直す</li><li>QUERY関数の修正は、SELECT 句・WHERE 句・ORDER BY 句のすべての列記号を見直す</li><li>IMPORTRANGE経由のケースは、参照元シートの状態確認と、Col番号の再マッピングが必須</li><li>予防策は「名前付き範囲」「INDIRECT」「列全体指定」「テーブル構造ルール」の組み合わせで対応する</li><li>修正後は、件数の一致・列順・依存先・追加テストの4段階で確認する</li></ul>



<p class="wp-block-paragraph">特に「エラーが出ていないのに値が間違っている」パターン3は、業務データの信頼性に直結する重大なリスクです。日々の数式運用に、ぜひ予防策まで含めて取り入れてみてください。</p>



<p class="wp-block-paragraph">数式は一度組み立てたら終わりではなく、「壊れにくい形に育てていく」ものです。今回紹介した修正と予防のテクニックが、毎日のスプレッドシート運用の助けになれば幸いです。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-filter-query-row-column-delete-fix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Googleスプレッドシート関数一覧（アルファベット順）｜全関数を名前から検索できる辞書</title>
		<link>https://mashukabu.com/spreadsheet-function-alphabetical-order/</link>
					<comments>https://mashukabu.com/spreadsheet-function-alphabetical-order/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 01:09:35 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[アルファベット順]]></category>
		<category><![CDATA[リファレンス]]></category>
		<category><![CDATA[辞書]]></category>
		<category><![CDATA[関数一覧]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7973</guid>

					<description><![CDATA[Googleスプレッドシートの全関数をアルファベット順にまとめた辞書ページです。関数名がわかっているときはCtrl+Fで素早く検索でき、各関数の解説記事へのリンクからすぐに使い方を確認できます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「あの関数、名前は覚えているけど、どう書くんだったかな？」と思ったとき、関数名さえわかっていればすぐに調べたいですよね。</p>



<p class="wp-block-paragraph">この記事は、Googleスプレッドシートの全関数をアルファベット順にまとめた辞書ページです。関数名をクリックすると、詳しい使い方の解説記事にジャンプできます。ブラウザの検索機能（Ctrl+F / Command+F）で関数名を入力すれば、目的の関数がすぐ見つかりますよ。</p>



<p class="wp-block-paragraph">Excelの関数一覧を探している方は、<a href="https://mashukabu.com/excel-function-alphabetical-order/">Excel関数一覧（アルファベット順）</a>もあわせてどうぞ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">このページの使い方</a></li><li><a href="#toc2" tabindex="0">A〜Cの関数</a><ol><li><a href="#toc3" tabindex="0">「A」から始まる関数</a></li><li><a href="#toc4" tabindex="0">「B」から始まる関数</a></li><li><a href="#toc5" tabindex="0">「C」から始まる関数</a></li></ol></li><li><a href="#toc6" tabindex="0">D〜Fの関数</a><ol><li><a href="#toc7" tabindex="0">「D」から始まる関数</a></li><li><a href="#toc8" tabindex="0">「E」から始まる関数</a></li><li><a href="#toc9" tabindex="0">「F」から始まる関数</a></li></ol></li><li><a href="#toc10" tabindex="0">G〜Iの関数</a><ol><li><a href="#toc11" tabindex="0">「G」から始まる関数</a></li><li><a href="#toc12" tabindex="0">「H」から始まる関数</a></li><li><a href="#toc13" tabindex="0">「I」から始まる関数</a></li></ol></li><li><a href="#toc14" tabindex="0">J〜Mの関数</a><ol><li><a href="#toc15" tabindex="0">「J」から始まる関数</a></li><li><a href="#toc16" tabindex="0">「K」から始まる関数</a></li><li><a href="#toc17" tabindex="0">「L」から始まる関数</a></li><li><a href="#toc18" tabindex="0">「M」から始まる関数</a></li></ol></li><li><a href="#toc19" tabindex="0">N〜Rの関数</a><ol><li><a href="#toc20" tabindex="0">「N」から始まる関数</a></li><li><a href="#toc21" tabindex="0">「O」から始まる関数</a></li><li><a href="#toc22" tabindex="0">「P」から始まる関数</a></li><li><a href="#toc23" tabindex="0">「Q」から始まる関数</a></li><li><a href="#toc24" tabindex="0">「R」から始まる関数</a></li></ol></li><li><a href="#toc25" tabindex="0">S〜Zの関数</a><ol><li><a href="#toc26" tabindex="0">「S」から始まる関数</a></li><li><a href="#toc27" tabindex="0">「T」から始まる関数</a></li><li><a href="#toc28" tabindex="0">「U」から始まる関数</a></li><li><a href="#toc29" tabindex="0">「V」から始まる関数</a></li><li><a href="#toc30" tabindex="0">「W」から始まる関数</a></li><li><a href="#toc31" tabindex="0">「X」から始まる関数</a></li><li><a href="#toc32" tabindex="0">「Y」から始まる関数</a></li><li><a href="#toc33" tabindex="0">「Z」から始まる関数</a></li></ol></li><li><a href="#toc34" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">このページの使い方</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>使い方</th></tr></thead><tbody><tr><td>関数名から探す</td><td>このページでCtrl+F（Mac: Command+F）→ 関数名を入力</td></tr><tr><td>機能・目的から探す</td><td><a href="https://mashukabu.com/spreadsheet-function-list-by-function/">機能別のスプレッドシート関数一覧</a>を参照</td></tr><tr><td>まず何から覚えるか知りたい</td><td><a href="https://mashukabu.com/spreadsheet-function-list-by-function/">機能別一覧の「まず覚えるべき関数10選」</a>を参照</td></tr><tr><td>Excelとの違いを確認する</td><td><a href="https://mashukabu.com/excel-vs-spreadsheet/">ExcelとGoogleスプレッドシートの違い</a>を参照</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>関数名がリンク（青色）になっているものは、クリックすると解説記事が開きます。リンクがない関数は、今後順次追加していきます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">A〜Cの関数</span></h2>



<h3 class="wp-block-heading"><span id="toc3">「A」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-abs-function/">ABS</a></td><td>数値の絶対値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-accrint-function/">ACCRINT</a></td><td>定期利付債の経過利息</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-accrintm-function/">ACCRINTM</a></td><td>満期払い債の経過利息</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-acos-function/">ACOS</a></td><td>逆余弦（アークコサイン）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-acosh-function/">ACOSH</a></td><td>双曲線逆余弦</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-acot-function/">ACOT</a></td><td>逆余接（アークコタンジェント）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-acoth-function/">ACOTH</a></td><td>双曲線逆余接</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-address-function/">ADDRESS</a></td><td>行番号・列番号からセル参照の文字列を作る</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-amordegrc-function/">AMORDEGRC</a></td><td>フランス会計の逓減償却を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-amorlinc-function/">AMORLINC</a></td><td>フランス会計の直線償却を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-and-function/">AND</a></td><td>すべての条件がTRUEのときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-arabic-function/">ARABIC</a></td><td>ローマ数字を数値に変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a></td><td>1つの数式を範囲全体に一括適用する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-asc-function/">ASC</a></td><td>全角の英数カナを半角に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-asin-function/">ASIN</a></td><td>逆正弦（アークサイン）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-asinh-function/">ASINH</a></td><td>双曲線逆正弦</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-atan-function/">ATAN</a></td><td>逆正接（アークタンジェント）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-atan2-function/">ATAN2</a></td><td>XY座標の逆正接</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-atanh-function/">ATANH</a></td><td>双曲線逆正接</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-avedev-function/">AVEDEV</a></td><td>平均偏差</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-average-function/">AVERAGE</a></td><td>数値の平均を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-averagea-function/">AVERAGEA</a></td><td>文字列含む平均</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-averageif-function/">AVERAGEIF</a></td><td>条件付き平均</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-averageifs-function/">AVERAGEIFS</a></td><td>複数条件平均</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc4">「B」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-base-function/">BASE</a></td><td>10進数をN進数に変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-besseli-function/">BESSELI</a></td><td>第1種変形ベッセル関数 In(x) を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-besselj-function/">BESSELJ</a></td><td>第1種ベッセル関数 Jn(x) を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-besselk-function/">BESSELK</a></td><td>第2種変形ベッセル関数 Kn(x) を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bessely-function/">BESSELY</a></td><td>第2種ベッセル関数 Yn(x) を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-beta-dist-function/">BETA.DIST</a></td><td>ベータ分布で確率を推定する完全ガイド</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-beta-inv-function/">BETA.INV</a></td><td>ベータ分布逆関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-betadist-function/">BETADIST</a></td><td>ベータ分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-betainv-function/">BETAINV</a></td><td>ベータ分布逆関数の旧名（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bin2dec-function/">BIN2DEC</a></td><td>2進数を10進数に変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bin2hex-function/">BIN2HEX</a></td><td>2進→16進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bin2oct-function/">BIN2OCT</a></td><td>2進→8進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-binom-dist-function/">BINOM.DIST</a></td><td>二項分布の確率を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-binom-inv-function/">BINOM.INV</a></td><td>二項分布逆関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-binomdist-function/">BINOMDIST</a></td><td>二項分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bitand-function/">BITAND</a></td><td>ビットANDで権限・フラグ管理</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bitlshift-function/">BITLSHIFT</a></td><td>ビット左シフトで2倍計算とフラグ位置生成</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bitor-function/">BITOR</a></td><td>ビットORで権限・フラグを付与する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bitrshift-function/">BITRSHIFT</a></td><td>ビット右シフトで2分の1計算とフラグ抽出</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bitxor-function/">BITXOR</a></td><td>ビットXORでフラグの切り替え・差分検出</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-bycol-function/">BYCOL</a></td><td>各列にLAMBDA関数を適用する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-byrow-function/">BYROW</a></td><td>各行にLAMBDA関数を適用する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">「C」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-ceiling-function/">CEILING</a></td><td>基準値の倍数に切り上げる</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ceiling-math-function/">CEILING.MATH</a></td><td>正方向に切り上げ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ceiling-precise-function/">CEILING.PRECISE</a></td><td>倍数切り上げ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-cell-function/">CELL</a></td><td>セルの書式・位置・内容の情報を取得する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-char-function/">CHAR</a></td><td>文字コードに対応する文字を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-chisq-dist-function/">CHISQ.DIST</a></td><td>カイ二乗分布の確率を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-chisq-dist-rt-function/">CHISQ.DIST.RT</a></td><td>カイ二乗分布（右側）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-chisq-inv-function/">CHISQ.INV</a></td><td>カイ二乗逆関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-chisq-inv-rt-function/">CHISQ.INV.RT</a></td><td>カイ二乗逆関数（右側）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-chisq-test-function/">CHISQ.TEST</a></td><td>カイ二乗検定のp値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-chitest-function/">CHITEST</a></td><td>カイ二乗検定（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-choose-function/">CHOOSE</a></td><td>インデックス番号で値のリストから選ぶ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-choosecols-function/">CHOOSECOLS</a></td><td>配列から指定した列を抽出する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-chooserows-function/">CHOOSEROWS</a></td><td>配列から指定した行を抽出する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-clean-function/">CLEAN</a></td><td>印刷できない制御文字を削除する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-code-function/">CODE</a></td><td>文字列の先頭文字の文字コードを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-column-function/">COLUMN</a></td><td>セル参照の列番号を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-columns-function/">COLUMNS</a></td><td>範囲に含まれる列数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-combin-function/">COMBIN</a></td><td>組み合わせ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-combina-function/">COMBINA</a></td><td>重複組み合わせ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-complex-function/">COMPLEX</a></td><td>実数と虚数から複素数を作成する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-concat-function/">CONCAT</a></td><td>複数の範囲・文字列を結合する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-concatenate-function/">CONCATENATE</a></td><td>複数の文字列を結合する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-confidence-function/">CONFIDENCE</a></td><td>信頼区間（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-confidence-norm-function/">CONFIDENCE.NORM</a></td><td>正規分布の信頼区間</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-confidence-t-function/">CONFIDENCE.T</a></td><td>t分布の信頼区間</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-convert-function/">CONVERT</a></td><td>単位変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-correl-function/">CORREL</a></td><td>2つのデータの相関係数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-cos-function/">COS</a></td><td>余弦（コサイン）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH</a></td><td>双曲線余弦</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-cot-function/">COT</a></td><td>余接（コタンジェント）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-coth-function/">COTH</a></td><td>双曲線余接</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-count-function/">COUNT</a></td><td>数値のみをカウント</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-counta-function/">COUNTA</a></td><td>空白以外のセルを数える方法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-countblank-function/">COUNTBLANK</a></td><td>空白セル数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-countif-function/">COUNTIF</a></td><td>条件付きカウント</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-countifs-function/">COUNTIFS</a></td><td>複数条件カウント</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-coupdaybs-function/">COUPDAYBS</a></td><td>利払日から決済日までの日数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-coupdays-function/">COUPDAYS</a></td><td>利払い期間の日数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-coupdaysnc-function/">COUPDAYSNC</a></td><td>決済日から次の利払日の日数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-coupncd-function/">COUPNCD</a></td><td>次の利払日</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-coupnum-function/">COUPNUM</a></td><td>利払い回数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-couppcd-function/">COUPPCD</a></td><td>前の利払日</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-covar-function/">COVAR</a></td><td>2つのデータの共分散を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-covariance-p-function/">COVARIANCE.P</a></td><td>母共分散を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-covariance-s-function/">COVARIANCE.S</a></td><td>標本共分散を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-critbinom-function/">CRITBINOM</a></td><td>累積二項分布が基準値以下になる最小値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-csc-function/">CSC</a></td><td>余割（コセカント）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-csch-function/">CSCH</a></td><td>双曲線余割</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-cumipmt-function/">CUMIPMT</a></td><td>累計利息</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-cumprinc-function/">CUMPRINC</a></td><td>累計元金</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc6">D〜Fの関数</span></h2>



<h3 class="wp-block-heading"><span id="toc7">「D」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-date-function/">DATE</a></td><td>年・月・日からシリアル値（日付）を作る</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-datedif-function/">DATEDIF</a></td><td>2つの日付の差を年・月・日で求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-datevalue-function/">DATEVALUE</a></td><td>日付を表す文字列をシリアル値に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-daverage-function/">DAVERAGE</a></td><td>条件に合うレコードの平均を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-day-function/">DAY</a></td><td>日付から「日」を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-days-function/">DAYS</a></td><td>2つの日付間の日数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-days360-function/">DAYS360</a></td><td>1年を360日として日数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dcount-function/">DCOUNT</a></td><td>条件に合う数値セルの個数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dcounta-function/">DCOUNTA</a></td><td>条件に合う空白以外のセルの個数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ddb-function/">DDB</a></td><td>減価償却費を自動計算！二重定率法の使い方と実務テンプレート</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dec2bin-function/">DEC2BIN</a></td><td>10進→2進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dec2hex-function/">DEC2HEX</a></td><td>10進→16進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dec2oct-function/">DEC2OCT</a></td><td>10進→8進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-decimal-function/">DECIMAL</a></td><td>N進数を10進数に変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-degrees-function/">DEGREES</a></td><td>ラジアン→度</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-delta-function/">DELTA</a></td><td>2つの数値が等しいかを0と1で判定する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-detectlanguage-function/">DETECTLANGUAGE</a></td><td>テキストの言語を判定する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-devsq-function/">DEVSQ</a></td><td>偏差平方和</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dget-function/">DGET</a></td><td>条件に合う1件の値を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-disc-function/">DISC</a></td><td>割引率を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-divide-function/">DIVIDE</a></td><td>除算と #DIV/0! 対処法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dmax-function/">DMAX</a></td><td>条件に合うレコードの最大値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dmin-function/">DMIN</a></td><td>条件に合うレコードの最小値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dollar-function/">DOLLAR</a></td><td>数値をドル通貨書式の文字列に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dollarde-function/">DOLLARDE</a></td><td>分数表記のドル価格を小数に変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dollarfr-function/">DOLLARFR</a></td><td>小数のドル価格を分数表記に変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dproduct-function/">DPRODUCT</a></td><td>条件に合うレコードの積を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-drop-function/">DROP</a></td><td>配列の先頭・末尾から指定数の行列を削除する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dstdev-function/">DSTDEV</a></td><td>条件に合うレコードの標本標準偏差を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dstdevp-function/">DSTDEVP</a></td><td>条件に合うレコードの母標準偏差を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM</a></td><td>条件に合うレコードの合計を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-duration-function/">DURATION</a></td><td>マコーレー・デュレーション</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dvar-function/">DVAR</a></td><td>条件に合うレコードの標本分散を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-dvarp-function/">DVARP</a></td><td>条件に合うレコードの母分散を求める</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">「E」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-edate-function/">EDATE</a></td><td>指定した月数だけ前後の日付を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-effect-function/">EFFECT</a></td><td>実質年利率（実効金利）を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-encodeurl-function/">ENCODEURL</a></td><td>文字列をURLエンコードする</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-eomonth-function/">EOMONTH</a></td><td>指定した月数だけ前後の月末日を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-erf-function/">ERF</a></td><td>誤差関数（Error Function）を解説</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-erf-precise-function/">ERF.PRECISE</a></td><td>ERFとの違いを解説</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-erfc-function/">ERFC</a></td><td>テール確率・不良率を1行で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-erfc-precise-function/">ERFC.PRECISE</a></td><td>ERFCとの違いを解説</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-error-type-function/">ERROR.TYPE</a></td><td>エラーの種類に対応する数値を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-even-function/">EVEN</a></td><td>偶数に切り上げ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-exact-function/">EXACT</a></td><td>2つの文字列が完全一致するか判定する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-exp-function/">EXP</a></td><td>eのべき乗を求める方法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-expand-function/">EXPAND</a></td><td>配列を指定サイズまで拡張する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-expon-dist-function/">EXPON.DIST</a></td><td>指数分布</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-expondist-function/">EXPONDIST</a></td><td>指数分布（互換）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">「F」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-f-dist-function/">F.DIST</a></td><td>F分布</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-f-dist-rt-function/">F.DIST.RT</a></td><td>F分布（右側）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-f-inv-function/">F.INV</a></td><td>F分布逆関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-f-inv-rt-function/">F.INV.RT</a></td><td>F分布逆関数（右側）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-fact-function/">FACT</a></td><td>階乗</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-factdouble-function/">FACTDOUBLE</a></td><td>二重階乗</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-false-function/">FALSE</a></td><td>論理値FALSEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-fdist-function/">FDIST</a></td><td>F分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER</a></td><td>条件に一致する行を一括抽出する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-find-function/">FIND</a></td><td>文字列の位置を検索する（大小区別）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-findb-function/">FINDB</a></td><td>文字列の位置をバイト単位で検索する（大小区別）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-finv-function/">FINV</a></td><td>F分布逆関数（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-fisher-function/">FISHER</a></td><td>相関係数をフィッシャー変換でz値に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-fisherinv-function/">FISHERINV</a></td><td>フィッシャー逆変換で相関係数に戻す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-fixed-function/">FIXED</a></td><td>数値を指定桁数の文字列に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-flatten-function/">FLATTEN</a></td><td>配列を1列にまとめる方法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-floor-function/">FLOOR</a></td><td>基準値の倍数に切り捨てる</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-floor-math-function/">FLOOR.MATH</a></td><td>負の数も安心の切り捨て</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-floor-precise-function/">FLOOR.PRECISE</a></td><td>倍数切り捨て</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-forecast-function/">FORECAST</a></td><td>線形回帰で将来の値を予測する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-forecast-linear-function/">FORECAST.LINEAR</a></td><td>線形予測</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-formulatext-function/">FORMULATEXT</a></td><td>セルの数式を文字列として返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-frequency-function/">FREQUENCY</a></td><td>度数分布</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ftest-function/">FTEST</a></td><td>F検定で分散を比較する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ftest-compat-function/">FTEST.COMPAT</a></td><td>F検定（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-fv-function/">FV</a></td><td>将来価値・積立シミュレーション完全ガイド</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-fvschedule-function/">FVSCHEDULE</a></td><td>変動利率の将来価値</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc10">G〜Iの関数</span></h2>



<h3 class="wp-block-heading"><span id="toc11">「G」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-gamma-function/">GAMMA</a></td><td>ガンマ関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gamma-dist-function/">GAMMA.DIST</a></td><td>ガンマ分布</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gamma-inv-function/">GAMMA.INV</a></td><td>ガンマ分布逆関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gammadist-function/">GAMMADIST</a></td><td>ガンマ分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gammainv-function/">GAMMAINV</a></td><td>ガンマ分布逆関数（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gammaln-function/">GAMMALN</a></td><td>ガンマ関数の自然対数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gammaln-precise-function/">GAMMALN.PRECISE</a></td><td>ガンマ関数対数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gauss-function/">GAUSS</a></td><td>標準正規分布の累積確率</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gcd-function/">GCD</a></td><td>最大公約数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-geomean-function/">GEOMEAN</a></td><td>幾何平均</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gestep-function/">GESTEP</a></td><td>数値がしきい値以上かを0と1で判定する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-getpivotdata-function/">GETPIVOTDATA</a></td><td>ピボットテーブルから値を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-googlefinance-function/">GOOGLEFINANCE</a></td><td>株価・為替などの金融データを取得する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-googletranslate-function/">GOOGLETRANSLATE</a></td><td>テキストを翻訳する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-growth-function/">GROWTH</a></td><td>指数トレンド</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gt-function/">GT</a></td><td>大なり比較を関数で書く方法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-gte-function/">GTE</a></td><td>以上判定を関数で書く方法</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">「H」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-harmean-function/">HARMEAN</a></td><td>調和平均を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hex2bin-function/">HEX2BIN</a></td><td>16進→2進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hex2dec-function/">HEX2DEC</a></td><td>16進→10進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hex2oct-function/">HEX2OCT</a></td><td>16進→8進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hlookup-function/">HLOOKUP</a></td><td>表の上端行を検索して対応する値を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hour-function/">HOUR</a></td><td>時刻から「時」を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hstack-function/">HSTACK</a></td><td>複数の範囲を横に結合する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hyperlink-function/">HYPERLINK</a></td><td>クリックできるリンクを作成する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hypgeom-dist-function/">HYPGEOM.DIST</a></td><td>超幾何分布</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-hypgeomdist-function/">HYPGEOMDIST</a></td><td>超幾何分布（互換）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc13">「I」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-if-function/">IF</a></td><td>条件によって返す値を分岐する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR</a></td><td>数式がエラーのとき指定した値を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ifna-function/">IFNA</a></td><td>数式が#N/Aエラーのとき指定した値を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ifs-function/">IFS</a></td><td>複数の条件を順に判定して値を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imabs-function/">IMABS</a></td><td>複素数の絶対値（大きさ）を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-image-function/">IMAGE</a></td><td>セル内に画像を表示する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imaginary-function/">IMAGINARY</a></td><td>複素数から虚数部を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imargument-function/">IMARGUMENT</a></td><td>複素数の偏角（位相角）をラジアンで求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imconjugate-function/">IMCONJUGATE</a></td><td>共役複素数（a-bi）を一発で求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcos-function/">IMCOS</a></td><td>複素数の余弦（コサイン）を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcosh-function/">IMCOSH</a></td><td>複素数の双曲線余弦を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcot-function/">IMCOT</a></td><td>複素数の余接（コタンジェント）を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcoth-function/">IMCOTH</a></td><td>複素数の双曲線余接（coth）を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcsc-function/">IMCSC</a></td><td>複素数の余割（コサイカント）を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcsch-function/">IMCSCH</a></td><td>複素数の双曲線余割を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imdiv-function/">IMDIV</a></td><td>複素数の商（割り算）を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imexp-function/">IMEXP</a></td><td>複素数のeべき乗（指数関数）を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imln-function/">IMLN</a></td><td>複素数の自然対数を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imlog10-function/">IMLOG10</a></td><td>複素数の常用対数を一発計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imlog2-function/">IMLOG2</a></td><td>複素数の2を底とする対数を一発計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-importdata-function/">IMPORTDATA</a></td><td>URL先のCSV/TSVデータを取得する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-importfeed-function/">IMPORTFEED</a></td><td>RSS/ATOMフィードを取得する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-importhtml-function/">IMPORTHTML</a></td><td>Webページの表やリストを取得する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-importrange-complete-guide/">IMPORTRANGE</a></td><td>別のスプレッドシートからデータを取得する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-importxml-function/">IMPORTXML</a></td><td>XMLデータを取得する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-impower-function/">IMPOWER</a></td><td>複素数のべき乗を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-improduct-function/">IMPRODUCT</a></td><td>複素数の積を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imreal-function/">IMREAL</a></td><td>複素数から実数部を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsec-function/">IMSEC</a></td><td>複素数の正割（セカント）を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsech-function/">IMSECH</a></td><td>複素数の双曲線正割（ハイパーボリックセカント）を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsin-function/">IMSIN</a></td><td>複素数の正弦（サイン）を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsinh-function/">IMSINH</a></td><td>複素数の双曲線正弦を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsqrt-function/">IMSQRT</a></td><td>複素数の平方根を一発で求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsub-function/">IMSUB</a></td><td>複素数の差を一発で計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsum-function/">IMSUM</a></td><td>複素数の和を一発計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imtan-function/">IMTAN</a></td><td>複素数の正接</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imtanh-function/">IMTANH</a></td><td>複素数の双曲線正接</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-index-function/">INDEX</a></td><td>行番号・列番号で範囲から値を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-indirect-function/">INDIRECT</a></td><td>文字列で指定したセル参照を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-int-function/">INT</a></td><td>整数に切り捨て</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-intercept-function/">INTERCEPT</a></td><td>回帰直線のy切片を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-intrate-function/">INTRATE</a></td><td>全額投資の利率を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ipmt-function/">IPMT</a></td><td>利息支払額</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-irr-function/">IRR</a></td><td>内部利益率</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isblank-function/">ISBLANK</a></td><td>セルが空白のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isdate-function/">ISDATE</a></td><td>値が日付のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-iserr-function/">ISERR</a></td><td>#N/A以外のエラーのときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-iserror-function/">ISERROR</a></td><td>エラー値のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-iseven-function/">ISEVEN</a></td><td>数値が偶数のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isformula-function/">ISFORMULA</a></td><td>セルに数式が含まれるときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-islogical-function/">ISLOGICAL</a></td><td>値が論理値のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isna-function/">ISNA</a></td><td>値が#N/AエラーのときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isnontext-function/">ISNONTEXT</a></td><td>値が文字列以外のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isnumber-function/">ISNUMBER</a></td><td>値が数値のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isodd-function/">ISODD</a></td><td>数値が奇数のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isoweeknum-function/">ISOWEEKNUM</a></td><td>日付のISO週番号を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ispmt-function/">ISPMT</a></td><td>元金均等返済の利息を一発計算する方法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isref-function/">ISREF</a></td><td>値がセル参照のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-istext-function/">ISTEXT</a></td><td>値が文字列のときTRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-isurl-function/">ISURL</a></td><td>値がURLのときTRUEを返す</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc14">J〜Mの関数</span></h2>



<h3 class="wp-block-heading"><span id="toc15">「J」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-jis-function/">JIS</a></td><td>半角の英数カナを全角に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-join-function/">JOIN</a></td><td>配列を区切り文字で結合する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">「K」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-kurt-function/">KURT</a></td><td>データの尖度を求める</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">「L」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-lambda-function/">LAMBDA</a></td><td>独自のカスタム関数を定義する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-large-function/">LARGE</a></td><td>データの中でk番目に大きい値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-lcm-function/">LCM</a></td><td>最小公倍数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-left-function/">LEFT</a></td><td>文字列の左から指定文字数を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-leftb-function/">LEFTB</a></td><td>文字列の左から指定バイト数を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-len-function/">LEN</a></td><td>文字列の文字数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-lenb-function/">LENB</a></td><td>文字列のバイト数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-let-function/">LET</a></td><td>数式内で計算結果に名前を付けて再利用する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-linest-function/">LINEST</a></td><td>統計量一括取得</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ln-function/">LN</a></td><td>自然対数と成長率の計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-log-function/">LOG</a></td><td>底を指定して対数を計算する方法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-log10-function/">LOG10</a></td><td>桁数・pH・dBに活用</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-logest-function/">LOGEST</a></td><td>回帰指数曲線の係数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-loginv-function/">LOGINV</a></td><td>対数正規分布の逆関数値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-lognorm-dist-function/">LOGNORM.DIST</a></td><td>対数正規分布の確率を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-lognorm-inv-function/">LOGNORM.INV</a></td><td>対数正規分布逆関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-lognormdist-function/">LOGNORMDIST</a></td><td>対数正規分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-lookup-function/">LOOKUP</a></td><td>ベクトルや配列を検索して対応する値を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-lower-function/">LOWER</a></td><td>英字を小文字に変換する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">「M」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-makearray-function/">MAKEARRAY</a></td><td>計算式から指定サイズの配列を生成する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-map-function/">MAP</a></td><td>各要素にLAMBDA関数を適用する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-match-function/">MATCH</a></td><td>範囲内で値の位置（何番目か）を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-max-function/">MAX</a></td><td>数値の最大値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-maxa-function/">MAXA</a></td><td>文字列含む最大値</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-maxifs-function/">MAXIFS</a></td><td>条件付き最大値</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mdeterm-function/">MDETERM</a></td><td>行列式</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mduration-function/">MDURATION</a></td><td>修正デュレーション</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-median-function/">MEDIAN</a></td><td>中央値</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mid-function/">MID</a></td><td>文字列の途中から指定文字数を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-midb-function/">MIDB</a></td><td>文字列の途中から指定バイト数を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-min-function/">MIN</a></td><td>数値の最小値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mina-function/">MINA</a></td><td>文字列含む最小値</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-minifs-function/">MINIFS</a></td><td>条件付き最小値</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-minus-function/">MINUS</a></td><td>減算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-minute-function/">MINUTE</a></td><td>時刻から「分」を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-minverse-function/">MINVERSE</a></td><td>逆行列</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mirr-function/">MIRR</a></td><td>修正内部収益率で投資判断を正確に</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mmult-function/">MMULT</a></td><td>行列の積</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mod-function/">MOD</a></td><td>除算の余りを求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mode-function/">MODE</a></td><td>最頻値</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mode-mult-function/">MODE.MULT</a></td><td>複数の最頻値</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mode-sngl-function/">MODE.SNGL</a></td><td>最頻値（1つ）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-month-function/">MONTH</a></td><td>日付から「月」を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mround-function/">MROUND</a></td><td>指定した倍数になるよう四捨五入する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-multinomial-function/">MULTINOMIAL</a></td><td>多項係数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-multiply-function/">MULTIPLY</a></td><td>*との違いも解説</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-munit-function/">MUNIT</a></td><td>指定サイズの単位行列を作成する</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc19">N〜Rの関数</span></h2>



<h3 class="wp-block-heading"><span id="toc20">「N」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-negbinom-dist-function/">NEGBINOM.DIST</a></td><td>負の二項分布</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-negbinomdist-function/">NEGBINOMDIST</a></td><td>負の二項分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-networkdays-function/">NETWORKDAYS</a></td><td>土日祝を除いた稼働日数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-networkdays-intl-function/">NETWORKDAYS.INTL</a></td><td>休日を指定して稼働日数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-nominal-function/">NOMINAL</a></td><td>名目年利率を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-norm-dist-function/">NORM.DIST</a></td><td>正規分布の確率を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-norm-inv-function/">NORM.INV</a></td><td>正規分布の逆関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-norm-s-dist-function/">NORM.S.DIST</a></td><td>標準正規分布の確率</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-norm-s-inv-function/">NORM.S.INV</a></td><td>確率から標準正規分布のzスコアを逆算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-normdist-function/">NORMDIST</a></td><td>正規分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-norminv-function/">NORMINV</a></td><td>正規分布逆関数（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-normsdist-function/">NORMSDIST</a></td><td>標準正規分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-normsinv-function/">NORMSINV</a></td><td>標準正規分布の累積分布の逆関数値を求める（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-not-function/">NOT</a></td><td>論理値を反転する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-now-function/">NOW</a></td><td>現在の日付と時刻を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-nper-function/">NPER</a></td><td>期間数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-npv-function/">NPV</a></td><td>投資の正味現在価値を計算する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">「O」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-oct2bin-function/">OCT2BIN</a></td><td>8進→2進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-oct2dec-function/">OCT2DEC</a></td><td>8進→10進</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-oct2hex-function/">OCT2HEX</a></td><td>8進→16進数変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-odd-function/">ODD</a></td><td>奇数に切り上げ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-oddfprice-function/">ODDFPRICE</a></td><td>不定期初回利払いの債券価格を計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-oddfyield-function/">ODDFYIELD</a></td><td>不定期初回利払いの利回りを計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-oddlprice-function/">ODDLPRICE</a></td><td>不定期最終利払いの価格を計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-oddlyield-function/">ODDLYIELD</a></td><td>不定期最終利払いの利回りを計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-offset-function/">OFFSET</a></td><td>基準セルから指定数だけ移動した参照を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-or-function/">OR</a></td><td>いずれかの条件がTRUEのときTRUEを返す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">「P」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-pduration-function/">PDURATION</a></td><td>目標金額に到達するまでの期間を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-pearson-function/">PEARSON</a></td><td>ピアソンの積率相関係数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-percentile-function/">PERCENTILE</a></td><td>パーセンタイル値を求める方法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-percentile-exc-function/">PERCENTILE.EXC</a></td><td>パーセンタイル（0,1除外）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-percentile-inc-function/">PERCENTILE.INC</a></td><td>パーセンタイル（0,1含む）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-percentrank-function/">PERCENTRANK</a></td><td>パーセント順位を求める方法</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-percentrank-exc-function/">PERCENTRANK.EXC</a></td><td>パーセント順位（0,1除外）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-percentrank-inc-function/">PERCENTRANK.INC</a></td><td>パーセント順位（0,1含む）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-permut-function/">PERMUT</a></td><td>順列</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-permutationa-function/">PERMUTATIONA</a></td><td>重複順列でパターン数を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-phi-function/">PHI</a></td><td>標準正規分布の密度関数値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-pi-function/">PI</a></td><td>π（円周率）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-pmt-function/">PMT</a></td><td>定期支払額</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-poisson-function/">POISSON</a></td><td>ポアソン分布（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-poisson-dist-function/">POISSON.DIST</a></td><td>ポアソン分布</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-power-function/">POWER</a></td><td>べき乗（累乗）を一発計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ppmt-function/">PPMT</a></td><td>元金支払額</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-price-function/">PRICE</a></td><td>定期利付債の価格</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-pricedisc-function/">PRICEDISC</a></td><td>割引債の価格</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-pricemat-function/">PRICEMAT</a></td><td>満期利付債の価格</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-prob-function/">PROB</a></td><td>確率計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-product-function/">PRODUCT</a></td><td>引数を掛け合わせる</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-proper-function/">PROPER</a></td><td>英単語の先頭文字だけを大文字に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-pv-function/">PV</a></td><td>将来のお金を「今の価値」に換算する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">「Q」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-quartile-function/">QUARTILE</a></td><td>四分位数・外れ値検出・箱ひげ図まで</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-quartile-exc-function/">QUARTILE.EXC</a></td><td>四分位数（0,4除外）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-quartile-inc-function/">QUARTILE.INC</a></td><td>四分位数（0,4含む）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-query-function/">QUERY</a></td><td>SQLライクな構文でデータを抽出・集計する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-quotient-function/">QUOTIENT</a></td><td>除算の商の整数部を求める</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc24">「R」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-radians-function/">RADIANS</a></td><td>度→ラジアン</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rand-function/">RAND</a></td><td>乱数を固定する方法も解説</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-randarray-function/">RANDARRAY</a></td><td>ランダムな数値の配列を生成する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-randbetween-function/">RANDBETWEEN</a></td><td>範囲内の整数をランダムに生成</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rank-function/">RANK</a></td><td>数値のリスト内での順位を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rank-avg-function/">RANK.AVG</a></td><td>数値のリスト内での順位を求める（同順位は平均）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rank-eq-function/">RANK.EQ</a></td><td>数値のリスト内での順位を求める（同順位は同じ値）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rate-function/">RATE</a></td><td>利率</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-received-function/">RECEIVED</a></td><td>完全投資証券の満期受取額を計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-reduce-function/">REDUCE</a></td><td>配列を1つの値に集約する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-regexextract-function/">REGEXEXTRACT</a></td><td>正規表現に一致する文字列を抽出する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-regexmatch-function/">REGEXMATCH</a></td><td>正規表現に一致するか判定する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-regexreplace-function/">REGEXREPLACE</a></td><td>正規表現に一致する文字列を置換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-replace-function/">REPLACE</a></td><td>指定位置の文字を別の文字に置き換える</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-replaceb-function/">REPLACEB</a></td><td>指定バイト位置の文字を置き換える</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rept-function/">REPT</a></td><td>文字列を指定回数だけ繰り返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-right-function/">RIGHT</a></td><td>文字列の右から指定文字数を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rightb-function/">RIGHTB</a></td><td>文字列の右から指定バイト数を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-roman-function/">ROMAN</a></td><td>ローマ数字変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-round-function/">ROUND</a></td><td>数値を四捨五入する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rounddown-function/">ROUNDDOWN</a></td><td>消費税・勤怠の端数を切り捨てる</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-roundup-function/">ROUNDUP</a></td><td>切り上げ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-row-function/">ROW</a></td><td>セル参照の行番号を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rows-function/">ROWS</a></td><td>範囲に含まれる行数を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rri-function/">RRI</a></td><td>複利利率・CAGRを求める3つのレシピ</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-rsq-function/">RSQ</a></td><td>決定係数R²を求める</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc25">S〜Zの関数</span></h2>



<h3 class="wp-block-heading"><span id="toc26">「S」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-scan-function/">SCAN</a></td><td>配列を順に集約し中間値も返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-search-function/">SEARCH</a></td><td>文字列の位置を検索する（大小無視）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-searchb-function/">SEARCHB</a></td><td>文字列の位置をバイト単位で検索する（大小無視）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sec-function/">SEC</a></td><td>正割（セカント）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sech-function/">SECH</a></td><td>双曲線正割（ハイパボリックセカント）を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-second-function/">SECOND</a></td><td>時刻から「秒」を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sequence-function/">SEQUENCE</a></td><td>連続した数値の配列を生成する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-seriessum-function/">SERIESSUM</a></td><td>べき級数の和</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sign-function/">SIGN</a></td><td>数値の符号（正負・ゼロ）を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sin-function/">SIN</a></td><td>正弦（サイン）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sinh-function/">SINH</a></td><td>双曲線正弦</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-skew-function/">SKEW</a></td><td>歪度</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-skew-p-function/">SKEW.P</a></td><td>母集団歪度</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sln-function/">SLN</a></td><td>減価償却費を自動計算！定額法の使い方と実務テンプレート</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-slope-function/">SLOPE</a></td><td>回帰直線の傾きを求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-small-function/">SMALL</a></td><td>データの中でk番目に小さい値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sortby-function/">SORTBY</a></td><td>別の範囲を基準に並べ替える</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sortn-function/">SORTN</a></td><td>並べ替えて上位N件を抽出する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sparkline-function/">SPARKLINE</a></td><td>セル内に小さなグラフを表示する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-split-function/">SPLIT</a></td><td>区切り文字で文字列を分割する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sqrt-function/">SQRT</a></td><td>平方根</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sqrtpi-function/">SQRTPI</a></td><td>π×nの平方根</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-standardize-function/">STANDARDIZE</a></td><td>値を標準化（zスコア化）する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-stdev-function/">STDEV</a></td><td>標本標準偏差でデータのばらつきを測る</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-stdev-p-function/">STDEV.P</a></td><td>母集団全体の標準偏差を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-stdev-s-function/">STDEV.S</a></td><td>標本に基づく標準偏差を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-stdeva-function/">STDEVA</a></td><td>文字列・TRUE/FALSEを含む標準偏差</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-stdevp-function/">STDEVP</a></td><td>母集団標準偏差を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-stdevpa-function/">STDEVPA</a></td><td>文字列含む母標準偏差</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-steyx-function/">STEYX</a></td><td>回帰の標準誤差を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE</a></td><td>指定した文字列を別の文字列に置換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-subtotal-function/">SUBTOTAL</a></td><td>フィルタや小計に対応した集計を行う</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sum-function/">SUM</a></td><td>合計を求める基本から実務活用まで</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumif-function/">SUMIF</a></td><td>条件に一致する数値を合計する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumifs-function/">SUMIFS</a></td><td>複数条件に一致する数値を合計する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumproduct-function/">SUMPRODUCT</a></td><td>配列の積の和</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumsq-function/">SUMSQ</a></td><td>平方和</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumx2my2-function/">SUMX2MY2</a></td><td>差の平方和</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumx2py2-function/">SUMX2PY2</a></td><td>平方の和</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sumxmy2-function/">SUMXMY2</a></td><td>差の二乗の合計</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-switch-function/">SWITCH</a></td><td>式の値に応じてケース分岐する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-syd-function/">SYD</a></td><td>減価償却費を自動計算！算術級数法の使い方と実務テンプレート</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc27">「T」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-t-dist-function/">T.DIST</a></td><td>t分布の確率を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-t-dist-2t-function/">T.DIST.2T</a></td><td>t分布の両側確率でp値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-t-dist-rt-function/">T.DIST.RT</a></td><td>t分布（右側）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-t-inv-function/">T.INV</a></td><td>t分布の逆関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-t-inv-2t-function/">T.INV.2T</a></td><td>t分布逆関数（両側）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-take-function/">TAKE</a></td><td>配列の先頭・末尾から指定数の行列を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-tan-function/">TAN</a></td><td>正接（タンジェント）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-tanh-function/">TANH</a></td><td>双曲線正接</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-tbilleq-function/">TBILLEQ</a></td><td>米国T-Billの利回りを年率換算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-tbillprice-function/">TBILLPRICE</a></td><td>米国T-Billの価格を割引率から計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-tbillyield-function/">TBILLYIELD</a></td><td>米国T-Billの利回りを購入価格から計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-tdist-function/">TDIST</a></td><td>t分布の確率を求める（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT</a></td><td>数値や日付を指定書式の文字列に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-textjoin-function/">TEXTJOIN</a></td><td>区切り文字を挟んで複数の文字列を結合する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-textsplit-function/">TEXTSPLIT</a></td><td>文字列を区切り文字で列方向・行方向に分割する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-time-function/">TIME</a></td><td>時・分・秒から時刻を作る</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-timevalue-function/">TIMEVALUE</a></td><td>時刻を表す文字列を時刻値に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-tinv-function/">TINV</a></td><td>t分布の逆関数を求める（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-tocol-function/">TOCOL</a></td><td>2次元データを1列に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-today-function/">TODAY</a></td><td>今日の日付を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-torow-function/">TOROW</a></td><td>2次元データを1行に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-transpose-function/">TRANSPOSE</a></td><td>行と列を入れ替える</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-trend-function/">TREND</a></td><td>線形トレンドで将来の値を一括予測する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM</a></td><td>前後と連続した余分なスペースを削除する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-trimmean-function/">TRIMMEAN</a></td><td>外れ値を除いたトリム平均を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-true-function/">TRUE</a></td><td>論理値TRUEを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-trunc-function/">TRUNC</a></td><td>小数部切り捨て</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ttest-function/">TTEST</a></td><td>t検定でデータの差を判定する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-type-function/">TYPE</a></td><td>値のデータ型を数値で返す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc28">「U」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-uminus-function/">UMINUS</a></td><td>符号反転（正負を逆にする）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-unary-percent-function/">UNARY_PERCENT</a></td><td>数値をパーセント値に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-unichar-function/">UNICHAR</a></td><td>Unicode値に対応する文字を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-unicode-function/">UNICODE</a></td><td>文字のUnicode値を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-unique-function/">UNIQUE</a></td><td>重複を除いた一意の値を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-uplus-function/">UPLUS</a></td><td>そのまま返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-upper-function/">UPPER</a></td><td>英字を大文字に変換する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc29">「V」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-value-function/">VALUE</a></td><td>数値を表す文字列を数値に変換する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-var-function/">VAR</a></td><td>標本分散を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-var-p-function/">VAR.P</a></td><td>母集団全体の分散を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-var-s-function/">VAR.S</a></td><td>標本に基づく分散を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-vara-function/">VARA</a></td><td>文字列・論理値を含む分散</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-varp-function/">VARP</a></td><td>母集団分散を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-varpa-function/">VARPA</a></td><td>文字列・論理値を含む母分散</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-vdb-function/">VDB</a></td><td>期間範囲の減価償却費を合計する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-vlookup-function/">VLOOKUP</a></td><td>表の左端列を検索して対応する値を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-vstack-function/">VSTACK</a></td><td>複数の範囲を縦に結合する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc30">「W」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-weekday-function/">WEEKDAY</a></td><td>日付の曜日を数値で求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-weeknum-function/">WEEKNUM</a></td><td>日付の週番号を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-weibull-function/">WEIBULL</a></td><td>ワイブル分布の値を求める（互換）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-weibull-dist-function/">WEIBULL.DIST</a></td><td>ワイブル分布</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-workday-function/">WORKDAY</a></td><td>指定営業日後の日付を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-workday-intl-function/">WORKDAY.INTL</a></td><td>休日を指定して営業日後の日付を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-wrapcols-function/">WRAPCOLS</a></td><td>1次元データを指定数で折り返して列方向の配列にする</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-wraprows-function/">WRAPROWS</a></td><td>1次元データを指定数で折り返して行方向の配列にする</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc31">「X」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-xirr-function/">XIRR</a></td><td>不規則キャッシュフローのIRR</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP</a></td><td>表を検索して対応する値を返す（VLOOKUPの後継）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-xmatch-function/">XMATCH</a></td><td>範囲内で値の位置を求める（MATCHの後継）</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-xnpv-function/">XNPV</a></td><td>不規則なキャッシュフローのNPVを計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-xor-function/">XOR</a></td><td>排他的論理和（奇数個がTRUEのときTRUE）を返す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc32">「Y」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-year-function/">YEAR</a></td><td>日付から「年」を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-yearfrac-function/">YEARFRAC</a></td><td>2つの日付間の期間を年単位の小数で求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-yield-function/">YIELD</a></td><td>定期利付債の利回り</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-yielddisc-function/">YIELDDISC</a></td><td>割引債の利回り</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-yieldmat-function/">YIELDMAT</a></td><td>満期利付債の利回り</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc33">「Z」から始まる関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-z-test-function/">Z.TEST</a></td><td>z検定の片側P値を求める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-ztest-compat-function/">ZTEST</a></td><td>z検定を行う（互換）</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc34">まとめ</span></h2>



<p class="wp-block-paragraph">この記事では、Googleスプレッドシートの全関数をアルファベット順にまとめました。関数名がわかっているときは、ブラウザの検索機能（Ctrl+F / Command+F）を使うと目的の関数をすぐに見つけられます。</p>



<p class="wp-block-paragraph">「やりたいことは決まっているけれど関数名が思い出せない」というときは、<a href="https://mashukabu.com/spreadsheet-function-list-by-function/">機能別のスプレッドシート関数一覧</a>から逆引きするのが便利です。数学・統計・論理・文字列・検索など、目的のカテゴリから関数を探せますよ。IMPORTRANGE関数の基本は<a href="https://mashukabu.com/spreadsheet-importrange-function/">IMPORTRANGE関数の使い方</a>も参考にしてください。</p>



<p class="wp-block-paragraph">スプレッドシートならではの関数をまとめて知りたい方は<a href="https://mashukabu.com/sheets-unique-functions/">ExcelにないSheets専用関数17選</a>、数式がエラーになったときは<a href="https://mashukabu.com/spreadsheet-error-value-guide/">スプレッドシートのエラー値一覧</a>もあわせてどうぞ。</p>



<p class="wp-block-paragraph">このページはブックマークしておくと、スプレッドシートの作業中にいつでも辞書として使えます。気になる関数があれば、リンク先の解説記事で具体的な使い方を確認してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-function-alphabetical-order/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートで勤怠管理表を作る方法｜自動計算テンプレート付き</title>
		<link>https://mashukabu.com/spreadsheet-attendance-management/</link>
					<comments>https://mashukabu.com/spreadsheet-attendance-management/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 22:00:31 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[NETWORKDAYS関数]]></category>
		<category><![CDATA[TEXT関数]]></category>
		<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[勤務表]]></category>
		<category><![CDATA[勤怠管理]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8013</guid>

					<description><![CDATA[Googleスプレッドシートで勤怠管理表をゼロから作る手順を解説します。出退勤時刻・労働時間・残業・有休を自動計算し、月またぎや曜日表示も自動化。MOD・TEXT・NETWORKDAYS関数の組み合わせとコピー可能な完成テンプレートで、4月の新年度から使える勤務表が今日完成しますよ。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">毎月の勤怠管理表を、Googleスプレッドシートで自動化したいと考えていませんか。出退勤時刻を入れるだけで労働時間と残業時間がそろう仕組みは、関数を組み合わせれば自分でも作れますよ。月をまたいでも壊れない構造にすることも難しくありません。</p>



<p class="wp-block-paragraph">専用ツールを導入する予算がない事務・総務担当者にとって、Googleスプレッドシートは強い味方になります。クラウドで共有できて、無料で使えて、関数の組み合わせ次第ではSaaSに匹敵する自動化も可能ですよね。</p>



<p class="wp-block-paragraph">この記事では、Googleスプレッドシートで勤怠管理表をゼロから作る手順を7ステップで解説します。MOD・TEXT・NETWORKDAYS・TIME関数を実務文脈で組み合わせ、24時間超の合計表示・深夜跨ぎ計算・月またぎ自動更新・印刷レイアウトまで網羅しました。記事末尾にはコピーして使えるテンプレート構造も載せていますので、4月の新年度準備にぜひお役立てください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートで勤怠管理表を作るメリット</a></li><li><a href="#toc2" tabindex="0">完成イメージと用意するもの</a></li><li><a href="#toc3" tabindex="0">【手順1】基本レイアウトを作る（日付・曜日の自動表示）</a><ol><li><a href="#toc4" tabindex="0">日付の自動表示数式</a></li><li><a href="#toc5" tabindex="0">曜日の自動表示数式</a></li><li><a href="#toc6" tabindex="0">土日の自動色付け（条件付き書式）</a></li></ol></li><li><a href="#toc7" tabindex="0">【手順2】出退勤時刻の入力欄と労働時間の自動計算</a><ol><li><a href="#toc8" tabindex="0">労働時間の数式（深夜跨ぎ対応）</a></li></ol></li><li><a href="#toc9" tabindex="0">【手順3】残業時間と所定外労働の自動振り分け</a><ol><li><a href="#toc10" tabindex="0">深夜残業（22時以降）を分けたい場合</a></li></ol></li><li><a href="#toc11" tabindex="0">【手順4】有休・欠勤・出社区分のプルダウン化</a><ol><li><a href="#toc12" tabindex="0">有休・欠勤の自動カウント</a></li></ol></li><li><a href="#toc13" tabindex="0">【手順5】月合計と稼働日数の集計（24時間超対応）</a><ol><li><a href="#toc14" tabindex="0">24時間超を正しく表示する2つの方法</a></li><li><a href="#toc15" tabindex="0">月の稼働日数を NETWORKDAYS で取得</a></li></ol></li><li><a href="#toc16" tabindex="0">【手順6】月またぎでも壊れない自動更新の仕組み</a><ol><li><a href="#toc17" tabindex="0">シート複製の手順</a></li><li><a href="#toc18" tabindex="0">過去月のシートと連携させたい場合</a></li></ol></li><li><a href="#toc19" tabindex="0">【手順7】印刷レイアウトとシート保護の設定</a><ol><li><a href="#toc20" tabindex="0">1ページに収める手順</a></li><li><a href="#toc21" tabindex="0">シート保護で計算列を守る</a></li></ol></li><li><a href="#toc22" tabindex="0">コピーして使えるテンプレート</a><ol><li><a href="#toc23" tabindex="0">セル別の数式リスト</a></li><li><a href="#toc24" tabindex="0">条件付き書式の設定</a></li><li><a href="#toc25" tabindex="0">データ入力規則</a></li></ol></li><li><a href="#toc26" tabindex="0">よくあるつまずきと対処法</a><ol><li><a href="#toc27" tabindex="0">月合計が 0:00 になる</a></li><li><a href="#toc28" tabindex="0">深夜跨ぎの労働時間がマイナスになる</a></li><li><a href="#toc29" tabindex="0">来月分のシートを作るのが面倒</a></li><li><a href="#toc30" tabindex="0">入力欄に時刻以外の値が入ってしまう</a></li></ol></li><li><a href="#toc31" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートで勤怠管理表を作るメリット</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートで勤怠管理表を作る最大のメリットは、自分の運用に合わせて細かくカスタマイズできることです。市販の勤怠管理SaaSは便利な反面、月額費用がかかり、機能が固定化されています。</p>



<p class="wp-block-paragraph">スプレッドシートなら、関数を組み合わせるだけで「うちの会社の所定労働時間に合わせた残業計算」「有休と特別休暇を分けた集計」など、自社ルールに合った自動化が可能です。さらに、Googleアカウントさえあれば追加コストはゼロですよね。</p>



<p class="wp-block-paragraph">具体的には次の3つのメリットがあります。</p>



<ul class="wp-block-list"><li><strong>無料で運用できる</strong>: Googleアカウントだけで始められる</li><li><strong>クラウド共有が前提</strong>: 上司と部下で同じシートを開いて確認できる</li><li><strong>関数で自動化できる</strong>: 出退勤を入れるだけで労働時間・残業・月合計が自動算出</li></ul>



<p class="wp-block-paragraph">事務・総務担当者にとって、Googleスプレッドシートは「コストをかけずに業務を仕組み化できるツール」です。新年度のタイミングで仕組みを作り直したい方には、特におすすめですよ。</p>



<h2 class="wp-block-heading"><span id="toc2">完成イメージと用意するもの</span></h2>



<p class="wp-block-paragraph">これから作る勤怠管理表は、月単位で1シートを使う構成です。B1セルに「対象月（例: 2026/04/01）」を入れるだけで、A列に1日〜末日の日付と曜日が自動展開されます。</p>



<p class="wp-block-paragraph">各行で出退勤時刻と休憩時間を入力すれば、労働時間・残業時間が自動計算されます。月合計と稼働日数もヘッダー部にまとまる仕組みですよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>列</th><th>内容</th><th>入力方法</th></tr></thead><tbody><tr><td>A</td><td>日付</td><td>自動表示</td></tr><tr><td>B</td><td>曜日</td><td>自動表示</td></tr><tr><td>C</td><td>出勤時刻</td><td>手入力</td></tr><tr><td>D</td><td>退勤時刻</td><td>手入力</td></tr><tr><td>E</td><td>休憩</td><td>手入力（デフォルト 1:00）</td></tr><tr><td>F</td><td>区分</td><td>プルダウン選択</td></tr><tr><td>G</td><td>備考</td><td>手入力（任意）</td></tr><tr><td>H</td><td>労働時間</td><td>自動計算</td></tr><tr><td>I</td><td>残業時間</td><td>自動計算</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">用意するものは次のとおりです。</p>



<ul class="wp-block-list"><li>Googleアカウント（無料）</li><li>ブラウザでアクセスできる環境</li><li>自社の所定労働時間（例: 1日8時間）</li></ul>



<p class="wp-block-paragraph">スプレッドシートの基本操作に不安がある方は、まず<a href="https://mashukabu.com/google-spreadsheet-beginner-guide/">Googleスプレッドシートの使い方入門</a>をご覧ください。関数の入れ方やセル参照の仕組みをおさらいしておくと、この後の手順がスムーズに進みますよ。</p>



<h2 class="wp-block-heading"><span id="toc3">【手順1】基本レイアウトを作る（日付・曜日の自動表示）</span></h2>



<p class="wp-block-paragraph">まず新しいスプレッドシートを開き、ヘッダー行とデータ部のレイアウトを作ります。シートの先頭に「対象月」を入れる仕組みにしておきましょう。月またぎでもこの1セルを変えるだけで日付列が更新できる構造になりますよ。</p>



<p class="wp-block-paragraph">A1〜I1に列見出し（日付／曜日／出勤／退勤／休憩／区分／備考／労働時間／残業）を入れます。続いてB1セル（仮置き）に対象月を入力してください。今月分なら <code>2026/04/01</code> のように月初の日付を入れます。</p>



<h3 class="wp-block-heading"><span id="toc4">日付の自動表示数式</span></h3>



<p class="wp-block-paragraph">A列の日付は、ROW関数（行番号を返す関数）と DATE 関数（年・月・日からシリアル値を作る関数）を組み合わせて自動展開します。A2セルに次の数式を入れます。</p>



<pre class="wp-block-code"><code>=IFERROR(DATE(YEAR($B$1),MONTH($B$1),ROW()-1),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph"><code>ROW()-1</code> は「現在の行番号から1引いた値」を返すので、A2では1日、A3では2日…とずれていきます。31日に満たない月（2月など）は IFERROR（エラー時に代替値を返す関数）で空白に逃がす設計です。A33まで一括で数式をコピーしておけば、どの月でも壊れませんよ。</p>



<h3 class="wp-block-heading"><span id="toc5">曜日の自動表示数式</span></h3>



<p class="wp-block-paragraph">B列の曜日は TEXT 関数（数値を指定書式の文字列に変換する関数）で表示します。B2に次の数式を入れます。</p>



<pre class="wp-block-code"><code>=IFERROR(TEXT(A2,&quot;ddd&quot;),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">書式 <code>ddd</code> は「火」のような短縮表記、<code>dddd</code> は「火曜日」のフルネームです。記事のレイアウト都合で短く出したい場合は <code>ddd</code> がおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">土日の自動色付け（条件付き書式）</span></h3>



<p class="wp-block-paragraph">土曜と日曜は、条件付き書式（特定の条件で自動的に色を変える機能）で背景色を変えると視認性が上がります。</p>



<p class="wp-block-paragraph">A2:I33を選択して「表示形式 → 条件付き書式 → カスタム数式」を選び、次の式を設定してください。</p>



<pre class="wp-block-code"><code>=WEEKDAY($A2)=7</code></pre>



<p class="wp-block-paragraph">WEEKDAY 関数（日付から曜日番号を返す関数）は日曜=1、土曜=7を返します。土曜は薄い水色、日曜は薄いピンクなど、控えめな色を選ぶと印刷したときも見やすいですよ。詳しい操作は<a href="https://mashukabu.com/spreadsheet-conditional-formatting/">スプレッドシートの条件付き書式の使い方</a>も参考にしてください。</p>



<h2 class="wp-block-heading"><span id="toc7">【手順2】出退勤時刻の入力欄と労働時間の自動計算</span></h2>



<p class="wp-block-paragraph">C列(出勤)とD列(退勤)は手入力欄です。<code>8:30</code> のように半角コロン区切りで入力すれば、スプレッドシートが自動的に時刻として認識します。</p>



<p class="wp-block-paragraph">E列(休憩)にはデフォルトで <code>1:00</code> を入れておきます。固定値でも数式でもどちらでも構いません。</p>



<h3 class="wp-block-heading"><span id="toc8">労働時間の数式（深夜跨ぎ対応）</span></h3>



<p class="wp-block-paragraph">労働時間（H列）は「退勤時刻 − 出勤時刻 − 休憩」で計算できます。ただし、22:00 出勤・翌6:00 退勤のような深夜跨ぎだと、単純な引き算では負の値になってしまいますよね。</p>



<p class="wp-block-paragraph">そこで IF 関数で日付跨ぎを判定し、跨いでいる場合は <code>+1</code>（=1日ぶんのシリアル値）で補正します。H2セルに次の数式を入れてください。</p>



<pre class="wp-block-code"><code>=IFERROR(IF(F2=&quot;有休&quot;,&quot;&quot;,IF(D2-C2&gt;=0,D2-C2,D2-C2+1)-E2),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">長く見えますが、構造は次の3階層です。</p>



<ol class="wp-block-list"><li>F列が「有休」なら空白</li><li>退勤≥出勤なら <code>D2-C2</code>、そうでなければ <code>D2-C2+1</code>（深夜跨ぎ補正）</li><li>上記から休憩時間 E2 を引く</li></ol>



<p class="wp-block-paragraph">MOD 関数（割り算の余りを返す関数）を使って <code>=MOD(D2-C2,1)-E2</code> と書く流派もあります。短くてエレガントな書き方です。ただし IF を使った書き方のほうが「何を判定しているか」が読みやすいので、まずはこちらをおすすめしますよ。MOD関数自体については<a href="https://mashukabu.com/spreadsheet-mod-function/">スプレッドシートのMOD関数の使い方｜余り</a>で詳しく解説していますので、興味があればあわせて読んでみてください。</p>



<h2 class="wp-block-heading"><span id="toc9">【手順3】残業時間と所定外労働の自動振り分け</span></h2>



<p class="wp-block-paragraph">労働時間が出たら、所定労働時間（例: 8時間）を超えた分を残業として自動で切り出します。ここで活躍するのが TIME 関数（時・分・秒からシリアル値を作る関数）です。</p>



<p class="wp-block-paragraph">I2セル（残業時間）に次の数式を入れます。</p>



<pre class="wp-block-code"><code>=IFERROR(MAX(0, H2-TIME(8,0,0)),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph"><code>TIME(8,0,0)</code> は「8時間ぶんのシリアル値」を返します。<code>H2-TIME(8,0,0)</code> で「8時間からの超過分」を計算する仕組みです。MAX 関数（最大値を返す関数）で 0 と比較することで「マイナスにならない」保護をかけているわけですね。</p>



<p class="wp-block-paragraph">所定労働時間が7時間30分の会社なら <code>TIME(7,30,0)</code> に変えるだけ。フレックスや変形労働で月単位の所定が変わる場合も、TIME関数の引数を会社ルールに合わせて調整できます。</p>



<h3 class="wp-block-heading"><span id="toc10">深夜残業（22時以降）を分けたい場合</span></h3>



<p class="wp-block-paragraph">22時以降の深夜残業を別カウントしたい場合は、もう一列追加して次のように書きます。</p>



<pre class="wp-block-code"><code>=IFERROR(MAX(0, MIN(D2,TIME(6,0,0)+1)-TIME(22,0,0)),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">22時から翌6時までの範囲を切り出すロジックです。この記事のメインテーマからは外れるので、ベース版では省略して構いません。まずは「残業をひとくくりで集計する」シンプル版から始めて、運用しながら必要な列を増やしていく流れがおすすめですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">【手順4】有休・欠勤・出社区分のプルダウン化</span></h2>



<p class="wp-block-paragraph">F列の「区分」は、出社／在宅／有休／欠勤の4択のプルダウンにします。手で打ち込むより選択式のほうが早く、表記揺れ（「有休」「ゆうきゅう」「YK」など）も防げますよね。</p>



<p class="wp-block-paragraph">F2:F33を選択し、「データ → データの入力規則 → 条件: プルダウン」を選んでください。選択肢に次のように4つ追加します。</p>



<ul class="wp-block-list"><li>出社</li><li>在宅</li><li>有休</li><li>欠勤</li></ul>



<p class="wp-block-paragraph">色分けまでしておくと、月の傾向が一目でわかるようになります。プルダウンの作り方や色付けの細かい手順は<a href="https://mashukabu.com/spreadsheet-pulldown/">スプレッドシートのプルダウン作り方</a>で詳しく解説していますので、初めての方はそちらをご覧くださいね。</p>



<h3 class="wp-block-heading"><span id="toc12">有休・欠勤の自動カウント</span></h3>



<p class="wp-block-paragraph">ヘッダー部に「月の有休日数」「欠勤日数」を表示しておくと、月末の集計が楽になります。COUNTIF関数（条件に一致するセルを数える関数）でカウントできますよ。</p>



<pre class="wp-block-code"><code>=COUNTIF(F2:F33,&quot;有休&quot;)
=COUNTIF(F2:F33,&quot;欠勤&quot;)</code></pre>



<p class="wp-block-paragraph">これでヘッダーの該当セルが、その月の有休・欠勤日数を自動表示してくれます。</p>



<h2 class="wp-block-heading"><span id="toc13">【手順5】月合計と稼働日数の集計（24時間超対応）</span></h2>



<p class="wp-block-paragraph">月合計はSUM関数（合計を返す関数）で簡単に出せます。ところがここに、勤怠管理ならではの落とし穴があるんです。</p>



<p class="wp-block-paragraph">労働時間を単純に <code>=SUM(H2:H33)</code> で合計すると、表示が <code>0:00</code> に戻ってしまうことがあります。原因は、スプレッドシートが時刻を「シリアル値」として扱う仕組みにあります。24時間を超えると次の日として繰り上げてしまうため、月の労働時間（当然24時間超え）の表示でつまずきやすいんですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">24時間超を正しく表示する2つの方法</span></h3>



<h4 class="wp-block-heading">方法A: TEXT 関数で書式指定</h4>



<p class="wp-block-paragraph">数式の中で書式を指定する方法です。D1セルに次の数式を入れます。</p>



<pre class="wp-block-code"><code>=TEXT(SUM(H2:H33),&quot;[h]:mm&quot;)</code></pre>



<p class="wp-block-paragraph"><code>[h]</code> の角括弧は「24時間で繰り上げず累計時間として表示する」スプレッドシート独特の書式記号です。これで月合計が <code>162:30</code> のように24時間超でも正しく表示されますよ。</p>



<h4 class="wp-block-heading">方法B: セルの書式設定で <code>[h]:mm</code> を指定</h4>



<p class="wp-block-paragraph">数式は <code>=SUM(H2:H33)</code> のままにして、セル側の表示形式を <code>[h]:mm</code> にする方法もあります。「表示形式 → 数字 → カスタム数値形式」で <code>[h]:mm</code> を入力すれば設定できます。</p>



<p class="wp-block-paragraph">数式が短くなる利点はありますが、シートを別の場所にコピーすると書式が崩れることがあります。安定運用なら方法Aの TEXT 関数版が扱いやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">月の稼働日数を NETWORKDAYS で取得</span></h3>



<p class="wp-block-paragraph">ヘッダーに「月の稼働日数（土日と祝日を除いた営業日）」を表示するなら、NETWORKDAYS 関数（土日と祝日を除く営業日数を返す関数）を使います。</p>



<pre class="wp-block-code"><code>=NETWORKDAYS(B1, EOMONTH(B1,0), 祝日リスト範囲)</code></pre>



<p class="wp-block-paragraph">EOMONTH 関数（月末日を返す関数）で月末を取得します。第3引数に祝日リストの範囲（別シートの祝日マスタなど）を渡せば、その月の所定労働日数が自動表示されますよ。祝日リストはシート内の隅に列を作るか、別シート「祝日マスタ」を作って参照するのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc16">【手順6】月またぎでも壊れない自動更新の仕組み</span></h2>



<p class="wp-block-paragraph">ここまで作った数式は、すべて B1 セル（対象月）を参照する形になっています。つまり来月分のシートを作りたいときは、シートを複製して B1 を <code>2026/05/01</code> に書き換えるだけでOKです。</p>



<p class="wp-block-paragraph">A列の日付、B列の曜日、月合計、稼働日数、有休カウントまで、すべて B1 連動で自動更新されますよ。手作業で日付を打ち直す手間がゼロになります。</p>



<h3 class="wp-block-heading"><span id="toc17">シート複製の手順</span></h3>



<ol class="wp-block-list"><li>シートタブを右クリック → 「複製」</li><li>シート名を「2026年5月」など対象月に変更</li><li>B1 セルを <code>2026/05/01</code> に書き換える</li></ol>



<p class="wp-block-paragraph">これだけで来月の勤怠表が完成します。出退勤入力欄（C列・D列・E列）と区分（F列）はリセットして、新しい月の入力を始めてください。</p>



<h3 class="wp-block-heading"><span id="toc18">過去月のシートと連携させたい場合</span></h3>



<p class="wp-block-paragraph">複数月のシートをまたいで集計したい場合もあります。年間サマリシートを別に作り、QUERY 関数で各月シートのヘッダーから合計値だけを引っ張る運用も可能ですよ。週次集計を扱いたい場合は<a href="https://mashukabu.com/spreadsheet-isoweeknum-function/">スプレッドシートのISOWEEKNUM関数の使い方</a>も参考になります。</p>



<h2 class="wp-block-heading"><span id="toc19">【手順7】印刷レイアウトとシート保護の設定</span></h2>



<p class="wp-block-paragraph">社内提出や記録保管のために印刷する場合、A4縦1ページに収める設定をしておくと、月初に提出する流れが楽になります。「ファイル → 印刷」で印刷プレビューを開いてください。</p>



<h3 class="wp-block-heading"><span id="toc20">1ページに収める手順</span></h3>



<ul class="wp-block-list"><li><strong>用紙サイズ</strong>: A4</li><li><strong>方向</strong>: 縦</li><li><strong>スケール</strong>: 「幅に合わせる」または「カスタム」で1ページ収まるように調整</li><li><strong>余白</strong>: 「狭い」を選ぶと収まりが良くなる</li><li><strong>ヘッダーとフッター</strong>: 「ページ番号」「シート名」を有効化</li></ul>



<p class="wp-block-paragraph">「カスタムページ番号」セクションで「行と列を繰り返す」を有効にしましょう。見出し行（1行目）を指定すると、複数ページにまたがった場合も各ページに見出し行が表示されますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">シート保護で計算列を守る</span></h3>



<p class="wp-block-paragraph">入力欄以外を編集できないようにロックすると、誤って数式を消してしまう事故を防げます。「データ → シートと範囲を保護」で次のように設定してください。</p>



<ol class="wp-block-list"><li>範囲を「A:B, G:I」（自動表示・自動計算の列）に指定</li><li>「権限を設定」で「自分のみ」を選択</li><li>C・D・E・F列（手入力欄）はロックしない</li></ol>



<p class="wp-block-paragraph">これで他のメンバーと共有しても、計算式が壊れる心配がなくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc22">コピーして使えるテンプレート</span></h2>



<p class="wp-block-paragraph">ここまでの手順で作った勤怠管理表のレイアウトを、すぐに使える形でまとめます。新しいシートを開いて、次のとおりに入力してみてください。</p>



<h3 class="wp-block-heading"><span id="toc23">セル別の数式リスト</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>数式</th><th>役割</th></tr></thead><tbody><tr><td>B1</td><td><code>2026/04/01</code></td><td>対象月（手入力）</td></tr><tr><td>D1</td><td><code>=TEXT(SUM(H2:H33),"[h]:mm")</code></td><td>月合計（労働時間）</td></tr><tr><td>F1</td><td><code>=TEXT(SUM(I2:I33),"[h]:mm")</code></td><td>月合計（残業時間）</td></tr><tr><td>H1</td><td><code>=COUNTIF(F2:F33,"有休")</code></td><td>有休日数</td></tr><tr><td>J1</td><td><code>=NETWORKDAYS(B1,EOMONTH(B1,0))</code></td><td>稼働日数</td></tr><tr><td>A2</td><td><code>=IFERROR(DATE(YEAR($B$1),MONTH($B$1),ROW()-1),"")</code></td><td>日付自動表示</td></tr><tr><td>B2</td><td><code>=IFERROR(TEXT(A2,"ddd"),"")</code></td><td>曜日自動表示</td></tr><tr><td>H2</td><td><code>=IFERROR(IF(F2="有休","",IF(D2-C2>=0,D2-C2,D2-C2+1)-E2),"")</code></td><td>労働時間</td></tr><tr><td>I2</td><td><code>=IFERROR(MAX(0,H2-TIME(8,0,0)),"")</code></td><td>残業時間</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">A2・B2・H2・I2 の4つの数式は、A33・B33・H33・I33までコピーしておけばOKです。</p>



<h3 class="wp-block-heading"><span id="toc24">条件付き書式の設定</span></h3>



<ul class="wp-block-list"><li>範囲: <code>A2:I33</code></li><li>数式: <code>=WEEKDAY($A2)=7</code>（土曜・薄水色）</li><li>数式: <code>=WEEKDAY($A2)=1</code>（日曜・薄ピンク）</li></ul>



<h3 class="wp-block-heading"><span id="toc25">データ入力規則</span></h3>



<ul class="wp-block-list"><li>範囲: <code>F2:F33</code></li><li>条件: プルダウン</li><li>値: <code>出社, 在宅, 有休, 欠勤</code></li></ul>



<p class="wp-block-paragraph">ここまで設定すれば、対象月を変えるだけで毎月使える勤怠管理表の完成です。自社用に列を増やしたり、所定労働時間を変えたりしても応用が効く構造になっていますよ。</p>



<h2 class="wp-block-heading"><span id="toc26">よくあるつまずきと対処法</span></h2>



<p class="wp-block-paragraph">最後に、勤怠管理表を作っていてつまずきやすいポイントを4つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc27">月合計が 0:00 になる</span></h3>



<p class="wp-block-paragraph">シリアル値が24時間で繰り上がる仕様が原因です。TEXT 関数で <code>"[h]:mm"</code> 書式を指定するか、セルの表示形式を <code>[h]:mm</code> に変えてください。「【手順5】月合計と稼働日数の集計」で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc28">深夜跨ぎの労働時間がマイナスになる</span></h3>



<p class="wp-block-paragraph">退勤時刻が出勤時刻より小さい場合の補正が必要です。IF と <code>+1</code>（=1日ぶんのシリアル値）を組み合わせる方法か、<code>MOD(D2-C2,1)</code> で正のシリアル値に変換する方法を使います。「【手順2】出退勤時刻の入力欄と労働時間の自動計算」を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc29">来月分のシートを作るのが面倒</span></h3>



<p class="wp-block-paragraph">B1セルに対象月を入れる構造にしておけば、シートを複製してB1だけ書き換えれば来月分が完成します。「【手順6】月またぎでも壊れない自動更新の仕組み」で解説しました。</p>



<h3 class="wp-block-heading"><span id="toc30">入力欄に時刻以外の値が入ってしまう</span></h3>



<p class="wp-block-paragraph">データの入力規則で「時刻のみ受け付ける」を設定しておくと事故が減ります。「データ → データの入力規則 → 条件: 有効な日付」を選び、適用範囲を C2:E33 に設定してください。</p>



<h2 class="wp-block-heading"><span id="toc31">まとめ</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートで勤怠管理表を作る7ステップを駆け足で解説しました。MOD・TEXT・NETWORKDAYS・TIME関数を使い分け、24時間超の合計表示や深夜跨ぎの計算、月またぎ自動更新までカバーしましたが、いかがでしたか。</p>



<p class="wp-block-paragraph">ポイントを振り返ると次のとおりです。</p>



<ul class="wp-block-list"><li>B1セル（対象月）を中心にした「1セル変更で月またぎ更新」構造</li><li>TEXT関数の <code>[h]:mm</code> 書式で24時間超の合計を正しく表示</li><li>IF または MOD 関数で深夜跨ぎ労働時間に対応</li><li>TIME関数で残業境界（所定労働時間）を直接指定</li><li>NETWORKDAYS関数で月の稼働日数を自動取得</li><li>条件付き書式・プルダウン・シート保護で実運用に耐える表に</li></ul>



<p class="wp-block-paragraph">専用ツール導入の前に、まずはGoogleスプレッドシートで自社運用に合った仕組みを作ってみるのがおすすめですよ。4月の年度切り替えタイミングで仕組みを整えておけば、1年間の勤怠管理がぐっと楽になります。</p>



<p class="wp-block-paragraph">スプレッドシートの基礎をもう少し固めたい方は<a href="https://mashukabu.com/google-spreadsheet-beginner-guide/">Googleスプレッドシートの使い方入門</a>、関連関数を深掘りしたい方は<a href="https://mashukabu.com/spreadsheet-mod-function/">スプレッドシートのMOD関数の使い方</a>もあわせてどうぞ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-attendance-management/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートでガントチャートを作る方法｜条件付き書式で自動色付け</title>
		<link>https://mashukabu.com/spreadsheet-gantt-chart/</link>
					<comments>https://mashukabu.com/spreadsheet-gantt-chart/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 22:00:27 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IF関数]]></category>
		<category><![CDATA[ガントチャート]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[プロジェクト管理]]></category>
		<category><![CDATA[条件付き書式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8011</guid>

					<description><![CDATA[専用ツールなしでスプレッドシートとIF関数・条件付き書式だけでガントチャートを作る方法を解説。日付入力でセルを自動塗りつぶしする仕組みから進捗率の色分けまで手順形式で紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートでガントチャートを作りたいけれど、専用ツールを増やすのは面倒ですよね。実はIF関数と条件付き書式だけで、日付を入れるだけでバーが伸びるガントチャートが作れます。この記事では、自動色付けの仕組みを5ステップで組み立てる手順を紹介します。あわせて進捗率表示・メンバー別の色分け・タイムラインビューとの使い分けまで一気通貫で解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ガントチャートとは？スプレッドシートで作るメリット</a></li><li><a href="#toc2" tabindex="0">完成イメージ：開始日入力でバーが自動で伸びる仕組み</a></li><li><a href="#toc3" tabindex="0">【基本編】スプレッドシートでガントチャートを作る5ステップ</a><ol><li><a href="#toc4" tabindex="0">ステップ1: タスク一覧表を作る</a></li><li><a href="#toc5" tabindex="0">ステップ2: タイムライン領域（日付ヘッダー）を作る</a></li><li><a href="#toc6" tabindex="0">ステップ3: 条件付き書式でセルを自動色付けする</a></li><li><a href="#toc7" tabindex="0">ステップ4: 完成サンプルの数式と動作確認</a></li><li><a href="#toc8" tabindex="0">ステップ5: テンプレ化と微調整</a></li></ol></li><li><a href="#toc9" tabindex="0">【応用編】進捗率を表示するガントチャートに進化させる</a><ol><li><a href="#toc10" tabindex="0">進捗率列の追加</a></li><li><a href="#toc11" tabindex="0">条件付き書式を2ルール作る</a></li><li><a href="#toc12" tabindex="0">ルールの優先順位を整える</a></li></ol></li><li><a href="#toc13" tabindex="0">【応用編】メンバー別・タスク種別に色分けする方法</a><ol><li><a href="#toc14" tabindex="0">担当者列の追加</a></li><li><a href="#toc15" tabindex="0">担当者ごとに条件付き書式ルールを追加</a></li></ol></li><li><a href="#toc16" tabindex="0">タイムラインビュー（新機能）との使い分け</a><ol><li><a href="#toc17" tabindex="0">タイムラインビューの使い方（簡単な紹介）</a></li><li><a href="#toc18" tabindex="0">条件付き書式方式との比較</a></li><li><a href="#toc19" tabindex="0">使い分けの目安</a></li></ol></li><li><a href="#toc20" tabindex="0">ガントチャート運用でよくあるトラブルと対処法</a><ol><li><a href="#toc21" tabindex="0">トラブル1: 色が塗られない</a></li><li><a href="#toc22" tabindex="0">トラブル2: 進捗率の濃淡が想定通りにならない</a></li><li><a href="#toc23" tabindex="0">トラブル3: 列を増やすたびに数式を作り直す必要がある</a></li><li><a href="#toc24" tabindex="0">トラブル4: 週末・祝日をグレーアウトしたい</a></li><li><a href="#toc25" tabindex="0">トラブル5: 遅延しているタスクをハイライトしたい</a></li><li><a href="#toc26" tabindex="0">トラブル6: タスクが多くて見づらい</a></li></ol></li><li><a href="#toc27" tabindex="0">関連記事</a></li><li><a href="#toc28" tabindex="0">まとめ：スプレッドシートのガントチャートはここまでできる</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ガントチャートとは？スプレッドシートで作るメリット</span></h2>



<p class="wp-block-paragraph">ガントチャートとは、プロジェクトのタスクごとに「いつ始めて、いつ終わるか」を横棒で可視化した図表です。1910年代にヘンリー・ガントが考案したもので、いまも工程管理・進捗管理の定番として使われています。</p>



<p class="wp-block-paragraph">スプレッドシートでガントチャートを作るメリットは、大きく3つあります。</p>



<ul class="wp-block-list"><li><strong>追加コストがゼロ</strong>: JootoやAsanaのような専用ツールを契約しなくても、Googleアカウントさえあれば無料で使えます。</li><li><strong>自由にカスタマイズできる</strong>: 列の追加、色のルール、進捗率の計算式など、業務に合わせて細かく調整できますよ。</li><li><strong>チーム共有が簡単</strong>: シートのリンクを共有すれば、リアルタイムで複数人が見られます。</li></ul>



<p class="wp-block-paragraph">逆に、スケジュールの規模が数百タスクを超える場合や、依存関係を厳密に管理したい場合は専用ツールのほうが向いています。中小規模のプロジェクトや個人のタスク管理には、スプレッドシートのガントチャートで十分な機能を実現できますよ。</p>



<h2 class="wp-block-heading"><span id="toc2">完成イメージ：開始日入力でバーが自動で伸びる仕組み</span></h2>



<p class="wp-block-paragraph">これから作るガントチャートの完成イメージを、最初に共有しておきますね。</p>



<ul class="wp-block-list"><li><strong>左側のテーブル</strong>: タスク名・開始日・終了日・担当者・進捗率を入力する一覧</li><li><strong>右側のタイムライン</strong>: 日付ヘッダーが横に並び、タスクの開始日〜終了日の範囲だけセルが自動で塗りつぶされる</li></ul>



<p class="wp-block-paragraph">つまり、左側に日付を入力するだけで、右側の対応するセルが自動的に色付きバーになる仕組みです。手動でセルを塗る必要はありません。これを実現するのが「IF関数 + 条件付き書式」のカスタム数式です。</p>



<p class="wp-block-paragraph">仕組みを噛み砕くと、こうなります。タイムラインの各セルが、自分の真上にある日付ヘッダーを見て、「自分はこのタスク行の開始日〜終了日の範囲内か？」を判定する仕組みです。範囲内ならTRUEを返し、TRUEのセルだけを条件付き書式で塗りつぶします。</p>



<p class="wp-block-paragraph">それではここから、5ステップで実装していきましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">【基本編】スプレッドシートでガントチャートを作る5ステップ</span></h2>



<h3 class="wp-block-heading"><span id="toc4">ステップ1: タスク一覧表を作る</span></h3>



<p class="wp-block-paragraph">最初に、タスクを管理するためのテーブルを左側に作ります。最低限必要な列は4つです。</p>



<figure class="wp-block-table"><table><thead><tr><th>列</th><th>内容</th><th>例</th></tr></thead><tbody><tr><td>A列</td><td>タスク名</td><td>要件定義、設計、実装</td></tr><tr><td>B列</td><td>開始日</td><td>2026/04/01</td></tr><tr><td>C列</td><td>終了日</td><td>2026/04/10</td></tr><tr><td>D列</td><td>進捗率（応用編で使用）</td><td>50（%）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">開始日と終了日は必ず「日付型」で入力してください。文字列で入力すると、後の数式が動かなくなります。セルを選択して「表示形式 → 数値 → 日付」を確認しておくと安心ですよ。</p>



<p class="wp-block-paragraph">担当者列やフェーズ列は、応用編で色分けに使うので、用意しておいて損はありません。E列に担当者、F列に進捗率という配置でもOKです。本記事ではA〜D列の例で進めます。</p>



<h3 class="wp-block-heading"><span id="toc5">ステップ2: タイムライン領域（日付ヘッダー）を作る</span></h3>



<p class="wp-block-paragraph">次に、右側のタイムライン領域を準備します。E列以降に日付ヘッダーを横方向に並べます。</p>



<ul class="wp-block-list"><li>E1セル: タスクの最も早い開始日（例: <code>2026/04/01</code>）</li><li>F1セル: <code>=E1+1</code></li><li>以降、F1をドラッグでコピーして必要な日数分まで伸ばす</li></ul>



<p class="wp-block-paragraph">これで、E1から右に向かって日付が1日ずつ増えていきます。プロジェクトが3か月なら90日分、1年なら365日分の列を作っておきます。</p>



<p class="wp-block-paragraph">最初は広めに作っておきましょう。後で増やすこともできますが、最初から余裕を持たせるほうが楽ですよ。</p>



<p class="wp-block-paragraph">ヘッダー行が長くなると見づらいので、表示形式を「M/D」（月/日）に変えると見やすくなります。E1〜AH1あたりまで選択して、表示形式 → 数値 → 「カスタム日付と時刻」で <code>M/D</code> を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc6">ステップ3: 条件付き書式でセルを自動色付けする</span></h3>



<p class="wp-block-paragraph">ここがガントチャートの核心です。タイムライン領域（E2:AH100など）に、IF関数のロジックをカスタム数式として登録します。</p>



<h4 class="wp-block-heading">設定手順</h4>



<ol class="wp-block-list"><li>タイムライン領域を選択（例: <code>E2:AH100</code>）</li><li>メニュー「表示形式」→「条件付き書式」</li><li>「書式ルール」のドロップダウンで <strong>カスタム数式</strong> を選ぶ</li><li>カスタム数式欄に以下を入力</li></ol>



<pre class="wp-block-code"><code>=AND(E$1&gt;=$B2, E$1&lt;=$C2)</code></pre>



<ol class="wp-block-list"><li>書式設定スタイルで好きな塗りつぶし色を選ぶ（例: 青系）</li><li>「完了」をクリック</li></ol>



<p class="wp-block-paragraph">これで、タイムライン領域のうち、開始日〜終了日の範囲内の日付セルだけが自動的に塗られます。</p>



<h4 class="wp-block-heading">数式の意味を1行ずつ解説</h4>



<pre class="wp-block-code"><code>=AND(E$1&gt;=$B2, E$1&lt;=$C2)</code></pre>



<ul class="wp-block-list"><li><strong><code>E$1</code></strong>: 自分のセルの真上にある日付ヘッダー。<code>E</code> には<code>$</code>を付けない（列は相対参照）、<code>1</code>には<code>$</code>を付ける（行は絶対参照）</li><li><strong><code>$B2</code></strong>: 自分の行のB列にある開始日。<code>B</code>には<code>$</code>を付ける（列は絶対参照）、<code>2</code>には<code>$</code>を付けない（行は相対参照）</li><li><strong><code>$C2</code></strong>: 自分の行のC列にある終了日。<code>B</code>と同じく列だけ固定</li><li><strong><code>AND(...)</code></strong>: 「日付ヘッダー >= 開始日」かつ「日付ヘッダー <= 終了日」が両方TRUEならTRUEを返す</li></ul>



<p class="wp-block-paragraph">つまり「自分の真上の日付」と「自分の行の開始日・終了日」を比較し、範囲内ならTRUEになります。条件付き書式の数式は、適用範囲の左上セル（ここではE2）を基準に相対展開される仕様です。だからこの1つの数式だけで、範囲内のすべてのセルで正しい比較が行われますよ。</p>



<p class="wp-block-paragraph">絶対参照（<code>$</code>）の付け方を間違えると色が塗られません。「行に固定したいか、列に固定したいか」を意識して<code>$</code>を配置するのがコツですよ。</p>



<p class="wp-block-paragraph">カスタム数式や条件付き書式の基本的な仕組みは<a href="spreadsheet-conditional-formatting">スプレッドシートの条件付き書式の使い方</a>で詳しく解説しています。迷ったらそちらを参照してみてください。同じくIF関数の基本構文は<a href="spreadsheet-if-function">スプレッドシートのIF関数の使い方</a>が参考になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">ステップ4: 完成サンプルの数式と動作確認</span></h3>



<p class="wp-block-paragraph">ここまでの設定が終わったら、左側のテーブルに実際のタスクを入力して動作確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>要件定義</td><td>2026/04/01</td><td>2026/04/05</td></tr><tr><td>設計</td><td>2026/04/06</td><td>2026/04/12</td></tr><tr><td>実装</td><td>2026/04/13</td><td>2026/04/25</td></tr><tr><td>テスト</td><td>2026/04/26</td><td>2026/04/30</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">入力すると、右側のタイムラインで対応する日付範囲のセルが自動で塗られます。終了日を変えれば、塗られる範囲もリアルタイムで変わるはずです。</p>



<p class="wp-block-paragraph">色が塗られない場合は、後ほど紹介するトラブル対処の節で原因を特定できますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">ステップ5: テンプレ化と微調整</span></h3>



<p class="wp-block-paragraph">完成したシートはテンプレ化して、他のプロジェクトでも使い回せるようにしておきましょう。</p>



<ul class="wp-block-list"><li><strong>シートのコピー</strong>: タブを右クリック →「コピーを作成」で別シートに複製できます</li><li><strong>テーブル全体のコピー</strong>: 別ファイルとして「ファイル → コピーを作成」で保存し、新規プロジェクト用に流用</li><li><strong>見栄えの調整</strong>: 列幅を均等に、罫線を細く、ヘッダー行・タスク名列の固定（表示 → 固定 → 1行・1列）</li></ul>



<p class="wp-block-paragraph">ここまでで基本のガントチャートは完成です。ここから先は応用編として、進捗率の表示・メンバー別の色分けに進みましょう。</p>



<h2 class="wp-block-heading"><span id="toc9">【応用編】進捗率を表示するガントチャートに進化させる</span></h2>



<p class="wp-block-paragraph">基本編では「タスク期間中はずっと同じ色」でしたが、進捗率に応じて「終わった部分は濃い色、これからの部分は薄い色」と塗り分けたい場合のやり方です。</p>



<h3 class="wp-block-heading"><span id="toc10">進捗率列の追加</span></h3>



<p class="wp-block-paragraph">D列に進捗率（0〜100の数値）を入力する列を追加します。</p>



<figure class="wp-block-table"><table><thead><tr><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>要件定義</td><td>2026/04/01</td><td>2026/04/05</td><td>100</td></tr><tr><td>設計</td><td>2026/04/06</td><td>2026/04/12</td><td>60</td></tr><tr><td>実装</td><td>2026/04/13</td><td>2026/04/25</td><td>0</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc11">条件付き書式を2ルール作る</span></h3>



<p class="wp-block-paragraph">「終わった部分（濃い色）」と「これからの部分（薄い色）」を分けるには、条件付き書式のルールを2つ作ります。</p>



<h4 class="wp-block-heading">ルール1（濃い色：終わった部分）</h4>



<pre class="wp-block-code"><code>=AND(E$1&gt;=$B2, E$1&lt;=$B2+($C2-$B2)*$D2/100)</code></pre>



<p class="wp-block-paragraph">数式の <code>$B2 + ($C2 - $B2) * $D2/100</code> は、「タスク期間のうち進捗率分の地点にあたる日付」を計算します。たとえば4/1〜4/10のタスクで進捗60%なら、約4/6までが濃い色の範囲になります（4/10−4/1＝9日 × 60% ≒ 5.4日後）。</p>



<h4 class="wp-block-heading">ルール2（薄い色：これからの部分）</h4>



<pre class="wp-block-code"><code>=AND(E$1&gt;=$B2, E$1&lt;=$C2)</code></pre>



<p class="wp-block-paragraph">これは基本編と同じ判定です。タスク期間全体をカバーします。</p>



<h3 class="wp-block-heading"><span id="toc12">ルールの優先順位を整える</span></h3>



<p class="wp-block-paragraph">条件付き書式は、リストの上から順に評価され、TRUEになった最初のルールが適用されます。つまり「濃い色ルール」を上、「薄い色ルール」を下にする必要があります。</p>



<p class="wp-block-paragraph">条件付き書式のダイアログでは、ルールをドラッグして並び順を変えられます。濃い色を上に、薄い色を下に並べておきましょう。</p>



<p class="wp-block-paragraph">これで、進捗60%のタスクは前半が濃い色・後半が薄い色になり、進捗率がひと目で分かるようになりますよ。</p>



<h2 class="wp-block-heading"><span id="toc13">【応用編】メンバー別・タスク種別に色分けする方法</span></h2>



<p class="wp-block-paragraph">担当者別やフェーズ別にバーの色を分けると、誰がどの時期に動いているかが一目で分かります。</p>



<h3 class="wp-block-heading"><span id="toc14">担当者列の追加</span></h3>



<p class="wp-block-paragraph">タイムラインの左側、進捗率の隣に担当者列を追加します。基本編から続けて作る場合は、列の構成を以下のように整え直しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>列</th><th>内容</th><th>例</th></tr></thead><tbody><tr><td>A列</td><td>タスク名</td><td>要件定義</td></tr><tr><td>B列</td><td>開始日</td><td>2026/04/01</td></tr><tr><td>C列</td><td>終了日</td><td>2026/04/05</td></tr><tr><td>D列</td><td>進捗率</td><td>100</td></tr><tr><td>E列</td><td>担当者</td><td>Aさん</td></tr><tr><td>F列以降</td><td>タイムライン</td><td>日付ヘッダー</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">つまり、これまでE列から始めていた日付ヘッダーをF列に1つずらします。E1セルが空になるので、E1〜E最終行までを担当者列に転用してください。タイムラインの数式中の「E$1」を「F$1」に書き換えるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc15">担当者ごとに条件付き書式ルールを追加</span></h3>



<p class="wp-block-paragraph">担当者の人数分、条件付き書式のルールを作ります。3人なら3ルールです。タイムライン領域は <code>F2:AI100</code> のように、F列以降に変わる点に注意してください。</p>



<h4 class="wp-block-heading">Aさん用（青）</h4>



<pre class="wp-block-code"><code>=AND(F$1&gt;=$B2, F$1&lt;=$C2, $E2=&quot;Aさん&quot;)</code></pre>



<h4 class="wp-block-heading">Bさん用（緑）</h4>



<pre class="wp-block-code"><code>=AND(F$1&gt;=$B2, F$1&lt;=$C2, $E2=&quot;Bさん&quot;)</code></pre>



<h4 class="wp-block-heading">Cさん用（橙）</h4>



<pre class="wp-block-code"><code>=AND(F$1&gt;=$B2, F$1&lt;=$C2, $E2=&quot;Cさん&quot;)</code></pre>



<p class="wp-block-paragraph">数式の <code>$E2="Aさん"</code> の部分が、担当者名で色を振り分ける条件です。担当者名の代わりに「設計」「実装」のようなフェーズ名で分ければ、フェーズ別の色分けにもできますよ。</p>



<p class="wp-block-paragraph">なお、進捗率の濃淡と担当者の色分けを併用すると、ルールが多くなって優先順位の調整が複雑になります。最初は「色分けだけ」「進捗率だけ」のどちらかに絞り、慣れたら統合するのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc16">タイムラインビュー（新機能）との使い分け</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートには、2022年から <strong>タイムラインビュー</strong> という専用機能が追加されています。これは、テーブルから自動的にガントチャート風のビューを生成してくれる機能です。</p>



<h3 class="wp-block-heading"><span id="toc17">タイムラインビューの使い方（簡単な紹介）</span></h3>



<ol class="wp-block-list"><li>タスクテーブル（タスク名・開始日・終了日の列）を選択</li><li>メニュー「挿入」→「タイムライン」</li><li>列のマッピング（カードのタイトル・開始日・終了日など）を確認</li><li>自動的にタイムラインビューが生成される</li></ol>



<h3 class="wp-block-heading"><span id="toc18">条件付き書式方式との比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>タイムラインビュー</th><th>条件付き書式方式</th></tr></thead><tbody><tr><td>設定の手間</td><td>ほぼゼロ（テーブル指定のみ）</td><td>数式と書式の設定が必要</td></tr><tr><td>見栄え</td><td>きれい（カード型UI）</td><td>シンプルな塗りつぶし</td></tr><tr><td>カスタマイズ性</td><td>限定的</td><td>自由度が高い</td></tr><tr><td>進捗率の濃淡表示</td><td>不可</td><td>可能（応用編で紹介）</td></tr><tr><td>週末グレーアウト</td><td>不可</td><td>可能（後述）</td></tr><tr><td>印刷・PDF出力</td><td>レイアウト調整が難しい</td><td>レイアウトを自由に作れる</td></tr><tr><td>操作性</td><td>ドラッグで日付変更できる</td><td>テーブル直接編集</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">使い分けの目安</span></h3>



<ul class="wp-block-list"><li><strong>タイムラインビュー向き</strong>: 軽量プロジェクト、見栄え重視、操作性重視、共有しやすさ重視</li><li><strong>条件付き書式方式向き</strong>: 印刷・PDF配布が前提、独自ルール（祝日表示・進捗率の濃淡・遅延ハイライト）が欲しい、社内テンプレ化したい</li></ul>



<p class="wp-block-paragraph">両方を試してみて、案件の性質に合うほうを選ぶのが良いですよ。シンプルなプロジェクトはタイムラインビュー、こだわりが必要なプロジェクトは条件付き書式方式、と使い分けるのが現実的です。</p>



<h2 class="wp-block-heading"><span id="toc20">ガントチャート運用でよくあるトラブルと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc21">トラブル1: 色が塗られない</span></h3>



<p class="wp-block-paragraph">最も多いトラブルです。原因は3パターンに分かれます。</p>



<ul class="wp-block-list"><li><strong>絶対参照（<code>$</code>）の付け方ミス</strong>: <code>D$1</code>と<code>$B2</code>の <code>$</code> の位置が逆になっていることが多いです。「行を固定したいか、列を固定したいか」を意識して見直してみてください。</li><li><strong>適用範囲がずれている</strong>: 条件付き書式の「範囲に適用」がタイムライン領域と一致しているか確認しましょう。</li><li><strong>日付セルが文字列になっている</strong>: 開始日・終了日のセルが日付型ではなく文字列だと、比較が動きません。表示形式 → 数値 → 日付を再適用してください。</li></ul>



<h3 class="wp-block-heading"><span id="toc22">トラブル2: 進捗率の濃淡が想定通りにならない</span></h3>



<p class="wp-block-paragraph">応用編で2ルール作った場合、優先順位が逆になっていると濃い色が表示されません。条件付き書式ダイアログで「濃い色ルール」が上に来ているか確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc23">トラブル3: 列を増やすたびに数式を作り直す必要がある</span></h3>



<p class="wp-block-paragraph">最初から適用範囲を広めに取っておくのが対処法です。<code>E2:ZZ200</code> のように余裕を持たせておけば、行・列を追加しても自動的にルールが効きます。</p>



<h3 class="wp-block-heading"><span id="toc24">トラブル4: 週末・祝日をグレーアウトしたい</span></h3>



<p class="wp-block-paragraph">タイムライン領域に追加で条件付き書式を設定します。</p>



<h4 class="wp-block-heading">週末グレーアウト（カスタム数式）</h4>



<pre class="wp-block-code"><code>=OR(WEEKDAY(E$1,2)=6, WEEKDAY(E$1,2)=7)</code></pre>



<p class="wp-block-paragraph">WEEKDAY関数（曜日番号を返す関数）の第2引数 <code>2</code> は「月曜=1、日曜=7」の番号体系を意味します。土曜=6、日曜=7に該当する列をグレーで塗りつぶせます。</p>



<h4 class="wp-block-heading">祝日グレーアウト</h4>



<p class="wp-block-paragraph">別シート <code>祝日!A:A</code> に祝日リストを用意し、MATCH関数で判定します。</p>



<pre class="wp-block-code"><code>=ISNUMBER(MATCH(E$1, 祝日!$A:$A, 0))</code></pre>



<p class="wp-block-paragraph">MATCH関数（範囲内で一致する位置を返す関数）でヒットすればISNUMBER（数値かどうかを判定する関数）がTRUEを返し、その日付列をグレーアウトします。</p>



<h3 class="wp-block-heading"><span id="toc25">トラブル5: 遅延しているタスクをハイライトしたい</span></h3>



<p class="wp-block-paragraph">「終了日が今日より前なのに進捗率が100%未満」のタスクを赤くハイライトする場合、タスク名列（A列）に対して条件付き書式を追加します。</p>



<pre class="wp-block-code"><code>=AND($C2&lt;TODAY(), $D2&lt;100)</code></pre>



<p class="wp-block-paragraph">これで、遅延タスクのタスク名セルが赤くなり、ひと目で気づけるようになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc26">トラブル6: タスクが多くて見づらい</span></h3>



<ul class="wp-block-list"><li><strong>行・列を固定</strong>: 表示 → 固定 → 1行（日付ヘッダー）と1列（タスク名）を固定すると、スクロールしてもヘッダーが見えます</li><li><strong>ズーム切り替え</strong>: 列幅を狭めて週単位の表示に切り替える、または列を1週間ごとに集約する</li></ul>



<p class="wp-block-paragraph">タスク数が30を超えるあたりから、タイムラインビューへの切り替えも検討する価値がありますよ。</p>



<h2 class="wp-block-heading"><span id="toc27">関連記事</span></h2>



<p class="wp-block-paragraph">スプレッドシートでのプロジェクト管理・スケジュール管理をさらに深めたい方は、あわせて次の記事もご覧ください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/google-sheets-timeline-view/">スプレッドシートのタイムラインビューの使い方｜関数ゼロでガントチャート風スケジュール管理</a>：本記事で触れたタイムラインビューを、関数なしで使う手順を詳しく解説しています。</li><li><a href="https://mashukabu.com/spreadsheet-task-progress-management/">スプレッドシートのタスク・進捗管理表を作る方法｜チェックボックス×COUNTIF×条件付き書式で進捗率を自動表示</a>：進捗率を自動計算する管理表の作り方を紹介しています。</li><li><a href="https://mashukabu.com/spreadsheet-checkbox-progress/">スプレッドシートのチェックボックスで進捗管理シートを作る方法｜COUNTIFで完了率を自動計算</a>：チェックボックスで完了率を可視化する仕組みをまとめています。</li></ul>



<h2 class="wp-block-heading"><span id="toc28">まとめ：スプレッドシートのガントチャートはここまでできる</span></h2>



<p class="wp-block-paragraph">スプレッドシートのIF関数 + 条件付き書式を組み合わせれば、無料で、追加ツールなしで、開始日と終了日を入れるだけで自動色付けされるガントチャートが作れます。今日紹介した内容を整理すると、こうなります。</p>



<ul class="wp-block-list"><li><strong>基本編（5ステップ）</strong>: タスク一覧 → 日付ヘッダー → カスタム数式 <code>=AND(E$1>=$B2, E$1<=$C2)</code> → 動作確認 → テンプレ化</li><li><strong>応用編（進捗率）</strong>: 2ルールに分けて、濃い色を上・薄い色を下に並べる</li><li><strong>応用編（色分け）</strong>: 担当者列を追加し、担当者ごとにルールを増やす</li><li><strong>タイムラインビュー</strong>: 軽量・操作性重視ならこちら、カスタマイズ重視なら条件付き書式方式</li><li><strong>トラブル対処</strong>: 絶対参照のミス、ルール優先順位、日付セルの型をまず確認</li></ul>



<p class="wp-block-paragraph">最初は基本編の5ステップから始めて、慣れてきたら進捗率や色分けに進むのがおすすめです。プロジェクトごとにテンプレ化しておけば、新しい案件のたびに作り直す必要もありません。</p>



<p class="wp-block-paragraph">同じ「日付軸 × 条件付き書式」のパターンは、勤怠管理表やシフト表など他の業務テンプレでも応用できます。続けて読みたい方は<a href="spreadsheet-attendance-management">スプレッドシートで勤怠管理表を作る方法</a>、可視化のバリエーションを広げたい方は<a href="spreadsheet-graph-creation-guide">スプレッドシートのグラフ作成完全ガイド</a>もぜひ覗いてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-gantt-chart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Apps Script（GAS）入門｜コピペで動くスプレッドシート自動化レシピ5選</title>
		<link>https://mashukabu.com/spreadsheet-gas-getting-started-recipes/</link>
					<comments>https://mashukabu.com/spreadsheet-gas-getting-started-recipes/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 22:00:08 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[GAS]]></category>
		<category><![CDATA[Google Apps Script]]></category>
		<category><![CDATA[onEdit]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[自動化]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8007</guid>

					<description><![CDATA[Google Apps Script（GAS）の基本から、コピペで動く5つの自動化レシピまでを丁寧に解説。タイムスタンプ自動入力、重複削除、月別シート分割など、Excel VBA経験者がスプレッドシートで業務を自動化するための入門記事です。権限承認の手順までスクショ付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Google Apps Script（GAS）入門｜コピペで動くスプレッドシート自動化レシピ5選</h1>



<p class="wp-block-paragraph">「毎月同じスプレッドシート作業を繰り返していて、もう限界…」そんな悩みを解決するのが Google Apps Script（GAS）です。Excel でいうマクロ・VBA のスプレッドシート版で、JavaScript の知識ゼロからでも使い始められます。</p>



<p class="wp-block-paragraph">この記事では、GAS の正体から最初のコード実行までを丁寧に解説します。あわせて、コピペするだけで動く5つの自動化レシピを紹介します。タイムスタンプ自動入力、重複行の一括削除、月別シート分割など、明日から業務で使えるパターンばかりです。</p>



<p class="wp-block-paragraph">VBA を触ったことがない方でも、画面の通りに手を動かせば最初の自動化が完成します。ぜひ実際にスプレッドシートを開きながら読み進めてください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"></li><li><a href="#toc1" tabindex="0">Google Apps Script（GAS）とは？｜スプレッドシートを自動化する仕組み</a></li><li><a href="#toc2" tabindex="0">GAS でできることとできないこと</a><ol><li><a href="#toc3" tabindex="0">GAS が得意なこと</a></li><li><a href="#toc4" tabindex="0">GAS が苦手・できないこと</a></li></ol></li><li><a href="#toc5" tabindex="0">スクリプトエディタを開く手順｜初回の権限承認まで</a><ol><li><a href="#toc6" tabindex="0">スクリプトエディタの開き方</a></li><li><a href="#toc7" tabindex="0">最初のコードを書いて保存する</a></li><li><a href="#toc8" tabindex="0">初回の権限承認を突破する</a></li></ol></li><li><a href="#toc9" tabindex="0">【レシピ1】タイムスタンプを自動入力する</a><ol><li><a href="#toc10" tabindex="0">コピペで動くコード</a></li><li><a href="#toc11" tabindex="0">動かし方</a></li><li><a href="#toc12" tabindex="0">カスタマイズのヒント</a></li></ol></li><li><a href="#toc13" tabindex="0">【レシピ2】指定列で重複行を一括削除する</a><ol><li><a href="#toc14" tabindex="0">コピペで動くコード</a></li><li><a href="#toc15" tabindex="0">動かし方</a></li><li><a href="#toc16" tabindex="0">カスタマイズのヒント</a></li></ol></li><li><a href="#toc17" tabindex="0">【レシピ3】指定列の合計をポップアップ表示する</a><ol><li><a href="#toc18" tabindex="0">コピペで動くコード</a></li><li><a href="#toc19" tabindex="0">動かし方</a></li><li><a href="#toc20" tabindex="0">ボタンから呼び出せるようにする</a></li><li><a href="#toc21" tabindex="0">カスタマイズのヒント</a></li></ol></li><li><a href="#toc22" tabindex="0">【レシピ4】データを月別シートに自動分割する</a><ol><li><a href="#toc23" tabindex="0">コピペで動くコード</a></li><li><a href="#toc24" tabindex="0">動かし方</a></li><li><a href="#toc25" tabindex="0">カスタマイズのヒント</a></li></ol></li><li><a href="#toc26" tabindex="0">【レシピ5】入力で行の色を自動変更する</a><ol><li><a href="#toc27" tabindex="0">コピペで動くコード</a></li><li><a href="#toc28" tabindex="0">動かし方</a></li><li><a href="#toc29" tabindex="0">レシピ1と併用したい場合の注意</a></li><li><a href="#toc30" tabindex="0">カスタマイズのヒント</a></li></ol></li><li><a href="#toc31" tabindex="0">GAS でつまずきやすいポイントとトラブルシュート</a><ol><li><a href="#toc32" tabindex="0">つまずき1: onEdit が動かない</a></li><li><a href="#toc33" tabindex="0">つまずき2: 「Exceeded maximum execution time」と表示される</a></li><li><a href="#toc34" tabindex="0">つまずき3: 行・列番号で 0 を指定してエラー</a></li><li><a href="#toc35" tabindex="0">つまずき4: 月の値が1ずれる</a></li><li><a href="#toc36" tabindex="0">つまずき5: 数字を書き込んだのに文字列扱いになる</a></li><li><a href="#toc37" tabindex="0">つまずき6: 実行ボタンを押すと「関数を選択してください」と出る</a></li><li><a href="#toc38" tabindex="0">つまずき7: スクリプトが遅い</a></li></ol></li><li><a href="#toc39" tabindex="0">次のステップ｜GAS でさらに自動化を広げるには</a><ol><li><a href="#toc40" tabindex="0">定期実行（時間ベーストリガー）</a></li><li><a href="#toc41" tabindex="0">Googleフォームの回答に応じた自動処理</a></li><li><a href="#toc42" tabindex="0">スプレッドシートからのメール自動送信</a></li><li><a href="#toc43" tabindex="0">ライブラリと外部API連携</a></li><li><a href="#toc44" tabindex="0">おわりに</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Google Apps Script（GAS）とは？｜スプレッドシートを自動化する仕組み</span></h2>



<p class="wp-block-paragraph">Google Apps Script（GAS、ガス）は、Google が提供する自動化のためのプログラミング環境です。スプレッドシートや Gmail、Googleフォーム、Googleカレンダーなど、Google のサービス全体を操作できます。</p>



<p class="wp-block-paragraph">VBA との比較で押さえておきたいのは次のポイントです。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel VBA</th><th>Google Apps Script</th></tr></thead><tbody><tr><td>言語ベース</td><td>VBA（Visual Basic for Applications）</td><td>JavaScript</td></tr><tr><td>実行環境</td><td>ローカルPCの Excel</td><td>Google のクラウド上</td></tr><tr><td>実行方法</td><td>Excel ファイルを開いて F5 / マクロ実行</td><td>スクリプトエディタの実行ボタン、ボタン、トリガー</td></tr><tr><td>料金</td><td>Excel に同梱</td><td>個人の Google アカウントで無料</td></tr><tr><td>共有</td><td>ファイルごとマクロ付きで配布</td><td>スプレッドシートに紐付くため、共有編集者にも届く</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">イメージとしては「ブラウザ版の VBA」です。コードを書く場所はスプレッドシートの中にあり、実行は Google のサーバーで行われます。PC のスペックや Office のバージョンに左右されないのが大きな利点です。</p>



<p class="wp-block-paragraph">なお、Excel VBA とマクロの関係をおさらいしたい方は、<a href="https://mashukabu.com/excel-vba-macro-difference/">Excel VBAとマクロの違いをやさしく整理</a> も参考にしてください。</p>



<h2 class="wp-block-heading"><span id="toc2">GAS でできることとできないこと</span></h2>



<p class="wp-block-paragraph">GAS が初学者でも実用レベルで使える領域は意外と広く、逆に苦手な領域もはっきりしています。最初に向き不向きを把握しておくと、学習の方向を間違えずに済みます。</p>



<h3 class="wp-block-heading"><span id="toc3">GAS が得意なこと</span></h3>



<ul class="wp-block-list"><li>スプレッドシートの値の取得・書き込み（行ごとの一括処理が高速）</li><li>編集時の自動処理（onEdit などのトリガー）</li><li>時刻指定の定期実行（毎朝9時に集計を更新するなど）</li><li>Gmail 経由でのメール自動送信</li><li>Googleフォームの回答に応じた自動処理</li><li>HTTP リクエストで外部 API と連携</li></ul>



<h3 class="wp-block-heading"><span id="toc4">GAS が苦手・できないこと</span></h3>



<ul class="wp-block-list"><li>ピボットテーブルやチャートの細かい編集（一部は可能だが制限あり）</li><li>Excel ファイル（.xlsx）独自の機能（条件付き書式の高度な設定、Power Query など）</li><li>グラフィカルなフォーム UI（簡易ダイアログは作れるが、本格的なアプリは別ツールが向く）</li><li>ローカル PC のファイル操作（クラウド上で動くため）</li><li>1 回 6 分を超える長時間処理（実行時間制限）</li></ul>



<p class="wp-block-paragraph">業務改善の入り口としては「同じスプレッドシートに対する繰り返し作業」を自動化するのが鉄板です。</p>



<h2 class="wp-block-heading"><span id="toc5">スクリプトエディタを開く手順｜初回の権限承認まで</span></h2>



<p class="wp-block-paragraph">最初の関門は「エディタを開いて、サンプルコードを動かしてみる」ところです。ここを越えれば後はコピペでどんどん試せるので、丁寧にやってみましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">スクリプトエディタの開き方</span></h3>



<p class="wp-block-paragraph">任意のスプレッドシートを開いた状態で、上部メニューから次の通り進みます。</p>



<ol class="wp-block-list"><li>メニューバーの <code>拡張機能</code> をクリック</li><li>開いたメニューから <code>Apps Script</code> を選択</li><li>別タブでスクリプトエディタが開く</li></ol>



<p class="wp-block-paragraph">NOTE: 古い記事では「ツール → スクリプトエディタ」と書かれていることがあります。現在のメニュー位置は <code>拡張機能</code> 配下です。Excel VBA でいう <code>Alt + F11</code> で VBE を開く操作にあたります。</p>



<h3 class="wp-block-heading"><span id="toc7">最初のコードを書いて保存する</span></h3>



<p class="wp-block-paragraph">エディタを開くと <code>function myFunction() { }</code> という空の関数が用意されています。試しに次のコードに書き換えてみましょう。</p>



<pre class="wp-block-code"><code>function helloGas() {
  // --- スプレッドシートのアクティブセルに文字を書き込む ---
  SpreadsheetApp.getActiveRange().setValue(&quot;こんにちは GAS&quot;);
}</code></pre>



<p class="wp-block-paragraph">書き換えたら、上部のフロッピーアイコン（保存）をクリックします。スプレッドシート側で適当なセルを選択した状態に戻し、エディタに戻って実行ボタン（▶）を押してください。</p>



<h3 class="wp-block-heading"><span id="toc8">初回の権限承認を突破する</span></h3>



<p class="wp-block-paragraph">実行ボタンを押すと、初回だけ権限承認の確認が出ます。手順は次の通りです。</p>



<ol class="wp-block-list"><li>「承認が必要です」ダイアログで <code>権限を確認</code> をクリック</li><li>自分の Google アカウントを選択</li><li>「Google で確認されていません」と表示されたら <code>詳細</code> をクリック</li><li>一番下の「（プロジェクト名）に移動（安全ではないページ）」をクリック</li><li>必要な権限を確認して <code>許可</code> をクリック</li></ol>



<p class="wp-block-paragraph">「安全ではないページ」という表現にひるみますが、これは自分で書いたスクリプトが Google の審査を受けていないために出るメッセージです。同じプロジェクトでは初回の1回だけ表示され、2回目以降は出ません。</p>



<p class="wp-block-paragraph">承認が完了すると、スプレッドシート側の選択していたセルに「こんにちは GAS」が書き込まれます。これで実行環境の準備は完了です。</p>



<h2 class="wp-block-heading"><span id="toc9">【レシピ1】タイムスタンプを自動入力する</span></h2>



<p class="wp-block-paragraph">最初のレシピは、A 列に何かを入力したら、同じ行の B 列に入力日時が自動で記録されるしくみです。問い合わせ受付や作業ログのスプレッドシートで、入力者がいちいち日付を打たなくて済むようになります。</p>



<h3 class="wp-block-heading"><span id="toc10">コピペで動くコード</span></h3>



<p class="wp-block-paragraph">スクリプトエディタの中身をすべて消して、次のコードを貼り付けてください。</p>



<pre class="wp-block-code"><code>function onEdit(e) {
  // --- 編集が起きたシートと範囲を取得 ---
  const sheet = e.source.getActiveSheet();
  const range = e.range;

  // --- A列（1列目）の2行目以降が編集された場合のみ処理 ---
  if (range.getColumn() === 1 &amp;&amp; range.getRow() &gt; 1) {
    // --- 同じ行のB列（2列目）に現在日時を書き込む ---
    sheet.getRange(range.getRow(), 2).setValue(new Date());
  }
}</code></pre>



<h3 class="wp-block-heading"><span id="toc11">動かし方</span></h3>



<ol class="wp-block-list"><li>上記のコードをスクリプトエディタに貼り付けて保存</li><li>スプレッドシート側に戻り、A 列の任意のセルに何か入力</li><li>同じ行の B 列に入力日時が自動で書き込まれる</li></ol>



<p class="wp-block-paragraph">実行ボタンを押す必要はありません。<code>onEdit</code> という名前の関数は「セルを編集したら自動で動く」予約済みの仕組みです。これを「シンプルトリガー」と呼びます。Excel VBA でいう <code>Worksheet_Change</code> イベントとほぼ同じ役割です。</p>



<h3 class="wp-block-heading"><span id="toc12">カスタマイズのヒント</span></h3>



<ul class="wp-block-list"><li>B 列ではなく C 列に書き込みたい場合は、<code>getRange(range.getRow(), 2)</code> の <code>2</code> を <code>3</code> に変更</li><li>A 列ではなく D 列が編集されたら反応させたい場合は、<code>getColumn() === 1</code> の <code>1</code> を <code>4</code> に変更</li><li>日付だけにしたい場合は、<code>new Date()</code> の代わりに <code>Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy/MM/dd")</code> を使う</li></ul>



<p class="wp-block-paragraph">NOTE: <code>onEdit</code> はスプレッドシート上で手動編集が起きたときに動きます。他のスクリプトから値を書き換えた場合や、API 経由で更新された場合は反応しないので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc13">【レシピ2】指定列で重複行を一括削除する</span></h2>



<p class="wp-block-paragraph">顧客リストやメールアドレス一覧で、同じ値の行が混ざっているときに使えるレシピです。1 列目（A 列）の値を見て、重複している行を取り除きます。</p>



<h3 class="wp-block-heading"><span id="toc14">コピペで動くコード</span></h3>



<pre class="wp-block-code"><code>function removeDuplicates() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const data = sheet.getDataRange().getValues();

  // --- 1行目をヘッダーとして保持 ---
  const header = data[0];
  const rows = data.slice(1);

  // --- A列（1列目）の値で重複を判定 ---
  const seen = new Set();
  const unique = rows.filter(row =&gt; {
    const key = row[0];
    if (seen.has(key)) return false;
    seen.add(key);
    return true;
  });

  // --- シートをクリアしてヘッダー+ユニーク行を書き戻し ---
  sheet.clearContents();
  sheet.getRange(1, 1, 1, header.length).setValues([header]);
  if (unique.length &gt; 0) {
    sheet.getRange(2, 1, unique.length, header.length).setValues(unique);
  }
}</code></pre>



<h3 class="wp-block-heading"><span id="toc15">動かし方</span></h3>



<ol class="wp-block-list"><li>コードを貼り付けて保存</li><li>スクリプトエディタ上部の関数選択ドロップダウンで <code>removeDuplicates</code> を選択</li><li>実行ボタン（▶）をクリック</li><li>シートが「ヘッダー + 重複なしの行」だけの状態に整う</li></ol>



<h3 class="wp-block-heading"><span id="toc16">カスタマイズのヒント</span></h3>



<ul class="wp-block-list"><li>B 列で重複判定したい場合は <code>row[0]</code> の <code>0</code> を <code>1</code> に変更（配列は0始まりなので、A 列が0、B 列が1）</li><li>複数列の組み合わせで重複判定したい場合は <code>const key = row[0] + "_" + row[1];</code> のように連結</li></ul>



<p class="wp-block-paragraph">NOTE: 行を1つずつ削除するのではなく、いったん全データを配列で取り出して再書き込みする方式にしている点がポイントです。1000行あると100倍以上の速度差が出るので、自動化のクセとして覚えておくと役立ちます。</p>



<h2 class="wp-block-heading"><span id="toc17">【レシピ3】指定列の合計をポップアップ表示する</span></h2>



<p class="wp-block-paragraph">D 列の数値の合計を、ボタン1つでパッと確認できるレシピです。月次集計の途中チェックや、フィルター後の確認に便利です。</p>



<h3 class="wp-block-heading"><span id="toc18">コピペで動くコード</span></h3>



<pre class="wp-block-code"><code>function showTotal() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();

  // --- D2 から最終行までの値を取得 ---
  const values = sheet.getRange(2, 4, lastRow - 1, 1).getValues();

  // --- 合計を計算（数値以外は0として扱う） ---
  const total = values.reduce((sum, row) =&gt; sum + (Number(row[0]) || 0), 0);

  // --- ポップアップで表示 ---
  SpreadsheetApp.getUi().alert(`D列の合計: ${total.toLocaleString()}`);
}</code></pre>



<h3 class="wp-block-heading"><span id="toc19">動かし方</span></h3>



<ol class="wp-block-list"><li>コードを貼り付けて保存</li><li>関数選択ドロップダウンで <code>showTotal</code> を選び、実行ボタンをクリック</li><li>ポップアップで合計値が表示される</li></ol>



<h3 class="wp-block-heading"><span id="toc20">ボタンから呼び出せるようにする</span></h3>



<p class="wp-block-paragraph">毎回スクリプトエディタを開くのは手間なので、スプレッドシート上にボタンを置いてしまいましょう。</p>



<ol class="wp-block-list"><li>スプレッドシートの <code>挿入</code> メニューから <code>図形描画</code></li><li>適当な四角形を描き、中に「合計表示」と書いて保存</li><li>配置された図形をクリック、右上の3点メニューから <code>スクリプトを割り当て</code></li><li>入力欄に <code>showTotal</code> と入力して OK</li></ol>



<p class="wp-block-paragraph">これでシート上のボタンをクリックするだけで合計が表示されます。Excel VBA でフォームコントロールにマクロを登録する操作と同じ感覚です。</p>



<h3 class="wp-block-heading"><span id="toc21">カスタマイズのヒント</span></h3>



<ul class="wp-block-list"><li>別の列で合計したい場合は <code>getRange(2, 4, lastRow - 1, 1)</code> の <code>4</code> を変更（C 列なら3、E 列なら5）</li><li>平均値を表示したい場合は <code>total / values.length</code> を計算</li><li>通貨記号を付けたい場合は `<code> </code>D列の合計: ¥${total.toLocaleString()}<code> </code>` のようにテンプレートリテラル内に追記</li></ul>



<h2 class="wp-block-heading"><span id="toc22">【レシピ4】データを月別シートに自動分割する</span></h2>



<p class="wp-block-paragraph">「データ」という名前のシートに日付付きの行データが入っている前提で、A 列の日付の月ごとに別シートへ自動振り分けします。月次レポート作成や売上データの整理で重宝するパターンです。</p>



<h3 class="wp-block-heading"><span id="toc23">コピペで動くコード</span></h3>



<pre class="wp-block-code"><code>function splitByMonth() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const source = ss.getSheetByName(&quot;データ&quot;);
  const data = source.getDataRange().getValues();
  const header = data[0];
  const rows = data.slice(1);

  // --- 月ごとに行を仕分けるオブジェクトを準備 ---
  const grouped = {};

  rows.forEach(row =&gt; {
    // --- A列の日付から月を取得（getMonth は0始まりなので+1） ---
    const date = new Date(row[0]);
    const month = date.getMonth() + 1;
    const key = `${month}月`;

    if (!grouped[key]) grouped[key] = [];
    grouped[key].push(row);
  });

  // --- 月ごとにシートを用意して書き込み ---
  Object.keys(grouped).forEach(sheetName =&gt; {
    let target = ss.getSheetByName(sheetName);
    if (!target) target = ss.insertSheet(sheetName);

    target.clearContents();
    target.getRange(1, 1, 1, header.length).setValues([header]);
    target.getRange(2, 1, grouped[sheetName].length, header.length).setValues(grouped[sheetName]);
  });
}</code></pre>



<h3 class="wp-block-heading"><span id="toc24">動かし方</span></h3>



<ol class="wp-block-list"><li>スプレッドシートに「データ」という名前のシートを用意し、A 列に日付、B 列以降に任意の項目を入れておく</li><li>コードを貼り付けて保存</li><li>関数選択ドロップダウンで <code>splitByMonth</code> を選び、実行ボタンをクリック</li><li>「1月」「2月」「3月」のように月ごとのシートが自動で作られ、データが振り分けられる</li></ol>



<h3 class="wp-block-heading"><span id="toc25">カスタマイズのヒント</span></h3>



<ul class="wp-block-list"><li>月ではなく年で分けたい場合は <code>date.getFullYear()</code> を使い、シート名を <code>${year}年</code> に変更</li><li>ソースシート名を変えたい場合は <code>getSheetByName("データ")</code> の文字列を書き換え</li><li>元データはクリアせず追加するだけにしたい場合は <code>target.clearContents();</code> の行を削除し、<code>appendRow(row)</code> で1行ずつ追加する形に書き換え</li></ul>



<p class="wp-block-paragraph">NOTE: <code>date.getMonth()</code> は1月が0、12月が11と返ってくる JavaScript の仕様です。表示用には必ず <code>+1</code> してから使ってください。</p>



<h2 class="wp-block-heading"><span id="toc26">【レシピ5】入力で行の色を自動変更する</span></h2>



<p class="wp-block-paragraph">タスク管理シートで C 列に「完了」と入力したら、その行全体に色を付けるレシピです。視覚的な進捗管理が一気にラクになります。</p>



<h3 class="wp-block-heading"><span id="toc27">コピペで動くコード</span></h3>



<pre class="wp-block-code"><code>function onEdit(e) {
  const sheet = e.source.getActiveSheet();
  const range = e.range;

  // --- C列（3列目）が編集された場合のみ処理 ---
  if (range.getColumn() !== 3) return;

  const row = range.getRow();
  const lastCol = sheet.getLastColumn();
  const targetRange = sheet.getRange(row, 1, 1, lastCol);

  if (e.value === &quot;完了&quot;) {
    // --- 「完了」と入力されたら行全体を黄色に ---
    targetRange.setBackground(&quot;#fff2cc&quot;);
  } else {
    // --- 「完了」以外なら背景色をリセット ---
    targetRange.setBackground(null);
  }
}</code></pre>



<h3 class="wp-block-heading"><span id="toc28">動かし方</span></h3>



<ol class="wp-block-list"><li>コードを貼り付けて保存</li><li>スプレッドシートに戻り、C 列のセルに <code>完了</code> と入力</li><li>同じ行が黄色く色付けされる</li><li>C 列を空にしたり別の文字に書き換えると色が消える</li></ol>



<h3 class="wp-block-heading"><span id="toc29">レシピ1と併用したい場合の注意</span></h3>



<p class="wp-block-paragraph">レシピ1とレシピ5はどちらも <code>onEdit</code> という名前の関数です。同じスクリプト内に両方を貼り付けると、後に書いた方で上書きされてしまいます。両方使いたい場合は、1つの <code>onEdit</code> の中で列ごとに分岐させてください。</p>



<pre class="wp-block-code"><code>function onEdit(e) {
  const sheet = e.source.getActiveSheet();
  const range = e.range;
  const col = range.getColumn();
  const row = range.getRow();

  // --- A列が編集されたらB列にタイムスタンプ ---
  if (col === 1 &amp;&amp; row &gt; 1) {
    sheet.getRange(row, 2).setValue(new Date());
  }

  // --- C列が編集されたら行の色を変更 ---
  if (col === 3) {
    const lastCol = sheet.getLastColumn();
    const targetRange = sheet.getRange(row, 1, 1, lastCol);
    if (e.value === &quot;完了&quot;) {
      targetRange.setBackground(&quot;#fff2cc&quot;);
    } else {
      targetRange.setBackground(null);
    }
  }
}</code></pre>



<h3 class="wp-block-heading"><span id="toc30">カスタマイズのヒント</span></h3>



<ul class="wp-block-list"><li>色を変えたい場合は <code>"#fff2cc"</code> を別のカラーコードに（薄い緑なら <code>"#d9ead3"</code>、薄い赤なら <code>"#f4cccc"</code>）</li><li>「完了」以外の文字をトリガーにしたい場合は <code>e.value === "完了"</code> を変更</li><li>C 列以外で反応させたい場合は <code>col === 3</code> の数字を変更</li></ul>



<h2 class="wp-block-heading"><span id="toc31">GAS でつまずきやすいポイントとトラブルシュート</span></h2>



<p class="wp-block-paragraph">ここからは、初学者が最初の数本で必ずぶつかるトラブルと対処法をまとめておきます。エラーが出たときに上から確認していけば、たいていの問題は解決できます。</p>



<h3 class="wp-block-heading"><span id="toc32">つまずき1: onEdit が動かない</span></h3>



<p class="wp-block-paragraph">考えられる原因は次の通りです。</p>



<ul class="wp-block-list"><li>関数名が <code>onEdit</code> ではない（綴りミス、<code>OnEdit</code> のような大文字混在）</li><li>API や別のスクリプトから値を変更している（<code>onEdit</code> は手動編集にのみ反応します）</li><li>認証が必要な処理（メール送信など）を <code>onEdit</code> 内で呼び出している</li><li>同じファイル内に <code>onEdit</code> が複数あって後から書いた方で上書きされている</li></ul>



<h3 class="wp-block-heading"><span id="toc33">つまずき2: 「Exceeded maximum execution time」と表示される</span></h3>



<p class="wp-block-paragraph">GAS は1回の実行で6分の上限があります。多くは「ループ内で <code>getValue()</code> や <code>setValue()</code> を呼んでいる」のが原因です。レシピ2やレシピ4のパターンを参考に、<code>getValues()</code> で配列を一括取得し、JavaScript 側で加工してから <code>setValues()</code> で一括書き戻す形に書き換えてください。</p>



<h3 class="wp-block-heading"><span id="toc34">つまずき3: 行・列番号で 0 を指定してエラー</span></h3>



<p class="wp-block-paragraph">シート操作の <code>getRange(行, 列)</code> は1始まりです。A 列は1、B 列は2、最初の行は1。<code>getRange(0, 0)</code> は無効なのでエラーになります。一方で、<code>getValues()</code> で取得した二次元配列は JavaScript の配列なので0始まりになります。「シート操作は1始まり、配列処理は0始まり」と覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc35">つまずき4: 月の値が1ずれる</span></h3>



<p class="wp-block-paragraph"><code>new Date().getMonth()</code> は1月が0、12月が11と返してくる仕様です。レシピ4のように <code>+1</code> してから表示や比較に使ってください。</p>



<h3 class="wp-block-heading"><span id="toc36">つまずき5: 数字を書き込んだのに文字列扱いになる</span></h3>



<p class="wp-block-paragraph"><code>setValue("100")</code> のように文字列で渡すと文字列として書き込まれます。数値として扱いたい場合は <code>setValue(Number("100"))</code> のように明示変換するか、シート側のセル書式を「数値」に設定しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc37">つまずき6: 実行ボタンを押すと「関数を選択してください」と出る</span></h3>



<p class="wp-block-paragraph">スクリプトエディタ上部の関数選択ドロップダウンで、実行したい関数名を選んでから ▶ ボタンをクリックしてください。デフォルトでは最初に書かれた関数が選択されています。</p>



<h3 class="wp-block-heading"><span id="toc38">つまずき7: スクリプトが遅い</span></h3>



<p class="wp-block-paragraph">シート操作 API（<code>getValue</code>, <code>setValue</code>, <code>getRange</code> など）の呼び出しは1回ずつが重い処理です。ループ内で繰り返し呼ぶと一気に遅くなるので、配列でまとめて取得・書き込みするのが鉄則です。</p>



<h2 class="wp-block-heading"><span id="toc39">次のステップ｜GAS でさらに自動化を広げるには</span></h2>



<p class="wp-block-paragraph">5つのレシピが動かせたら、もう自動化の入り口は越えています。ここからは、よくある「次に学びたい」テーマを軽く紹介しておきます。</p>



<h3 class="wp-block-heading"><span id="toc40">定期実行（時間ベーストリガー）</span></h3>



<p class="wp-block-paragraph">時刻指定の自動実行は、スクリプトエディタ左側の時計アイコン（トリガー）から設定できます。「毎朝9時に集計を更新する」「毎週月曜にレポートシートを初期化する」といった使い方が定番です。<code>onEdit</code> のようなシンプルトリガーと違い、認証が必要な処理（メール送信など）も呼び出せます。</p>



<h3 class="wp-block-heading"><span id="toc41">Googleフォームの回答に応じた自動処理</span></h3>



<p class="wp-block-paragraph">フォーム × GAS の組み合わせは業務改善の定番です。「フォームに回答が来たら関係者に通知メールを送る」「回答内容を別シートに整形してコピーする」といった処理を自動化できます。フォーム送信トリガーを使えば、回答が来た瞬間に処理が走ります。詳しい手順は別記事で解説する予定です。</p>



<h3 class="wp-block-heading"><span id="toc42">スプレッドシートからのメール自動送信</span></h3>



<p class="wp-block-paragraph">GAS の <code>MailApp.sendEmail()</code> を使うと、スプレッドシートの内容に応じて自動でメールを送れます。請求書の送付、定期レポートの配信、エラー通知など、メールが絡む業務を一気に効率化できます。こちらも別記事で詳しく解説する予定です。</p>



<h3 class="wp-block-heading"><span id="toc43">ライブラリと外部API連携</span></h3>



<p class="wp-block-paragraph">GAS は <code>UrlFetchApp</code> で外部 API を叩けます。Slack 通知、ChatGPT API、その他 SaaS 連携など、応用の幅が一気に広がります。最初は1つのスプレッドシート内で完結する自動化からスタートし、慣れてきたら外部連携に踏み出すと挫折しにくいです。</p>



<p class="wp-block-paragraph">なお、Excel VBA から本格的にプログラミングへ移行したい方は、<a href="https://mashukabu.com/howto-macro-recording/">マクロ記録から始めるExcel VBA入門</a> も合わせて読むと、両方の言語の差分が見えて理解が深まります。</p>



<h3 class="wp-block-heading"><span id="toc44">おわりに</span></h3>



<p class="wp-block-paragraph">GAS の本当の強みは「Google のサービス全部に手が届く」ところです。スプレッドシートの自動化を入り口に、Gmail、フォーム、ドライブ、カレンダーへと広げていけば、Excel VBA では届かなかった領域にまで業務改善が届きます。</p>



<p class="wp-block-paragraph">最初の1本は今日のレシピから。コピペした関数があなたのスプレッドシートで動いた瞬間が、自動化人生のスタートラインです。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-gas-getting-started-recipes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Googleフォーム×GASで回答を自動通知・集計する方法｜コピペで動く3レシピ</title>
		<link>https://mashukabu.com/google-form-gas-auto-aggregate/</link>
					<comments>https://mashukabu.com/google-form-gas-auto-aggregate/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 21:59:52 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[GAS]]></category>
		<category><![CDATA[Googleフォーム]]></category>
		<category><![CDATA[Webhook]]></category>
		<category><![CDATA[自動化]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8001</guid>

					<description><![CDATA[Googleフォームの回答をGASで自動通知・自動集計する方法を、コピペで動く3レシピで解説します。Slack通知・Gmail通知・カテゴリ別集計シート更新まで、フォーム送信時トリガーの設定方法と暴走対策もまとめて紹介します。]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Googleフォーム×GASで回答を自動通知・集計する方法｜コピペで動く3レシピ</h1>



<p class="wp-block-paragraph">「フォームに回答が来ても、誰も気づかない」「定例会議の前に毎回スプレッドシートを集計し直すのが地味に面倒」——Googleフォームを業務で使い始めると、ほとんどの人が一度はぶつかる悩みです。</p>



<p class="wp-block-paragraph">この記事では、<strong>Googleフォームの回答をスプレッドシートとGAS（Google Apps Script）で連携させて、Gmail通知・Slack通知・集計シート自動更新の3つを「コピペで動く形」で実装する方法</strong>を解説します。GASは入門レベル前提で、1本ずつ動かしながら読めるよう構成しました。</p>



<p class="wp-block-paragraph">GASのスクリプトエディタの開き方や保存・実行の基本操作は、シリーズ1本目で詳しく解説しています。GASに初めて触る方は先にこちらから読むとつまずきにくいです。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-gas-getting-started-recipes/">GAS入門｜スプレッドシート自動化レシピ5選</a></p>



<p class="wp-block-paragraph">なお、<strong>LINE Notifyは2025年3月末でサービス終了</strong>しているため、本記事では現行で誰でも使える「Slack Incoming Webhook」と「Gmail」を通知手段として採用しています。古い記事のコードでつまずいた経験がある方も、ここから読み直せば動くところまで戻れます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"></li><li><a href="#toc1" tabindex="0">GoogleフォームとGASを連携してできること</a><ol><li><a href="#toc2" tabindex="0">自動通知（Slack・Gmail・チャット）</a></li><li><a href="#toc3" tabindex="0">自動集計（別シートでのカテゴリ別カウント）</a></li><li><a href="#toc4" tabindex="0">関連処理の自動化（タスク登録・差し込み返信）</a></li></ol></li><li><a href="#toc5" tabindex="0">連携の前提｜フォーム回答スプレッドシートを準備する</a><ol><li><a href="#toc6" tabindex="0">フォーム回答先のスプレッドシートを開く</a></li><li><a href="#toc7" tabindex="0">拡張機能 → Apps Script を開く</a></li></ol></li><li><a href="#toc8" tabindex="0">レシピ1｜回答が来たらGmailに自動通知する（GAS）</a><ol><li><a href="#toc9" tabindex="0">コピペで動くサンプルコード</a></li><li><a href="#toc10" tabindex="0">コードのポイント解説</a></li><li><a href="#toc11" tabindex="0">フォーム送信時トリガーを設定する</a></li></ol></li><li><a href="#toc12" tabindex="0">レシピ2｜回答が来たらSlackに自動通知する（GAS Webhook）</a><ol><li><a href="#toc13" tabindex="0">事前準備：Slack Incoming Webhook URLを取得</a></li><li><a href="#toc14" tabindex="0">コピペで動くサンプルコード</a></li><li><a href="#toc15" tabindex="0">通知メッセージのカスタマイズ例</a></li></ol></li><li><a href="#toc16" tabindex="0">レシピ3｜カテゴリ別の回答件数を集計シートに自動更新する</a><ol><li><a href="#toc17" tabindex="0">集計シートの準備</a></li><li><a href="#toc18" tabindex="0">コピペで動くサンプルコード</a></li><li><a href="#toc19" tabindex="0">関数（COUNTIF）と組み合わせる場合との使い分け</a></li></ol></li><li><a href="#toc20" tabindex="0">フォーム送信時トリガーの設定方法と注意点</a><ol><li><a href="#toc21" tabindex="0">トリガーの設定手順</a></li><li><a href="#toc22" tabindex="0">トリガー暴走を防ぐ3つの基本ルール</a></li></ol></li><li><a href="#toc23" tabindex="0">スクリプトプロパティでWebhook URLを安全に管理する</a><ol><li><a href="#toc24" tabindex="0">スクリプトプロパティとは</a></li><li><a href="#toc25" tabindex="0">設定方法とコードからの呼び出し方</a></li></ol></li><li><a href="#toc26" tabindex="0">GoogleフォームとGAS連携でよくあるエラーと対処法</a><ol><li><a href="#toc27" tabindex="0">エラー1: 「TypeError: Cannot read properties of undefined」</a></li><li><a href="#toc28" tabindex="0">エラー2: 「Exception: Service Spreadsheets failed while accessing document」</a></li><li><a href="#toc29" tabindex="0">エラー3: 「Exception: Request failed for hooks.slack.com returned code 404」</a></li><li><a href="#toc30" tabindex="0">エラー4: 通知が同じ内容で2回・3回飛ぶ</a></li><li><a href="#toc31" tabindex="0">エラー5: 「このアプリは確認されていません」が消えない</a></li></ol></li><li><a href="#toc32" tabindex="0">まとめ｜Googleフォーム×GASで通知と集計を一気に自動化する</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">GoogleフォームとGASを連携してできること</span></h2>



<p class="wp-block-paragraph">Googleフォームは標準でも「回答をスプレッドシートに集める」機能を持っていますが、それだけだと「シートに溜まる」止まりで、能動的に何かが起きるわけではありません。GASを噛ませることで、はじめて以下のような自動化が可能になります。</p>



<h3 class="wp-block-heading"><span id="toc2">自動通知（Slack・Gmail・チャット）</span></h3>



<p class="wp-block-paragraph">回答が送信された瞬間に、指定の宛先へ通知を飛ばせます。本記事で扱うのはGmailとSlackですが、同じ仕組みでDiscordやMicrosoft Teamsにも応用できます（DiscordはWebhookの仕様がSlackとほぼ同じ）。</p>



<ul class="wp-block-list"><li>問い合わせフォーム → 担当者にGmail通知</li><li>申込フォーム → 営業チームのSlackチャンネルに通知</li><li>イベント参加登録 → 運営チャンネルに通知</li></ul>



<p class="wp-block-paragraph">「気づかない」を解消するだけで、対応スピードが半日単位で改善することも珍しくありません。</p>



<h3 class="wp-block-heading"><span id="toc3">自動集計（別シートでのカテゴリ別カウント）</span></h3>



<p class="wp-block-paragraph">回答が来るたびに、<strong>別シートに置いた集計表のカウントを1ずつ加算する</strong>処理を自動化できます。会議前の手動集計から解放され、いつ見ても最新の数字が乗っている状態を作れます。</p>



<p class="wp-block-paragraph">スプレッドシート関数のCOUNTIFでも同じことはできますが、GASを使う利点は「集計時に他の処理（通知・条件分岐）を一緒にやれる」点です。レシピ3で詳しく扱います。</p>



<h3 class="wp-block-heading"><span id="toc4">関連処理の自動化（タスク登録・差し込み返信）</span></h3>



<p class="wp-block-paragraph">応用範囲はもっと広く、たとえば以下のような連携もGASなら実装できます。</p>



<ul class="wp-block-list"><li>回答内容に応じて自動返信メールを送る（フォーム標準の返信機能より柔軟）</li><li>特定キーワードを含む回答だけを別シートに転記する</li><li>Googleカレンダーに予定を自動登録する</li></ul>



<p class="wp-block-paragraph">本記事では3つの基本レシピに絞りますが、土台が同じなので、ここで紹介するレシピさえ動けば応用は難しくありません。</p>



<h2 class="wp-block-heading"><span id="toc5">連携の前提｜フォーム回答スプレッドシートを準備する</span></h2>



<p class="wp-block-paragraph">GASでフォーム連携を始める前に、<strong>「回答先のスプレッドシート」</strong>を準備しておきます。Googleフォーム単体ではなく、フォームの回答が流れ込むスプレッドシートが起点になる点が重要です。</p>



<h3 class="wp-block-heading"><span id="toc6">フォーム回答先のスプレッドシートを開く</span></h3>



<ol class="wp-block-list"><li>Googleフォームの編集画面を開く</li><li>上部タブ「回答」をクリック</li><li>右側の緑色の「スプレッドシートにリンク」アイコンをクリック</li><li>「新しいスプレッドシートを作成」または「既存のスプレッドシートを選択」</li></ol>



<p class="wp-block-paragraph">これで、フォームに回答が届くたびに、指定したスプレッドシートに行が追加されるようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>タイムスタンプ</th><th>お名前</th><th>カテゴリ</th><th>内容</th></tr></thead><tbody><tr><td>2026/05/09 10:23:11</td><td>田中</td><td>質問</td><td>営業時間を教えてください</td></tr><tr><td>2026/05/09 10:45:02</td><td>佐藤</td><td>申込</td><td>サービスAを申し込みたい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1行目がヘッダー（質問のテキスト）、2行目以降が回答です。GASからは<strong>この「質問テキスト」をキーに回答内容を取り出します</strong>。後でコードを書くときに重要になるので、質問のテキストはあらかじめ確定させておくと安全です。</p>



<h3 class="wp-block-heading"><span id="toc7">拡張機能 → Apps Script を開く</span></h3>



<p class="wp-block-paragraph">回答先スプレッドシートを開いた状態で、メニューから次の手順でスクリプトエディタを開きます。</p>



<ol class="wp-block-list"><li>スプレッドシート上部メニュー「拡張機能」をクリック</li><li>「Apps Script」を選択</li><li>別タブでエディタが開く</li></ol>



<p class="wp-block-paragraph">ここから先は基本的に1本目記事の延長です。エディタの基本操作（保存・実行・ログ表示）に不安がある方は、こちらを先に押さえておきましょう。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-gas-getting-started-recipes/">GAS入門｜スプレッドシート自動化レシピ5選</a></p>



<h2 class="wp-block-heading"><span id="toc8">レシピ1｜回答が来たらGmailに自動通知する（GAS）</span></h2>



<p class="wp-block-paragraph">最も簡単で、追加の設定が要らないレシピです。GmailApp はGASにビルトインされている上に、外部のWebhook URLを取得する手間もありません。<strong>まずはこのレシピで「フォーム送信トリガーが発火する感覚」を掴んでから、レシピ2に進む</strong>のがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc9">コピペで動くサンプルコード</span></h3>



<p class="wp-block-paragraph">スクリプトエディタに貼り付けて、<code>'your-address@example.com'</code> の部分だけ自分の通知先メールアドレスに書き換えてください。</p>



<pre class="wp-block-code"><code>// --- レシピ1: フォーム回答をGmailで通知 ---
function onFormSubmitGmail(e) {
  try {
    // --- 通知先メールアドレス（自分のアドレスに書き換える） ---
    const toAddress = 'your-address@example.com';

    // --- 質問名をキーにした回答オブジェクト ---
    const namedValues = e.namedValues;

    // --- 件名と本文を組み立て ---
    const subject = '[フォーム] 新しい回答が届きました';
    const body = Object.entries(namedValues)
      .map(function(entry) {
        return entry[0] + ': ' + entry[1].join(', ');
      })
      .join('n');

    // --- メール送信 ---
    GmailApp.sendEmail(toAddress, subject, body);
  } catch (err) {
    // --- エラー時もトリガーを止めない（暴走対策） ---
    console.log('Gmail通知エラー: ' + err.message);
  }
}</code></pre>



<h3 class="wp-block-heading"><span id="toc10">コードのポイント解説</span></h3>



<ul class="wp-block-list"><li><strong><code>e.namedValues</code></strong>: フォーム送信時のイベントオブジェクト <code>e</code> が持っているプロパティで、<strong>質問テキストをキー、回答を配列の形で持つオブジェクト</strong>です。<code>e.values</code> と違って列順に依存しないため、質問の追加・並び替えに強くなります</li><li><strong><code>Object.entries(...).map(...)</code></strong>: 全ての質問と回答を「質問: 回答」の形に整形し、改行で連結します</li><li><strong><code>entry[1].join(', ')</code></strong>: 回答が配列形式（チェックボックス複数選択など）の場合に備えて、カンマ区切りで結合しています</li><li><strong><code>try/catch</code></strong>: トリガー実行中にエラーが出ても、Googleからのエラー通知メールが暴走しないようにする最低限のガードです（後述）</li></ul>



<h3 class="wp-block-heading"><span id="toc11">フォーム送信時トリガーを設定する</span></h3>



<p class="wp-block-paragraph">コードを貼り付けて保存しただけでは、まだフォーム送信時に動きません。<strong>トリガーの設定</strong>が別途必要です。</p>



<ol class="wp-block-list"><li>スクリプトエディタ左メニューの <strong>時計アイコン（トリガー）</strong> をクリック</li><li>右下の「<strong>トリガーを追加</strong>」をクリック</li><li>以下のように設定:</li></ol>



<ul class="wp-block-list"><li>実行する関数: <code>onFormSubmitGmail</code></li><li>実行するデプロイ: <code>Head</code></li><li>イベントのソース: <code>スプレッドシートから</code></li><li>イベントの種類: <code>フォーム送信時</code></li></ul>



<ol class="wp-block-list"><li>「保存」をクリック</li><li>初回のみ承認画面が表示されるので、自分のGoogleアカウントで承認</li></ol>



<p class="wp-block-paragraph">承認画面で「このアプリは確認されていません」が出るのは、自作スクリプトでは正常な挙動です。「詳細」→「（プロジェクト名）に移動（安全ではないページ）」をクリックして進めます。</p>



<p class="wp-block-paragraph">設定後、テスト用に1件フォームを送信して、メールが届けば成功です。</p>



<h2 class="wp-block-heading"><span id="toc12">レシピ2｜回答が来たらSlackに自動通知する（GAS Webhook）</span></h2>



<p class="wp-block-paragraph">チームでフォームを運用しているなら、Gmailよりも<strong>Slackチャンネルへの通知のほうが見落としが減ります</strong>。Slack Incoming Webhookを使えば、外部APIキーやアプリ承認の手間なく、チャンネル単位で通知を飛ばせます。</p>



<h3 class="wp-block-heading"><span id="toc13">事前準備：Slack Incoming Webhook URLを取得</span></h3>



<p class="wp-block-paragraph">Slack側で以下の手順でWebhook URLを発行します（管理者権限が必要な場合があります）。</p>



<ol class="wp-block-list"><li>Slack ワークスペースで「Apps」→「アプリを管理」→「Incoming Webhooks」を検索</li><li>「Slackに追加」をクリック</li><li>通知先のチャンネルを選択</li><li><strong>「Webhook URL」をコピーして安全な場所にメモ</strong>（後で使います）</li></ol>



<p class="wp-block-paragraph">Webhook URLは <code>https://hooks.slack.com/services/T.../B.../...</code> のような形式です。<strong>このURLが漏れると誰でもそのチャンネルに投稿できてしまうため、絶対にコードに直書きしないでください</strong>。次のH2で扱う「スクリプトプロパティ」で管理します。</p>



<h3 class="wp-block-heading"><span id="toc14">コピペで動くサンプルコード</span></h3>



<pre class="wp-block-code"><code>// --- レシピ2: フォーム回答をSlackで通知 ---
function onFormSubmitSlack(e) {
  try {
    // --- スクリプトプロパティから Webhook URL を取得 ---
    const webhookUrl = PropertiesService
      .getScriptProperties()
      .getProperty('SLACK_WEBHOOK_URL');

    if (!webhookUrl) {
      throw new Error('SLACK_WEBHOOK_URL が未設定です');
    }

    // --- 質問と回答を箇条書き形式に整形 ---
    const lines = Object.entries(e.namedValues)
      .map(function(entry) {
        return '• ' + entry[0] + ': ' + entry[1].join(', ');
      })
      .join('n');

    // --- Slack に送信するペイロード ---
    const payload = {
      text: '*新しい回答が届きました*n' + lines
    };

    // --- HTTP POST で Webhook に送信 ---
    UrlFetchApp.fetch(webhookUrl, {
      method: 'post',
      contentType: 'application/json',
      payload: JSON.stringify(payload),
      muteHttpExceptions: true
    });
  } catch (err) {
    console.log('Slack通知エラー: ' + err.message);
  }
}</code></pre>



<p class="wp-block-paragraph">このコードをそのまま実行する前に、<strong>スクリプトプロパティに <code>SLACK_WEBHOOK_URL</code> を登録</strong>しておく必要があります。手順は次のH2「スクリプトプロパティでWebhook URLを安全に管理する」で詳しく説明します。先にスクリプトプロパティを設定してから、レシピ1と同じ手順でフォーム送信時トリガーを <code>onFormSubmitSlack</code> に対して設定してください。</p>



<h3 class="wp-block-heading"><span id="toc15">通知メッセージのカスタマイズ例</span></h3>



<p class="wp-block-paragraph">Slack通知は <code>text</code> だけでも機能しますが、強調や絵文字を入れて見やすくすることもできます。以下のように <code>payload</code> を組み替えるだけです。</p>



<pre class="wp-block-code"><code>// --- 強調と絵文字入りメッセージ ---
const payload = {
  text: ':bell: *新しい回答が届きました*',
  attachments: [
    {
      color: '#36a64f',
      text: lines
    }
  ]
};</code></pre>



<p class="wp-block-paragraph"><code>attachments</code> を使うと、左側に色付きの縦線が付いて視認性が上がります。最初は <code>text</code> のみで動かして、慣れてからカスタマイズに進むのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc16">レシピ3｜カテゴリ別の回答件数を集計シートに自動更新する</span></h2>



<p class="wp-block-paragraph">通知に加えて、<strong>回答数のリアルタイム集計</strong>まで自動化するレシピです。「会議前にピボットを作り直す」「先週の問い合わせ件数を手動で数える」といった作業が消えます。</p>



<h3 class="wp-block-heading"><span id="toc17">集計シートの準備</span></h3>



<p class="wp-block-paragraph">回答先スプレッドシートに、<code>集計</code> という名前の新しいシートを作成しておきます（コードで自動作成もできますが、最初は手動で作っておくと挙動が見えやすいです）。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列</th><th>B列</th></tr></thead><tbody><tr><td>カテゴリ</td><td>件数</td></tr><tr><td>質問</td><td>0</td></tr><tr><td>申込</td><td>0</td></tr><tr><td>苦情</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1行目はヘッダー、2行目以降にカテゴリ名と初期件数（0）を入れておきます。フォームの「カテゴリ」質問で選ばれる選択肢と一致させてください。</p>



<h3 class="wp-block-heading"><span id="toc18">コピペで動くサンプルコード</span></h3>



<pre class="wp-block-code"><code>// --- レシピ3: カテゴリ別件数を集計シートで自動カウント ---
function onFormSubmitAggregate(e) {
  try {
    const ss = SpreadsheetApp.getActiveSpreadsheet();
    const sheet = ss.getSheetByName('集計');
    if (!sheet) {
      throw new Error('「集計」シートが見つかりません');
    }

    // --- 回答からカテゴリを取り出す（質問名は実際のフォームに合わせる） ---
    const category = e.namedValues['カテゴリ']
      ? e.namedValues['カテゴリ'][0]
      : '未分類';

    // --- 集計シート全体の値を取得 ---
    const data = sheet.getDataRange().getValues();
    let updated = false;

    // --- 既存カテゴリ行のカウントを+1 ---
    for (let i = 1; i &lt; data.length; i++) {
      if (data[i][0] === category) {
        sheet.getRange(i + 1, 2).setValue(data[i][1] + 1);
        updated = true;
        break;
      }
    }

    // --- カテゴリ行が無ければ最終行に追記 ---
    if (!updated) {
      sheet.appendRow([category, 1]);
    }
  } catch (err) {
    console.log('集計エラー: ' + err.message);
  }
}</code></pre>



<p class="wp-block-paragraph">このコードもレシピ1・2と同じく、<strong>フォーム送信時トリガーを <code>onFormSubmitAggregate</code> に対して設定</strong>することで自動発火します。</p>



<p class="wp-block-paragraph">ポイント:</p>



<ul class="wp-block-list"><li><strong><code>e.namedValues['カテゴリ']</code></strong> の <code>'カテゴリ'</code> 部分は、<strong>フォームの質問テキストと完全一致</strong>している必要があります。質問名を変更したらコードも合わせて変更します</li><li>想定外のカテゴリ（自由記述や新しい選択肢）が来ても、<code>appendRow</code> で末尾に追加されるので集計から漏れません</li><li><code>getDataRange().getValues()</code> でシート全体を一度に読むため、件数が多くてもAPI呼び出しは1回で済みます</li></ul>



<h3 class="wp-block-heading"><span id="toc19">関数（COUNTIF）と組み合わせる場合との使い分け</span></h3>



<p class="wp-block-paragraph">「これ、わざわざGASで書かなくてもCOUNTIFでよくない？」という疑問は当然出ます。実際、<strong>単純な件数集計だけならCOUNTIF関数のほうが圧倒的に楽</strong>です。GAS実装が活きるのは以下のようなケースです。</p>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>おすすめ手段</th></tr></thead><tbody><tr><td>単純なカテゴリ別件数</td><td>COUNTIF関数</td></tr><tr><td>件数 + Slack通知を同時に</td><td>GAS（レシピ2と統合）</td></tr><tr><td>条件によって書き込み先シートを分ける</td><td>GAS</td></tr><tr><td>件数が一定数を超えたらアラート</td><td>GAS</td></tr><tr><td>関数でセルを汚したくない（参照崩れリスク回避）</td><td>GAS</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ロジックが分岐する瞬間にGASの真価が出ます。逆に、純粋に件数だけ見たいなら、まずCOUNTIFで作ってからGASに育てる流れでも遅くありません。</p>



<h2 class="wp-block-heading"><span id="toc20">フォーム送信時トリガーの設定方法と注意点</span></h2>



<p class="wp-block-paragraph">3つのレシピで何度か出てきた「フォーム送信時トリガー」を、ここで一度まとめて整理します。<strong>トリガーの設定ミスや重複登録は、GAS自動化で最もハマりやすい落とし穴</strong>です。</p>



<h3 class="wp-block-heading"><span id="toc21">トリガーの設定手順</span></h3>



<ol class="wp-block-list"><li>スクリプトエディタ左メニューの<strong>時計アイコン</strong>をクリック</li><li>右下「<strong>トリガーを追加</strong>」</li><li>設定項目:</li></ol>



<ul class="wp-block-list"><li><strong>実行する関数</strong>: 動かしたい関数名（例: <code>onFormSubmitGmail</code>）</li><li><strong>実行するデプロイ</strong>: <code>Head</code></li><li><strong>イベントのソース</strong>: <code>スプレッドシートから</code></li><li><strong>イベントの種類</strong>: <code>フォーム送信時</code></li><li>失敗通知設定: <code>毎日通知を受け取る</code>（デフォルト推奨）</li></ul>



<ol class="wp-block-list"><li>「保存」→ 初回のみ承認</li></ol>



<p class="wp-block-paragraph">設定後、トリガー一覧画面に戻り、<strong>狙った関数のトリガーが1つだけ並んでいることを確認</strong>してください。</p>



<h3 class="wp-block-heading"><span id="toc22">トリガー暴走を防ぐ3つの基本ルール</span></h3>



<p class="wp-block-paragraph">GAS連携で最もやってはいけないのが「トリガー暴走」です。設定ミス1つで、フォーム1回の送信で何通も通知が飛んだり、エラー通知メールで受信箱が埋まったりします。以下の3つのルールを守れば、大半のトラブルは避けられます。</p>



<h4 class="wp-block-heading">ルール1: 1関数につきトリガーは1つだけ</h4>



<p class="wp-block-paragraph">開発中に「動かない」と思って何度もトリガーを追加してしまい、気づくと同じ関数のトリガーが3つ並んでいる——あるあるです。1回の送信で同じ通知が3回飛びます。</p>



<p class="wp-block-paragraph">対策: コードを修正したときは、トリガー一覧画面で<strong>古いトリガーが残っていないか</strong>を必ず確認してください。重複していたら、不要な行の右側「⋮」→「トリガーを削除」で消します。</p>



<h4 class="wp-block-heading">ルール2: 関数の冒頭で必ず try/catch</h4>



<p class="wp-block-paragraph">GASのトリガーは、関数内でエラーが出ると「実行失敗通知メール」をGoogleが自動送信します。さらに悪いことに、フォーム送信が連続するとこの通知メールも連続で届き、受信箱が埋まります。</p>



<pre class="wp-block-code"><code>function onFormSubmitGmail(e) {
  try {
    // --- 本来の処理 ---
  } catch (err) {
    console.log('エラー: ' + err.message);
  }
}</code></pre>



<p class="wp-block-paragraph">このように <strong><code>try/catch</code> で全体を包み、エラーは <code>console.log</code> で記録するだけにしておく</strong>と、トリガーは正常終了扱いになり、暴走通知が止まります。</p>



<h4 class="wp-block-heading">ルール3: トリガーから別のトリガーを呼び出さない</h4>



<p class="wp-block-paragraph">たとえば「フォーム送信時トリガー」内でセルに値を書き込み、それが別の <code>onEdit</code> トリガーを発火させて……という連鎖は、簡単に無限ループに発展します。</p>



<p class="wp-block-paragraph">対策: トリガーから呼ばれる関数では、<strong>意図しない <code>onEdit</code> 系トリガーが別途設定されていないか</strong>を必ず確認してください。1つのスプレッドシートで複数の自動化を組む場合は、トリガー間の依存関係を紙に書き出してから実装するのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc23">スクリプトプロパティでWebhook URLを安全に管理する</span></h2>



<p class="wp-block-paragraph">レシピ2のSlack通知で前提となっていた「スクリプトプロパティ」を、ここで詳しく扱います。<strong>Webhook URLやAPIキーをコードに直書きするのは絶対NG</strong>で、その代替手段がスクリプトプロパティです。</p>



<h3 class="wp-block-heading"><span id="toc24">スクリプトプロパティとは</span></h3>



<p class="wp-block-paragraph">スクリプトプロパティは、GASプロジェクトに紐づいた<strong>キーバリュー型の設定保管庫</strong>です。コードの外側に値を置けるため、以下のメリットがあります。</p>



<ul class="wp-block-list"><li>コードをGitHubや社内Wikiに公開しても、Webhook URLが漏れない</li><li>環境ごと（本番・テスト）に値を切り替えやすい</li><li>スクリプト実行時に <code>PropertiesService</code> 経由で取り出せる</li></ul>



<p class="wp-block-paragraph">スプレッドシートのセルとは別物なので、<strong>通常の操作では値が見えない</strong>点も安全性に寄与しています。</p>



<h3 class="wp-block-heading"><span id="toc25">設定方法とコードからの呼び出し方</span></h3>



<p class="wp-block-paragraph">設定はスクリプトエディタの設定画面から行います。</p>



<ol class="wp-block-list"><li>スクリプトエディタ左メニューの<strong>歯車アイコン（プロジェクトの設定）</strong>をクリック</li><li>下にスクロールして「<strong>スクリプト プロパティ</strong>」セクションへ</li><li>「スクリプト プロパティを追加」をクリック</li><li>以下のように入力:</li></ol>



<ul class="wp-block-list"><li>プロパティ: <code>SLACK_WEBHOOK_URL</code></li><li>値: <code>https://hooks.slack.com/services/...</code>（コピーしたWebhook URL）</li></ul>



<ol class="wp-block-list"><li>「スクリプト プロパティを保存」</li></ol>



<p class="wp-block-paragraph">コードからは <code>PropertiesService.getScriptProperties().getProperty('キー名')</code> で取り出します。レシピ2のサンプルでは以下の3行で読み出していました。</p>



<pre class="wp-block-code"><code>const webhookUrl = PropertiesService
  .getScriptProperties()
  .getProperty('SLACK_WEBHOOK_URL');</code></pre>



<p class="wp-block-paragraph">複数の値（例: <code>GMAIL_TO</code>, <code>DISCORD_WEBHOOK_URL</code>）を扱う場合も、全て同じスクリプトプロパティに登録して、関数ごとに必要なキーを取り出すのが定石です。</p>



<h2 class="wp-block-heading"><span id="toc26">GoogleフォームとGAS連携でよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">実装中に高確率で出るエラーを、上から順に潰せる形でまとめます。</p>



<h3 class="wp-block-heading"><span id="toc27">エラー1: 「TypeError: Cannot read properties of undefined」</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: <code>e.namedValues['カテゴリ']</code> のように指定した質問名が、フォームの実際の質問テキストと一致していない。質問名にスペースが含まれていたり、絵文字が入っていたりすると詰みやすいです。</p>



<p class="wp-block-paragraph"><strong>対処</strong>: スクリプトエディタで以下のコードを単発実行し、実際の <code>namedValues</code> のキー一覧を確認してください。</p>



<pre class="wp-block-code"><code>function debugCheckKeys() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  console.log(headers);
}</code></pre>



<p class="wp-block-paragraph">ログに表示された通りの文字列を、コードの <code>e.namedValues['...']</code> に貼り付け直します。</p>



<h3 class="wp-block-heading"><span id="toc28">エラー2: 「Exception: Service Spreadsheets failed while accessing document」</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: スプレッドシートのアクセス権限が不足している、または承認画面で適切に許可されていない。</p>



<p class="wp-block-paragraph"><strong>対処</strong>: トリガーを一度削除して、関数を手動実行（再生ボタン）して承認をやり直します。承認画面で「詳細」→「安全ではないページに移動」→「許可」の手順を踏んでください。</p>



<h3 class="wp-block-heading"><span id="toc29">エラー3: 「Exception: Request failed for hooks.slack.com returned code 404」</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: Slack Webhook URLが無効、または削除済み。</p>



<p class="wp-block-paragraph"><strong>対処</strong>: Slack側でWebhookを再発行し、新しいURLでスクリプトプロパティを更新してください。<code>muteHttpExceptions: true</code> を付けていると例外は出ませんが、ログには記録されているので <code>console.log</code> で確認できます。</p>



<h3 class="wp-block-heading"><span id="toc30">エラー4: 通知が同じ内容で2回・3回飛ぶ</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: トリガーが重複登録されている。</p>



<p class="wp-block-paragraph"><strong>対処</strong>: 時計アイコンからトリガー一覧を開き、同じ関数のトリガーが2行以上ある場合は1つを残して削除します。</p>



<h3 class="wp-block-heading"><span id="toc31">エラー5: 「このアプリは確認されていません」が消えない</span></h3>



<p class="wp-block-paragraph"><strong>原因</strong>: GAS自作スクリプトの正常な挙動です。Googleの審査を通したアプリではないため、毎回承認のたびにこの画面が出ます。</p>



<p class="wp-block-paragraph"><strong>対処</strong>: 「詳細」→「（プロジェクト名）に移動（安全ではないページ）」をクリックして進めてください。<strong>自分で書いたスクリプト以外には、絶対にこの操作をしないでください</strong>。</p>



<h2 class="wp-block-heading"><span id="toc32">まとめ｜Googleフォーム×GASで通知と集計を一気に自動化する</span></h2>



<p class="wp-block-paragraph">ここまで、Googleフォームの回答をGASで連携させる3つのレシピを見てきました。最後にポイントを整理します。</p>



<ul class="wp-block-list"><li><strong>レシピ1（Gmail通知）</strong>: 追加設定なしで動く。最初の動作確認に最適</li><li><strong>レシピ2（Slack通知）</strong>: チームでの共有に強い。Webhook URLは必ずスクリプトプロパティ管理</li><li><strong>レシピ3（集計シート自動更新）</strong>: COUNTIFでは届かない、条件分岐や通知連動の場面で威力を発揮</li><li><strong>トリガー設定</strong>: 「フォーム送信時」を選ぶ。重複登録に注意し、必ず <code>try/catch</code> で囲む</li><li><strong>LINE Notifyは2025年3月末で終了</strong>しているため、本記事では非掲載。代替はSlack + Gmailで十分</li></ul>



<p class="wp-block-paragraph">GASの基本操作（保存・実行・ログ）に不安がある場合は、シリーズ1本目の入門記事で体得しておくと、本記事のコードがより理解しやすくなります。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-gas-getting-started-recipes/">GAS入門｜スプレッドシート自動化レシピ5選</a></p>



<p class="wp-block-paragraph">次のステップとしては、<strong>フォームに連動した自動返信メール</strong>や、<strong>回答内容に応じた条件分岐通知</strong>にチャレンジするのがおすすめです。本記事のコードはどれも <code>try/catch</code> と <code>e.namedValues</code> という共通の土台に乗っているので、追加機能は同じ構造の中に書き足していけます。</p>



<p class="wp-block-paragraph">「気づかない」「集計が手間」がなくなるだけで、Googleフォームの活用範囲は劇的に広がります。まずはレシピ1から、自分の手元のスプレッドシートで動かしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/google-form-gas-auto-aggregate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【コピペで動く】スプレッドシートからGmailを一括送信する方法｜GASで差し込みメールを自動化</title>
		<link>https://mashukabu.com/spreadsheet-gmail-batch-send-gas/</link>
					<comments>https://mashukabu.com/spreadsheet-gmail-batch-send-gas/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 21:59:47 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[GAS]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Google Apps Script]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[メール自動化]]></category>
		<category><![CDATA[差し込みメール]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7999</guid>

					<description><![CDATA[スプレッドシートのリストからGmailをGASで一括送信する方法を解説。差し込み変数・テストモード・HTMLメール・添付ファイル対応のコピペコード3パターンと、送信上限・誤送信防止のコツまで実務目線で網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートに溜まった顧客リストや社員名簿を見ながら、Gmailで1通ずつ宛名を変えて送信していませんか。10通ならまだしも、50通・100通になると本当に消耗しますよね。実はその作業、Google Apps Script（GAS）を使えば1クリックで自動化できます。Word差し込み印刷のメール版を、無料のGmailとスプレッドシートだけで実現できるのです。この記事では、コピペで動く完成コード3パターン（基本／HTMLメール／添付ファイル付き）と、誤送信を防ぐテストモード・送信上限の対策まで、実務で使える形でまとめました。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートからGmailを一括送信するとは？｜GASで差し込みメールを自動化する仕組み</a><ol><li><a href="#toc2" tabindex="0">こんなシーンで活躍します</a></li></ol></li><li><a href="#toc3" tabindex="0">一括送信を始める前の準備｜スプレッドシートのレイアウトとGmail送信枠</a><ol><li><a href="#toc4" tabindex="0">スプレッドシートのレイアウト例</a></li><li><a href="#toc5" tabindex="0">Gmailの送信上限を必ず確認する</a></li><li><a href="#toc6" tabindex="0">スクリプトエディタを開く</a></li></ol></li><li><a href="#toc7" tabindex="0">【レシピ1】基本の差し込みメール一括送信（コピペで動くGAS）</a><ol><li><a href="#toc8" tabindex="0">コード本体</a></li><li><a href="#toc9" tabindex="0">実行手順</a></li><li><a href="#toc10" tabindex="0">コードの読み解きポイント</a></li></ol></li><li><a href="#toc11" tabindex="0">【レシピ2】HTMLメール（装飾付き）で一括送信する</a></li><li><a href="#toc12" tabindex="0">【レシピ3】PDF・画像を添付ファイルとして一括送信する</a><ol><li><a href="#toc13" tabindex="0">準備: スプレッドシートに「添付ファイルID列」を追加</a></li><li><a href="#toc14" tabindex="0">コード本体</a></li></ol></li><li><a href="#toc15" tabindex="0">送信前のテスト方法と誤送信を防ぐ4つのコツ</a><ol><li><a href="#toc16" tabindex="0">コツ1: TEST_MODE で自分宛に送信して確認する</a></li><li><a href="#toc17" tabindex="0">コツ2: 送信件数を絞ってから本番実行する</a></li><li><a href="#toc18" tabindex="0">コツ3: 送信前に getRemainingDailyQuota() で残数を確認</a></li><li><a href="#toc19" tabindex="0">コツ4: 送信ステータス列で重複送信を防ぐ</a></li></ol></li><li><a href="#toc20" tabindex="0">BCC一斉送信とGAS差し込み送信の違い・使い分け</a></li><li><a href="#toc21" tabindex="0">スプレッドシート×Gmail一括送信でよくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">よくある間違い: 「済」の判定で全角と半角が混在</a></li><li><a href="#toc23" tabindex="0">よくある間違い: 改行コードの混在</a></li></ol></li><li><a href="#toc24" tabindex="0">まとめ｜スプレッドシート×GASでメール送信業務を一気に効率化する</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートからGmailを一括送信するとは？｜GASで差し込みメールを自動化する仕組み</span></h2>



<p class="wp-block-paragraph">スプレッドシートからGmailを一括送信する仕組みは、シンプルに言えば「メールアドレス一覧をスプレッドシートに用意し、GASで1行ずつ読み込んでGmail経由で送る」というものです。GAS（Google Apps Script）はGoogleが提供する無料のスクリプト環境で、JavaScriptに似た言語で書きます。</p>



<p class="wp-block-paragraph">差し込み印刷と同じ発想で、本文に <code>{{name}}様</code> のようなプレースホルダーを書いておき、スプレッドシートの「名前列」の値で置換します。これで「○○様、いつもお世話になっております」のように個別の宛名を入れた状態で、100通でも500通でもまとめて送信できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE: GASは追加費用ゼロで使えます</strong><br>Googleアカウントを持っていれば、GASは無料で利用できます。インストール不要で、ブラウザ上のエディタですぐに書き始められます。Google Apps Scriptの基本操作は<a href="https://mashukabu.com/spreadsheet-gas-getting-started-recipes/">GAS入門記事</a>で解説しているので、初めて触る方はそちらから読んでください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc2">こんなシーンで活躍します</span></h3>



<ul class="wp-block-list"><li>取引先50社へ請求書送付の案内メール（添付PDFは行ごとに変える）</li><li>セミナー申込者100名へ参加URLとパスワードを個別送信</li><li>社内メンバー30名へ年末挨拶メール（部署名と氏名を差し込み）</li><li>顧客リストにアンケート依頼を一斉送信</li><li>退会フォーム提出者にお礼メールを自動返信</li></ul>



<p class="wp-block-paragraph">メール配信ツールを契約せず、今あるスプレッドシートとGmailだけで完結するのが最大のメリットです。</p>



<h2 class="wp-block-heading"><span id="toc3">一括送信を始める前の準備｜スプレッドシートのレイアウトとGmail送信枠</span></h2>



<p class="wp-block-paragraph">まずは送信元データを準備します。スプレッドシートのレイアウトと、Gmailの送信上限を必ず先に確認してください。</p>



<h3 class="wp-block-heading"><span id="toc4">スプレッドシートのレイアウト例</span></h3>



<p class="wp-block-paragraph">A列〜E列に以下のヘッダーを置きます。1行目がヘッダー、2行目以降がデータ行です。</p>



<figure class="wp-block-table"><table><thead><tr><th>A: メールアドレス</th><th>B: 名前</th><th>C: 会社名</th><th>D: 件名差し込み</th><th>E: 送信ステータス</th></tr></thead><tbody><tr><td>sample01@example.com</td><td>山田太郎</td><td>株式会社サンプル</td><td>4月度ご請求書</td><td>（空欄）</td></tr><tr><td>sample02@example.com</td><td>鈴木花子</td><td>サンプル商事</td><td>4月度ご請求書</td><td>（空欄）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">E列の「送信ステータス」は、送信成功時に「済」と書き込む列です。途中でエラーになっても、再実行時にE列が空欄の行だけ送信できるので、重複送信を防げます。</p>



<h3 class="wp-block-heading"><span id="toc5">Gmailの送信上限を必ず確認する</span></h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING: Gmailには1日あたりの送信上限があります</strong><br>通常のGmail（@gmail.com 無料アカウント）は1日100通まで、Google Workspaceの有料アカウントは1日1,500通までです。上限を超えるとアカウントが一時的にロックされ、最大24時間メール送信ができなくなります。</p></blockquote>



<figure class="wp-block-table"><table><thead><tr><th>アカウント種別</th><th>1日の送信数上限</th></tr></thead><tbody><tr><td>通常のGmail（無料）</td><td>100通</td></tr><tr><td>Google Workspace（有料）</td><td>1,500通</td></tr><tr><td>Workspace（試用版）</td><td>500通</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">リセットは前回送信から24時間後で、暦日（0時リセット）ではない点に注意してください。100通を超える送信が必要な場合は、Workspaceの導入か、メール配信専用ツールへの切り替えを検討しましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">スクリプトエディタを開く</span></h3>



<p class="wp-block-paragraph">スプレッドシートのメニューから「拡張機能」→「Apps Script」をクリックします。新しいタブでスクリプトエディタが開きます。初回は無題のプロジェクトが作成されるので、左上のプロジェクト名を分かりやすい名前（例: <code>gmail-bulk-send</code>）に変更しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc7">【レシピ1】基本の差し込みメール一括送信（コピペで動くGAS）</span></h2>



<p class="wp-block-paragraph">それではコードを書いていきます。最初は基本のテキストメール一括送信です。スプレッドシートの「名前」「会社名」を本文に差し込んで送信します。</p>



<h3 class="wp-block-heading"><span id="toc8">コード本体</span></h3>



<p class="wp-block-paragraph">スクリプトエディタの初期コード（<code>function myFunction() { }</code>）をすべて消して、以下を貼り付けます。</p>



<pre class="wp-block-code"><code>// --- 基本: テキストメールの一括送信 ---
function sendBulkEmail() {
  // --- 設定値 ---
  const SHEET_NAME = 'シート1';        // 対象シート名
  const TEST_MODE = true;              // true=自分のみに送信（テスト用）
  const TEST_EMAIL = 'your-email@example.com'; // テスト用の自分のアドレス
  const SENDER_NAME = '山田 太郎';      // 差出人表示名

  // --- メールテンプレート ---
  const subjectTemplate = '{{subject}}のご案内';
  const bodyTemplate = `{{company}}
{{name}}様

いつも大変お世話になっております。
山田です。

{{subject}}についてご連絡いたします。
詳細は添付の資料をご確認ください。

引き続きよろしくお願いいたします。`;

  // --- スプレッドシートからデータ取得 ---
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
  const values = sheet.getDataRange().getValues(); // 全データを2次元配列で取得
  const header = values[0];                         // 1行目はヘッダー
  const rows = values.slice(1);                     // 2行目以降がデータ

  // --- 残り送信可能数チェック ---
  const quota = MailApp.getRemainingDailyQuota();
  if (quota &lt; rows.length) {
    throw new Error('送信可能数が不足: 残り' + quota + '通 / 必要' + rows.length + '通');
  }

  // --- 行ごとに送信 ---
  let successCount = 0; // 成功カウンター
  let errorCount = 0;   // 失敗カウンター
  rows.forEach((row, i) =&gt; {
    const email   = row[0]; // A列: メールアドレス
    const name    = row[1]; // B列: 名前
    const company = row[2]; // C列: 会社名
    const subject = row[3]; // D列: 件名差し込み
    const status  = row[4]; // E列: 送信ステータス

    // --- 既に送信済みの行はスキップ ---
    if (status === '済') return;
    // --- メールアドレスが空の行はスキップ ---
    if (!email) return;

    // --- テンプレートを差し込み置換 ---
    const finalSubject = subjectTemplate.replace(/{{subject}}/g, subject);
    const finalBody    = bodyTemplate
      .replace(/{{name}}/g, name)
      .replace(/{{company}}/g, company)
      .replace(/{{subject}}/g, subject);

    // --- テストモードなら自分宛に送信、本番なら本人宛 ---
    const recipient = TEST_MODE ? TEST_EMAIL : email;

    try {
      MailApp.sendEmail(recipient, finalSubject, finalBody, {
        name: SENDER_NAME
      });
      // --- 送信成功時はE列に「済」を書き込み ---
      if (!TEST_MODE) {
        sheet.getRange(i + 2, 5).setValue('済');
      }
      successCount++;
    } catch (e) {
      // --- 失敗時はE列にエラー内容を記録 ---
      sheet.getRange(i + 2, 5).setValue('エラー: ' + e.message);
      errorCount++;
    }
  });

  // --- 完了メッセージ ---
  const mode = TEST_MODE ? 'テスト' : '本番';
  SpreadsheetApp.getUi().alert(
    mode + '送信完了n成功: ' + successCount + '件 / 失敗: ' + errorCount + '件'
  );
}</code></pre>



<h3 class="wp-block-heading"><span id="toc9">実行手順</span></h3>



<ol class="wp-block-list"><li>スクリプトエディタ上部の関数選択で <code>sendBulkEmail</code> を選択</li><li>「実行」ボタンをクリック</li><li>初回は権限承認の画面が出るので、「権限を確認」→「（自分のアカウント）」→「詳細」→「（プロジェクト名）（安全ではないページ）に移動」→「許可」の順に進める</li><li>完了アラートが出れば成功</li></ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING: 初回は必ず TEST_MODE = true で実行してください</strong><br>いきなり本番送信すると誤送信のリスクが高いです。最初は <code>TEST_MODE = true</code> のまま自分のアドレス宛に何通か送って、本文と件名の差し込みが正しく動くか確認しましょう。問題なければ <code>TEST_MODE = false</code> に変更して本番実行します。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">コードの読み解きポイント</span></h3>



<ul class="wp-block-list"><li><code>sheet.getDataRange().getValues()</code> でシート全体を2次元配列にして取得</li><li><code>values.slice(1)</code> で1行目（ヘッダー）を除外</li><li><code>replace(/{{name}}/g, name)</code> の <code>g</code> フラグは「全置換」の意味。同じプレースホルダーが複数回出てきても全部置換される</li><li><code>MailApp.sendEmail()</code> の第4引数 <code>options</code> で差出人表示名を指定</li><li>行番号は <code>i + 2</code>（配列インデックス0始まり + ヘッダー行1分）</li></ul>



<h2 class="wp-block-heading"><span id="toc11">【レシピ2】HTMLメール（装飾付き）で一括送信する</span></h2>



<p class="wp-block-paragraph">太字や色付き文字、表組みを入れたHTMLメールも、<code>htmlBody</code> オプションを使えば送信できます。請求書の合計金額を強調したい、注意事項を赤文字にしたい、といったケースで便利です。</p>



<pre class="wp-block-code"><code>// --- HTMLメールの一括送信 ---
function sendBulkHtmlEmail() {
  const SHEET_NAME = 'シート1';
  const TEST_MODE = true;
  const TEST_EMAIL = 'your-email@example.com';
  const SENDER_NAME = '山田 太郎';

  const subjectTemplate = '【重要】{{subject}}のご案内';

  // --- HTML本文テンプレート ---
  const htmlTemplate = `
&lt;p&gt;{{company}}&lt;br&gt;{{name}}様&lt;/p&gt;
&lt;p&gt;いつも大変お世話になっております。&lt;br&gt;山田です。&lt;/p&gt;
&lt;p&gt;{{subject}}についてご連絡いたします。&lt;/p&gt;
&lt;table style=&quot;border-collapse:collapse;border:1px solid #ccc;&quot;&gt;
  &lt;tr style=&quot;background:#f5f5f5;&quot;&gt;
    &lt;th style=&quot;padding:8px;border:1px solid #ccc;&quot;&gt;項目&lt;/th&gt;
    &lt;th style=&quot;padding:8px;border:1px solid #ccc;&quot;&gt;内容&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td style=&quot;padding:8px;border:1px solid #ccc;&quot;&gt;対応期限&lt;/td&gt;
    &lt;td style=&quot;padding:8px;border:1px solid #ccc;color:#c00;&quot;&gt;&lt;strong&gt;5月20日（火）まで&lt;/strong&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;ご不明点がございましたら、本メールに返信ください。&lt;/p&gt;
&lt;p&gt;引き続きよろしくお願いいたします。&lt;/p&gt;
`;

  // --- プレーンテキスト版（HTML非対応クライアント用） ---
  const plainTemplate = `{{company}}
{{name}}様

いつも大変お世話になっております。
山田です。

{{subject}}についてご連絡いたします。
対応期限: 5月20日（火）まで

ご不明点がございましたら、本メールに返信ください。
引き続きよろしくお願いいたします。`;

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
  const rows = sheet.getDataRange().getValues().slice(1);

  let successCount = 0; // 成功カウンター
  rows.forEach((row, i) =&gt; {
    const email   = row[0]; // A列: メールアドレス
    const name    = row[1]; // B列: 名前
    const company = row[2]; // C列: 会社名
    const subject = row[3]; // D列: 件名差し込み
    const status  = row[4]; // E列: 送信ステータス
    if (status === '済' || !email) return;

    const finalSubject = subjectTemplate.replace(/{{subject}}/g, subject);
    const finalHtml = htmlTemplate
      .replace(/{{name}}/g, name)
      .replace(/{{company}}/g, company)
      .replace(/{{subject}}/g, subject);
    const finalPlain = plainTemplate
      .replace(/{{name}}/g, name)
      .replace(/{{company}}/g, company)
      .replace(/{{subject}}/g, subject);

    const recipient = TEST_MODE ? TEST_EMAIL : email;
    MailApp.sendEmail(recipient, finalSubject, finalPlain, {
      name: SENDER_NAME,
      htmlBody: finalHtml
    });
    if (!TEST_MODE) sheet.getRange(i + 2, 5).setValue('済');
    successCount++;
  });

  SpreadsheetApp.getUi().alert('HTML送信完了: ' + successCount + '件');
}</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP: HTMLメールはインラインCSSのみ使う</strong><br>HTMLメールでは、外部CSSファイルや<code><style></code>タグ内のクラス指定が効かないクライアントが多いです。色や枠線などのスタイルは、すべて要素の <code>style</code> 属性に直接書く（インラインCSS）のが鉄則です。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE: スパム判定を避けるコツ</strong><br>HTMLメールは過度な装飾・大量の画像・リンク多すぎでスパム判定されやすくなります。本文内のリンクは2〜3個までに抑え、画像はロゴ程度にとどめましょう。件名に「【無料】」「【限定】」といった煽り文句を多用するのも避けてください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc12">【レシピ3】PDF・画像を添付ファイルとして一括送信する</span></h2>



<p class="wp-block-paragraph">請求書PDFを行ごとに別ファイルで添付したい、といった要望もよくあります。Google Driveに保存したファイルを <code>DriveApp</code> 経由で取得して添付します。</p>



<h3 class="wp-block-heading"><span id="toc13">準備: スプレッドシートに「添付ファイルID列」を追加</span></h3>



<p class="wp-block-paragraph">F列に「添付ファイルID」列を追加し、Google DriveのファイルIDを各行に書きます。ファイルIDはDriveでファイルを開いたときのURL <code>https://drive.google.com/file/d/{ファイルID}/view</code> から取得できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>A: メール</th><th>B: 名前</th><th>C: 会社</th><th>D: 件名</th><th>E: ステータス</th><th>F: ファイルID</th></tr></thead><tbody><tr><td>sample01@...</td><td>山田太郎</td><td>サンプル</td><td>4月度請求書</td><td>（空欄）</td><td>1AbCdEf...</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc14">コード本体</span></h3>



<pre class="wp-block-code"><code>// --- 添付ファイル付きの一括送信 ---
function sendBulkEmailWithAttachment() {
  const SHEET_NAME = 'シート1';
  const TEST_MODE = true;
  const TEST_EMAIL = 'your-email@example.com';
  const SENDER_NAME = '山田 太郎';

  const subjectTemplate = '{{subject}}（請求書添付）';
  const bodyTemplate = `{{company}}
{{name}}様

いつもお世話になっております。山田です。
{{subject}}を添付にてお送りいたします。
ご確認のほどよろしくお願いいたします。`;

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
  const rows = sheet.getDataRange().getValues().slice(1);

  let successCount = 0; // 成功カウンター
  rows.forEach((row, i) =&gt; {
    const email   = row[0]; // A列: メールアドレス
    const name    = row[1]; // B列: 名前
    const company = row[2]; // C列: 会社名
    const subject = row[3]; // D列: 件名差し込み
    const status  = row[4]; // E列: 送信ステータス
    const fileId  = row[5]; // F列: 添付ファイルID
    if (status === '済' || !email) return;

    // --- 添付ファイルをDriveから取得 ---
    let attachmentBlob = null;
    if (fileId) {
      try {
        attachmentBlob = DriveApp.getFileById(fileId).getBlob();
      } catch (e) {
        sheet.getRange(i + 2, 5).setValue('エラー: ファイルID不正');
        return;
      }
    }

    const finalSubject = subjectTemplate.replace(/{{subject}}/g, subject);
    const finalBody = bodyTemplate
      .replace(/{{name}}/g, name)
      .replace(/{{company}}/g, company)
      .replace(/{{subject}}/g, subject);

    const recipient = TEST_MODE ? TEST_EMAIL : email;
    const options = { name: SENDER_NAME };
    if (attachmentBlob) options.attachments = [attachmentBlob];

    try {
      MailApp.sendEmail(recipient, finalSubject, finalBody, options);
      if (!TEST_MODE) sheet.getRange(i + 2, 5).setValue('済');
      successCount++;
    } catch (e) {
      sheet.getRange(i + 2, 5).setValue('エラー: ' + e.message);
    }
  });

  SpreadsheetApp.getUi().alert('添付付き送信完了: ' + successCount + '件');
}</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP: 添付ファイルの合計サイズは25MBまで</strong><br>Gmailの仕様で、添付ファイルの合計サイズは1通あたり25MB以内です。これを超える場合はGoogle Driveのリンク共有を使い、本文に共有URLを差し込む方式が安全です。<code>DriveApp.getFileById(id).getUrl()</code> でファイルURLを取得できます。</p></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE: スプレッドシート自体をPDF化して添付する場合</strong><br>別シートに作った請求書テーブルをPDFにして添付したい場合は、<code>DriveApp.getFileById(spreadsheetId).getAs('application/pdf')</code> でPDF Blobを生成できます。スプレッドシートIDはシートのURLから取得します。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc15">送信前のテスト方法と誤送信を防ぐ4つのコツ</span></h2>



<p class="wp-block-paragraph">一括送信は便利ですが、誤送信したときのダメージも大きいです。送信ボタンを押す前に、必ず以下の4つを実施しましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">コツ1: TEST_MODE で自分宛に送信して確認する</span></h3>



<p class="wp-block-paragraph">レシピ1〜3のコードはすべて <code>TEST_MODE = true</code> で動作確認できる構造になっています。最初は必ず自分のアドレスにだけ送信し、件名・本文の差し込みが正しいか、添付ファイルが付いているかを目視確認してください。</p>



<h3 class="wp-block-heading"><span id="toc17">コツ2: 送信件数を絞ってから本番実行する</span></h3>



<p class="wp-block-paragraph">スプレッドシートのデータが100行ある場合、いきなり全部送信せず、最初の3〜5行だけ残して他は別シートに退避させ、少数で本番実行→問題なければ残りを実行、という段階的なやり方が安全です。</p>



<h3 class="wp-block-heading"><span id="toc18">コツ3: 送信前に getRemainingDailyQuota() で残数を確認</span></h3>



<p class="wp-block-paragraph">レシピ1のコードに含めてある通り、送信前に残り送信可能数をチェックします。これがないと、80通目で上限に到達して残り20通が未送信のまま停止する、という事故が起きます。</p>



<pre class="wp-block-code"><code>const quota = MailApp.getRemainingDailyQuota();
console.log('残り送信可能数: ' + quota);</code></pre>



<h3 class="wp-block-heading"><span id="toc19">コツ4: 送信ステータス列で重複送信を防ぐ</span></h3>



<p class="wp-block-paragraph">E列の「送信ステータス」に「済」を書き込む仕組みは、重複送信防止のためです。途中でブラウザが落ちたり、コードがエラーで停止したりしても、再実行時に「済」の行はスキップされるので安全です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING: BCC欄に入れる安易な一斉送信は厳禁</strong><br>「Gmailの To 欄に複数アドレス」「BCCに大量アドレス」といったやり方は、相手のメールアドレスが他の受信者に見えてしまう個人情報漏洩リスクがあります。一括送信は必ずGAS経由で1通ずつ個別送信してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc20">BCC一斉送信とGAS差し込み送信の違い・使い分け</span></h2>



<p class="wp-block-paragraph">そもそも「Gmail BCCで全員に送ればいいのでは？」と思った方もいるかもしれません。両者の違いを表で整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>BCC一斉送信</th><th>GAS差し込み送信</th></tr></thead><tbody><tr><td>個別の宛名差し込み</td><td>できない</td><td>できる（{{name}}様 等）</td></tr><tr><td>送信先のリスト管理</td><td>連絡先・アドレス帳</td><td>スプレッドシートで管理</td></tr><tr><td>送信履歴の追跡</td><td>1通分しか残らない</td><td>各通ごとに履歴</td></tr><tr><td>エラー時の個別検知</td><td>できない</td><td>try-catchで行ごとに検知</td></tr><tr><td>添付ファイルの個別変更</td><td>できない（全員同じ）</td><td>できる（行ごとに別ファイル）</td></tr><tr><td>個人情報漏洩リスク</td><td>TO/CCに入れると漏洩</td><td>1通ずつなのでなし</td></tr><tr><td>1メールの宛先上限</td><td>500件まで（Workspace）</td><td>100通/日（無料）, 1500通/日（有料）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ざっくり使い分けると、以下のようになります。</p>



<ul class="wp-block-list"><li><strong>BCC一斉送信が向くケース</strong>: 内容がまったく同じ・宛名差し込み不要・社内メンバー数十名への一斉連絡</li><li><strong>GAS差し込み送信が向くケース</strong>: 宛名・会社名・添付ファイルを個別に変えたい・送信履歴を残したい・送信ミスを行ごとに検知したい</li></ul>



<p class="wp-block-paragraph">社外への請求書送付や顧客向けセミナー案内などは、誤送信リスクと個別性の観点からGAS差し込み送信が安全です。</p>



<h2 class="wp-block-heading"><span id="toc21">スプレッドシート×Gmail一括送信でよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">実際にコードを動かしてみて遭遇しやすいエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラーメッセージ</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>Service invoked too many times: email</code></td><td>1日の送信上限に到達</td><td>24時間待つ、またはWorkspaceに切り替え</td></tr><tr><td><code>Authorization is required</code></td><td>権限承認が未完了</td><td>スクリプトエディタで「権限を確認」を実施</td></tr><tr><td><code>Invalid email: </code></td><td>メールアドレス列に不正な値</td><td>A列の値を確認、空欄行のスキップ処理を追加</td></tr><tr><td><code>Cannot find file with id: xxx</code></td><td>DriveApp.getFileById のIDが間違い</td><td>F列のファイルIDを再確認、共有設定も確認</td></tr><tr><td><code>Cannot read property '0' of undefined</code></td><td>シート名が間違い、またはシートが空</td><td><code>SHEET_NAME</code> の値を確認</td></tr><tr><td><code>Exception: Argument too large: subject</code></td><td>件名が長すぎ（256文字超）</td><td>件名を短く調整</td></tr><tr><td>メールが届かない</td><td>スパムフォルダ行き</td><td>件名・本文の煽り文句を減らす、送信元表示名を固定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc22">よくある間違い: 「済」の判定で全角と半角が混在</span></h3>



<p class="wp-block-paragraph">「済」の文字を全角で書いたり、前後にスペースが入ったりすると、判定がうまくいかず重複送信が起きます。コード内で書き込む値と判定する値を完全一致させましょう。心配な場合は <code>if (String(status || '').trim() === '済') return;</code> のように <code>String()</code> でラップしてから <code>.trim()</code> で前後空白を除去すると、空セル（undefined/null）でも安全に判定できます。</p>



<h3 class="wp-block-heading"><span id="toc23">よくある間違い: 改行コードの混在</span></h3>



<p class="wp-block-paragraph">スプレッドシートのセル内改行（Alt+Enter）と、コード内のテンプレート文字列（バッククォート <code> </code> の改行）はどちらも <code>n</code> として扱われますが、Windows環境からコピペしたデータでは <code>rn</code> が混入することがあります。送信されたメールで改行が崩れる場合は、コード冒頭で <code>text.replace(/rn/g, 'n')</code> のように正規化を入れてください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP: Slack通知と組み合わせる</strong><br>送信完了時にSlackへ自動通知すると、運用効率がさらに上がります。SlackのIncoming Webhookを使った通知方法は、<a href="https://mashukabu.com/google-form-gas-auto-aggregate/">GoogleフォームとGAS連携記事</a>のレシピ2で詳しく解説しています。一括送信の最後に流用できるので、合わせて確認してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc24">まとめ｜スプレッドシート×GASでメール送信業務を一気に効率化する</span></h2>



<p class="wp-block-paragraph">スプレッドシートからGmailを一括送信するGASの仕組みを、3パターンのコピペコード（基本／HTMLメール／添付ファイル付き）と実務Tipsで解説しました。重要なポイントを最後にもう一度まとめます。</p>



<ul class="wp-block-list"><li>スプレッドシートに「メール／名前／会社／件名／ステータス」の5列を用意する</li><li>本文に <code>{{name}}</code> 等のプレースホルダーを書き、<code>replace()</code> で差し込み置換する</li><li>必ず <code>TEST_MODE = true</code> で自分宛に動作確認してから本番実行する</li><li>Gmail送信上限は無料100通／日、Workspace 1,500通／日。<code>getRemainingDailyQuota()</code> で事前チェック</li><li>送信ステータス列で重複送信を防ぎ、try-catchでエラー行を記録する</li><li>HTMLメール・添付ファイルも <code>options</code> 引数で柔軟に対応できる</li><li>BCC一斉送信は宛名差し込みできず、TO欄に入れた誤送信で個人情報漏洩リスクあり</li><li>送信履歴・差し込み・添付ファイル個別変更が必要ならGAS差し込み送信が最適</li></ul>



<p class="wp-block-paragraph">これで、Word差し込み印刷のメール版が無料で実現できます。GAS自動化シリーズ3部作の最終回として、ぜひ業務に取り入れてみてください。</p>



<p class="wp-block-paragraph">シリーズ全体を読み返したい方は、入門の<a href="https://mashukabu.com/spreadsheet-gas-getting-started-recipes/">GAS入門｜スプレッドシート自動化レシピ5選</a>、続編の<a href="https://mashukabu.com/google-form-gas-auto-aggregate/">Googleフォーム×GASで回答を自動通知・集計する方法</a>も合わせてご覧ください。3記事を組み合わせれば、データ収集（フォーム）→ 自動集計（スプレッドシート＋GAS）→ メール送信（一括差し込み）という業務自動化の基本パターンがすべて押さえられます。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-gmail-batch-send-gas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelとGoogleスプレッドシートのオートフィル徹底比較｜Ctrlキーの違いで連番・日付・コピーを使い分け</title>
		<link>https://mashukabu.com/excel-sheets-autofill-comparison/</link>
					<comments>https://mashukabu.com/excel-sheets-autofill-comparison/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 21:59:07 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[Ctrlキー]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[オートフィル]]></category>
		<category><![CDATA[比較]]></category>
		<category><![CDATA[連番]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7995</guid>

					<description><![CDATA[ExcelとGoogleスプレッドシートのオートフィルはCtrlキーの挙動が逆になります。連番・日付・コピーの使い分け方を早見表で整理し、両ツールを行き来する人がハマりがちな落とし穴と対処法を解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ExcelとGoogleスプレッドシートを業務で行き来していると、Ctrlキーを押したのに動きが違うと感じた経験はありませんか。「連番にしたいのに増えない」とつまずく人も多いですよね。</p>



<p class="wp-block-paragraph">両ツールはオートフィル（連続データを自動入力する機能）の見た目こそそっくりです。けれどもCtrlキーと連携した時の挙動が一部で逆転しています。違いを知らずに作業すると、日付がコピーになったり連番が止まったりと、地味なミスにつながりますよね。</p>



<p class="wp-block-paragraph">この記事では、ExcelとGoogleスプレッドシートのオートフィルを「Ctrlキーの挙動差」を軸に整理します。連番・日付・コピーの使い分け早見表と、両ツールを行き来する人がハマりがちな落とし穴チェックリストもセットで紹介します。読み終える頃には、どちらのツールでも迷わずオートフィルを使いこなせますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelとGoogleスプレッドシートのオートフィルとは｜共通点と決定的な違い</a><ol><li><a href="#toc2" tabindex="0">共通点：フィルハンドルで連続データを自動入力</a></li><li><a href="#toc3" tabindex="0">決定的な違い：Ctrlキーの挙動と日付の振る舞い</a></li></ol></li><li><a href="#toc4" tabindex="0">Ctrlキーの挙動比較｜Excel vs スプレッドシート早見表</a><ol><li><a href="#toc5" tabindex="0">数値の場合</a></li><li><a href="#toc6" tabindex="0">日付の場合</a></li><li><a href="#toc7" tabindex="0">曜日・文字+数字の場合</a></li><li><a href="#toc8" tabindex="0">早見表（マトリクス）</a></li></ol></li><li><a href="#toc9" tabindex="0">連番を作るときの違い｜2セル選択は両ツール共通、Ctrlは挙動が分かれる</a><ol><li><a href="#toc10" tabindex="0">Excel：Ctrl+ドラッグで連番、そのままドラッグでコピー</a></li><li><a href="#toc11" tabindex="0">スプレッドシート：そのままドラッグで連番、Ctrl+ドラッグでコピー</a></li></ol></li><li><a href="#toc12" tabindex="0">日付・曜日のオートフィル比較</a><ol><li><a href="#toc13" tabindex="0">日付のデフォルト挙動</a></li><li><a href="#toc14" tabindex="0">曜日・月名の循環入力</a></li><li><a href="#toc15" tabindex="0">平日・月単位・年単位の進め方</a></li></ol></li><li><a href="#toc16" tabindex="0">コピーモードの使い分け｜書式・値・数式のコピー方法</a><ol><li><a href="#toc17" tabindex="0">Excelのフィルオプション</a></li><li><a href="#toc18" tabindex="0">スプレッドシートのフィルオプション（オートフィル提案）</a></li></ol></li><li><a href="#toc19" tabindex="0">スマートフィル（Sheets）vs フラッシュフィル（Excel）</a><ol><li><a href="#toc20" tabindex="0">フラッシュフィル（Ctrl+E）</a></li><li><a href="#toc21" tabindex="0">スマートフィル（Ctrl+Shift+Y）</a></li><li><a href="#toc22" tabindex="0">比較表</a></li></ol></li><li><a href="#toc23" tabindex="0">Excel派・Sheets派が移行で混乱するポイント｜落とし穴チェックリスト</a><ol><li><a href="#toc24" tabindex="0">Excel→Sheetsで起こりがちなミス</a></li><li><a href="#toc25" tabindex="0">Sheets→Excelで起こりがちなミス</a></li><li><a href="#toc26" tabindex="0">書式が「文字列」になっていると両ツールとも連番が効かない</a></li><li><a href="#toc27" tabindex="0">ショートカット早見表（OS別）</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ｜Ctrlキーは『逆』と覚えるだけで両ツールを乗りこなせる</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelとGoogleスプレッドシートのオートフィルとは｜共通点と決定的な違い</span></h2>



<p class="wp-block-paragraph">ExcelとGoogleスプレッドシートのオートフィルは、セルの右下に出る小さな四角（フィルハンドル）をドラッグして使う機能です。連番や日付などの連続データを自動入力できます。基本の使い方は両ツールとも共通ですが、Ctrlキーを併用した時の挙動だけが一部で異なります。</p>



<p class="wp-block-paragraph">ここでは、まず両者の共通点と決定的な違いをざっと押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">共通点：フィルハンドルで連続データを自動入力</span></h3>



<p class="wp-block-paragraph">両ツールに共通する基本動作は次のとおりです。</p>



<ul class="wp-block-list"><li>セルの右下に表示されるフィルハンドル（小さな四角）をドラッグする</li><li>数値「1, 2」のように2セル選択してドラッグすると差分を読み取って連番化する</li><li>日付「2026/5/11」を1セル選択してドラッグすると日単位で連続データになる</li><li>曜日「月」を1セル選択してドラッグすると「火, 水, 木…」と循環する</li><li>「商品1」のような文字+数字のパターンも1セル選択で連続データになる</li></ul>



<p class="wp-block-paragraph">この「2セル選択+ドラッグ」は両ツール共通で最も安定した方法です。Ctrlキーの違いに悩みたくない人は、迷ったら2セル選択で組むのがおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">決定的な違い：Ctrlキーの挙動と日付の振る舞い</span></h3>



<p class="wp-block-paragraph">決定的に異なるのが、Ctrlキーを押しながらドラッグした時の挙動です。</p>



<ul class="wp-block-list"><li><strong>数値</strong>：両ツール共通で「Ctrl+ドラッグ=連番」になる</li><li><strong>日付・曜日・文字+数字</strong>：Excelは「Ctrl+ドラッグ=コピー」に反転する／スプレッドシートはCtrlの有無に関わらず連続データのまま</li></ul>



<p class="wp-block-paragraph">つまり、「ExcelとSheetsはCtrlの挙動が完全に逆」と単純化するのは誤りです。<strong>数値は両ツール共通</strong>で、<strong>日付・曜日・文字+数字だけExcel側でCtrlの意味が反転する</strong>のが正しい理解になります。</p>



<p class="wp-block-paragraph">この一点を押さえておくだけで、両ツールを行き来する時のミスがぐっと減りますよ。</p>



<h2 class="wp-block-heading"><span id="toc4">Ctrlキーの挙動比較｜Excel vs スプレッドシート早見表</span></h2>



<p class="wp-block-paragraph">ここからは、Ctrlキーの挙動をデータ型ごとに見ていきます。「数値」「日付」「曜日・文字+数字」の3つに分けて整理すると、どこで挙動が分かれるのかが一目で分かります。</p>



<h3 class="wp-block-heading"><span id="toc5">数値の場合</span></h3>



<p class="wp-block-paragraph">数値の挙動は、両ツールでまったく同じです。</p>



<ul class="wp-block-list"><li>「1」だけを入力したセルを<strong>そのままドラッグ</strong> → どちらも「1, 1, 1, 1」（コピー）</li><li>「1」だけを入力したセルを<strong>Ctrl+ドラッグ</strong> → どちらも「1, 2, 3, 4」（連番）</li></ul>



<p class="wp-block-paragraph">数値については「1セル+Ctrl=連番」「2セル=差分連番」が両ツール共通で成立します。ここは安心して同じ感覚で使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">日付の場合</span></h3>



<p class="wp-block-paragraph">日付になると、ExcelだけがCtrlで挙動を反転させます。</p>



<ul class="wp-block-list"><li>「2026/5/11」を<strong>そのままドラッグ</strong> → どちらも「5/12, 5/13, 5/14」（連続データ）</li><li>「2026/5/11」を<strong>Ctrl+ドラッグ</strong> → Excelは「5/11, 5/11, 5/11」（コピー）／Sheetsは「5/12, 5/13, 5/14」（連続データのまま）</li></ul>



<p class="wp-block-paragraph">ここがExcel経験者がスプレッドシートで混乱しやすいポイントです。Excelでは「日付をCtrl押しながら引っ張ればコピーになる」癖がついている人が多いですよね。けれどもSheetsでは効かないんです。</p>



<p class="wp-block-paragraph">スプレッドシートで日付をコピーしたい時は、後述する「Ctrl+D（下方向に値コピー）」を使うのが確実です。</p>



<h3 class="wp-block-heading"><span id="toc7">曜日・文字+数字の場合</span></h3>



<p class="wp-block-paragraph">曜日や「商品1」のような文字+数字パターンも、日付と同じくExcelだけがCtrl併用で反転します。</p>



<ul class="wp-block-list"><li>「月」「商品1」を<strong>そのままドラッグ</strong> → どちらも「火, 水, 木…」「商品2, 商品3…」（連続）</li><li>「月」「商品1」を<strong>Ctrl+ドラッグ</strong> → Excelは「月, 月, 月」「商品1, 商品1, 商品1」（コピー）／Sheetsは連続のまま</li></ul>



<p class="wp-block-paragraph">スプレッドシート側ではCtrlの有無で挙動が変わりません。コピーしたければCtrl+Dを使うか、別の方法に切り替える必要があります。</p>



<h3 class="wp-block-heading"><span id="toc8">早見表（マトリクス）</span></h3>



<p class="wp-block-paragraph">ここまでの内容を1枚の表にまとめておきます。両ツールを行き来する時はこの表をブックマークしておくと安心ですよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>データ型</th><th>操作</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>数値「1」1セル</td><td>そのままドラッグ</td><td>コピー（1,1,1）</td><td>コピー（1,1,1）</td></tr><tr><td>数値「1」1セル</td><td>Ctrl+ドラッグ</td><td><strong>連番</strong>（1,2,3）</td><td><strong>連番</strong>（1,2,3）</td></tr><tr><td>数値「1,2」2セル</td><td>そのままドラッグ</td><td><strong>連番</strong>（3,4,5）</td><td><strong>連番</strong>（3,4,5）</td></tr><tr><td>日付「5/11」1セル</td><td>そのままドラッグ</td><td><strong>連続</strong>（5/12,5/13）</td><td><strong>連続</strong>（5/12,5/13）</td></tr><tr><td>日付「5/11」1セル</td><td>Ctrl+ドラッグ</td><td><strong>コピー</strong>（5/11,5/11）</td><td>連続（5/12,5/13）※既定</td></tr><tr><td>曜日「月」1セル</td><td>そのままドラッグ</td><td>連続（火,水,木）</td><td>連続（火,水,木）</td></tr><tr><td>曜日「月」1セル</td><td>Ctrl+ドラッグ</td><td>コピー（月,月,月）</td><td>連続（火,水,木）※既定</td></tr><tr><td>「商品1」1セル</td><td>そのままドラッグ</td><td>連続（商品2,商品3）</td><td>連続（商品2,商品3）</td></tr><tr><td>「商品1」1セル</td><td>Ctrl+ドラッグ</td><td>コピー（商品1,商品1）</td><td>連続（商品2,商品3）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">表を眺めると、「数値」だけは両ツール共通で挙動が一致しています。それ以外の「日付・曜日・文字+数字」ではExcelだけがCtrlで反転している、と分かりますよね。</p>



<h2 class="wp-block-heading"><span id="toc9">連番を作るときの違い｜2セル選択は両ツール共通、Ctrlは挙動が分かれる</span></h2>



<p class="wp-block-paragraph">連番を作る場面は最も頻度が高い操作の一つです。ここで両ツールの違いを正確に押さえておくと、業務でのちょっとしたストレスがなくなります。</p>



<h3 class="wp-block-heading"><span id="toc10">Excel：Ctrl+ドラッグで連番、そのままドラッグでコピー</span></h3>



<p class="wp-block-paragraph">Excelで「1」だけを入力したセルから連番を作る方法は次の2つです。</p>



<pre class="wp-block-code"><code>方法A：Ctrl+ドラッグ
A1 = 1
A1のフィルハンドルを Ctrl 押しながら下にドラッグ → 1, 2, 3, 4, 5

方法B：2セル選択でドラッグ
A1 = 1
A2 = 2
A1:A2 を選択してフィルハンドルを下にドラッグ → 3, 4, 5, 6, 7</code></pre>



<p class="wp-block-paragraph">そのままドラッグするとコピー（1, 1, 1…）になってしまうのがExcel特有の癖です。Excel初心者がよく「1だけ入力したらコピーされた」と戸惑うのはこのためですね。</p>



<h3 class="wp-block-heading"><span id="toc11">スプレッドシート：そのままドラッグで連番、Ctrl+ドラッグでコピー</span></h3>



<p class="wp-block-paragraph">一方、Googleスプレッドシートでは挙動が少し違います。</p>



<pre class="wp-block-code"><code>方法A：2セル選択でドラッグ（最も確実）
A1 = 1
A2 = 2
A1:A2 を選択してフィルハンドルを下にドラッグ → 3, 4, 5, 6, 7

方法B：Ctrl+ドラッグ（1セルから連番化）
A1 = 1
A1のフィルハンドルを Ctrl 押しながら下にドラッグ → 1, 2, 3, 4, 5</code></pre>



<p class="wp-block-paragraph">スプレッドシートは「列ヘッダーの文脈や周辺データから連続パターンを予測する」性質があります。1セルからドラッグした時に提案として連番化されることもありますよ。確実に連番を作りたい場合は2セル選択が最強の防御策です。</p>



<p class="wp-block-paragraph">「Ctrl+ドラッグで連番」は数値の場合は両ツール共通です。迷ったらCtrl+ドラッグを試すのが分かりやすいかもしれませんね。</p>



<p class="wp-block-paragraph">なお、Excelの細かいトラブル（日付が増えない、曜日がコピーされる、書式が文字列になっているなど）は別記事で詳しく解説しています。<a href="https://mashukabu.com/excel-autofill-not-incrementing/">Excelのオートフィルで連番・日付が増えない原因と正しい操作方法</a>もあわせて参照してください。</p>



<h2 class="wp-block-heading"><span id="toc12">日付・曜日のオートフィル比較</span></h2>



<p class="wp-block-paragraph">日付と曜日のオートフィルは、Excel経験者がスプレッドシートで一番混乱するゾーンです。ここを丁寧に整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc13">日付のデフォルト挙動</span></h3>



<p class="wp-block-paragraph">両ツールとも、日付セルを1セル選択してそのままドラッグすると、日単位で連続データが進みます。</p>



<pre class="wp-block-code"><code>A1 = 2026/5/11
A1のフィルハンドルを下にそのままドラッグ
→ 2026/5/12, 2026/5/13, 2026/5/14, ...</code></pre>



<p class="wp-block-paragraph">ここまでは両ツール完全に同じです。違いはCtrlを併用した時に出てきます。</p>



<ul class="wp-block-list"><li>Excelで「2026/5/11」をCtrl+ドラッグ → コピー（5/11, 5/11, 5/11…）になる</li><li>Sheetsで「2026/5/11」をCtrl+ドラッグ → 連続データのまま（5/12, 5/13, 5/14…）</li></ul>



<p class="wp-block-paragraph">スプレッドシートで日付をコピーしたい場合は、Ctrl+Dを使うのが確実です。「形式を選択して貼り付け（Ctrl+Shift+V）」もよく使われますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">曜日・月名の循環入力</span></h3>



<p class="wp-block-paragraph">「月」「Mon」「January」「1月」など、曜日や月名は両ツールとも循環入力できます。</p>



<pre class="wp-block-code"><code>A1 = 月
A1のフィルハンドルを下にドラッグ
→ 月, 火, 水, 木, 金, 土, 日, 月, 火, ...（循環）</code></pre>



<p class="wp-block-paragraph">日本語の「月曜日」「火曜日」表記でも、両ツールとも認識します。英語の曜日「Mon, Tue, Wed」や月名「Jan, Feb, Mar」も同様に循環しますよ。</p>



<p class="wp-block-paragraph">ただしCtrl併用時はやはりExcelだけがコピーに反転します。スプレッドシート側はCtrlの有無で挙動が変わらない点を押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">平日・月単位・年単位の進め方</span></h3>



<p class="wp-block-paragraph">Excelには「平日のみ進める」「月単位で進める」「年単位で進める」といったオプションがあります。ドラッグ完了直後に右下に表示される小さなメニューから選択する方式です。</p>



<ul class="wp-block-list"><li>セルのコピー</li><li>連続データ</li><li>連続データ（曜日）</li><li>連続データ（週日単位）</li><li>連続データ（月単位）</li><li>連続データ（年単位）</li><li>フラッシュフィル</li></ul>



<p class="wp-block-paragraph">例えば「1/31, 2/28, 3/31…」のような月末日連続入力が必要な場面もありますよね。Excelなら「連続データ（月単位）」を選ぶだけで作れます。</p>



<p class="wp-block-paragraph">一方、スプレッドシートにはこの事後フィルオプションがありません。月単位で進めたい場合は、EDATE関数（指定した月数を加算する関数）を使うのが定番です。</p>



<pre class="wp-block-code"><code>A1 = 2026/1/31
A2 = =EDATE(A1, 1)   → 2026/2/28
A3 = =EDATE(A2, 1)   → 2026/3/31</code></pre>



<p class="wp-block-paragraph">ここはExcelからの移行ユーザーが躓きやすいポイントです。「Sheetsには月単位の事後メニューがない」と覚えておきましょう。必要に応じて関数ベースで対応すれば大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc16">コピーモードの使い分け｜書式・値・数式のコピー方法</span></h2>



<p class="wp-block-paragraph">オートフィルは「連続データを作る」だけでなく、「書式だけ・値だけ・数式だけ」をコピーする使い方もあります。両ツールでメニューの作りが違うので、ここも整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc17">Excelのフィルオプション</span></h3>



<p class="wp-block-paragraph">Excelではドラッグ完了直後に右下に「オートフィルオプション」のアイコンが表示されます。クリックすると次のような選択肢が出ます。</p>



<ul class="wp-block-list"><li>セルのコピー</li><li>連続データ</li><li>書式のみコピー（フィル）</li><li>書式なしコピー（フィル）</li><li>連続データ（曜日）</li><li>連続データ（週日単位）</li><li>連続データ（月単位）</li><li>連続データ（年単位）</li><li>フラッシュフィル</li></ul>



<p class="wp-block-paragraph">この事後メニュー方式は非常に柔軟です。「いったんドラッグしてみてから方針を選ぶ」ことができるので、Excelユーザーが慣れ親しんでいる便利機能ですね。</p>



<h3 class="wp-block-heading"><span id="toc18">スプレッドシートのフィルオプション（オートフィル提案）</span></h3>



<p class="wp-block-paragraph">Googleスプレッドシートには、Excelと同等の事後フィルオプションメニューはありません。代わりに次のような仕組みが用意されています。</p>



<ul class="wp-block-list"><li><strong>オートフィル提案カード</strong>：パターンを認識した時に上部や右側に「次の値はこれでいいですか？」と提案が出る</li><li><strong>形式を選択して貼り付け（Ctrl+Shift+V / Mac: Cmd+Shift+V）</strong>：値だけ・書式だけ・数式だけのコピーはこれで対応</li><li><strong>Ctrl+D（下方向に値コピー）／Ctrl+R（右方向に値コピー）</strong>：選択範囲の先頭セルを残りにコピーする最も確実な方法</li></ul>



<p class="wp-block-paragraph">Excelの「書式のみコピー」「書式なしコピー」をスプレッドシートで再現したい時のコツも紹介します。「形式を選択して貼り付け」のオプションを開いて使い分けるのがおすすめです。少し操作手数は増えますが、慣れれば問題なく使いこなせますよ。数式をコピーするときの$記号の使い方は<a href="https://mashukabu.com/spreadsheet-absolute-relative-mixed-reference/">スプレッドシートの絶対参照・相対参照・複合参照 完全ガイド</a>で詳しく解説しています。</p>



<h2 class="wp-block-heading"><span id="toc19">スマートフィル（Sheets）vs フラッシュフィル（Excel）</span></h2>



<p class="wp-block-paragraph">オートフィルの応用機能として、両ツールにはパターン認識を活用した強力な自動入力機能があります。Excelの「フラッシュフィル」とスプレッドシートの「スマートフィル」です。</p>



<h3 class="wp-block-heading"><span id="toc20">フラッシュフィル（Ctrl+E）</span></h3>



<p class="wp-block-paragraph">フラッシュフィル（Flash Fill）は、隣接列のサンプル入力からパターンを推測してくれるExcelの機能です。</p>



<pre class="wp-block-code"><code>B列 = 元データ        C列 = 望む結果
B2 = 山田太郎          C2 = ヤマダ タロウ   ← 1行だけサンプルを入力
B3 = 佐藤花子          C3 = （ここで Ctrl+E）
B4 = 鈴木一郎          C4 = サトウ ハナコ（自動）
                       C5 = スズキ イチロウ（自動）</code></pre>



<ul class="wp-block-list"><li><strong>ショートカット</strong>：Ctrl + E（Windows / Mac共通）</li><li><strong>技術ベース</strong>：ローカルでのパターンマッチング（AI/MLではなくアルゴリズム）</li><li><strong>登場時期</strong>：Excel 2013で導入、Microsoft 365 / Excel 2019/2021/2024で利用可能</li></ul>



<p class="wp-block-paragraph">フラッシュフィルの実務での活用例は別記事で詳しく解説しています。<a href="https://mashukabu.com/excel-flash-fill-power-query-meibo/">Excelのフラッシュフィル＋Power Queryで名簿を整える</a>では氏名分割や全角半角変換などの定番テクニックを紹介しているので、あわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc21">スマートフィル（Ctrl+Shift+Y）</span></h3>



<p class="wp-block-paragraph">スマートフィル（Smart Fill）はGoogleスプレッドシート版の同等機能です。日本語環境では「スマート入力」と呼ばれることもあります。</p>



<pre class="wp-block-code"><code>B列 = 元データ        C列 = 望む結果
B2 = 山田太郎          C2 = 山田  ← 苗字だけ抽出するサンプル
B3 = 佐藤花子          C3 = （ここで Ctrl+Shift+Y）
B4 = 鈴木一郎          C4 = 佐藤（自動）
                       C5 = 鈴木（自動）</code></pre>



<ul class="wp-block-list"><li><strong>ショートカット</strong>：Ctrl + Shift + Y（Windows） / Cmd + Shift + Y（Mac）</li><li><strong>技術ベース</strong>：Googleの機械学習を活用したパターン推測</li><li><strong>発動方法</strong>：ショートカット、または提案カードが表示されたら承認</li></ul>



<p class="wp-block-paragraph">なお、文字列を区切り文字で分割する用途なら関数の選択肢もあります。<a href="https://mashukabu.com/spreadsheet-split-function/">スプレッドシートのSPLIT関数の使い方</a>を覚えておくと便利ですよ。スマートフィルが期待通りに動かない時の代替手段として活躍します。</p>



<h3 class="wp-block-heading"><span id="toc22">比較表</span></h3>



<p class="wp-block-paragraph">両者の違いを表で整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel フラッシュフィル</th><th>Sheets スマートフィル</th></tr></thead><tbody><tr><td>ショートカット</td><td>Ctrl+E</td><td>Ctrl+Shift+Y（Mac: Cmd+Shift+Y）</td></tr><tr><td>技術ベース</td><td>ローカルのパターン認識</td><td>Googleの機械学習</td></tr><tr><td>発動方法</td><td>ショートカット or 提案をTabで受諾</td><td>提案カードで「承認」</td></tr><tr><td>推測の柔軟性</td><td>比較的素直(明示的パターン向き)</td><td>やや柔軟（曖昧パターンも当ててくる）</td></tr><tr><td>データ送信</td><td>ローカルのみ</td><td>Googleサーバーで処理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>業務上の注意点</strong>：機密性の高い人名や取引先データを扱う場合は注意が必要です。スマートフィルはGoogleサーバー側でパターン推測が行われる性質があります。社内の情報管理ルールに従って使い分けてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc23">Excel派・Sheets派が移行で混乱するポイント｜落とし穴チェックリスト</span></h2>



<p class="wp-block-paragraph">ここまでの内容を踏まえて、両ツールを行き来する時にハマりがちなポイントをチェックリストでまとめます。</p>



<h3 class="wp-block-heading"><span id="toc24">Excel→Sheetsで起こりがちなミス</span></h3>



<p class="wp-block-paragraph">Excelユーザーがスプレッドシートに来た時に躓きやすいポイントは次のとおりです。</p>



<ol class="wp-block-list"><li><strong>「日付をCtrl+ドラッグでコピーする癖」がついている</strong></li></ol>



<p class="wp-block-paragraph">   → SheetsではCtrlの有無で挙動が変わらないため、コピーしたい時は<strong>Ctrl+D（下に値コピー）</strong>が確実です</p>



<ol class="wp-block-list"><li><strong>「フィルオプションから月単位連続データ」を多用している</strong></li></ol>



<p class="wp-block-paragraph">   → Sheetsには同等メニューがないので、<strong>EDATE関数</strong>や数式で代替しましょう</p>



<ol class="wp-block-list"><li><strong>「ユーザー設定リスト」が効かない</strong></li></ol>



<p class="wp-block-paragraph">   → Excelで自作した部署名リストや商品リストは、Sheetsではそのまま動きません。アドオン（Power Toolsなど）か別シート+INDEX関数で代替設計するのがおすすめです</p>



<ol class="wp-block-list"><li><strong>「フラッシュフィル Ctrl+E」のショートカットを使う</strong></li></ol>



<p class="wp-block-paragraph">   → Sheetsは<strong>Ctrl+Shift+Y</strong>なので、覚え直しが必要です</p>



<h3 class="wp-block-heading"><span id="toc25">Sheets→Excelで起こりがちなミス</span></h3>



<p class="wp-block-paragraph">逆に、スプレッドシートユーザーがExcelに来た時に躓くパターンです。</p>



<ol class="wp-block-list"><li><strong>「1セル選択+そのままドラッグで連番が出ていた」気がする</strong></li></ol>



<p class="wp-block-paragraph">   → これはSheetsの周辺データ予測機能による挙動です。Excelでは1セルだとコピーになるので、<strong>Ctrl必須</strong>または<strong>2セル選択</strong>を意識しましょう</p>



<ol class="wp-block-list"><li><strong>「数値をCtrl+ドラッグで連番」感覚は両ツール共通だが、日付や曜日にCtrlを併用するとExcelではコピーになる</strong></li></ol>



<p class="wp-block-paragraph">   → 日付・曜日・文字+数字の3パターンだけは要注意です</p>



<ol class="wp-block-list"><li><strong>「スマートフィル Ctrl+Shift+Y」を打ち込むと別ショートカットに割り当たっている</strong></li></ol>



<p class="wp-block-paragraph">   → Excelは<strong>Ctrl+E</strong>なので打ち間違えないようにしましょう</p>



<h3 class="wp-block-heading"><span id="toc26">書式が「文字列」になっていると両ツールとも連番が効かない</span></h3>



<p class="wp-block-paragraph">これは両ツール共通の落とし穴ですが、念のため触れておきます。</p>



<ul class="wp-block-list"><li>セルの書式が「文字列」のままだと、「1」を数値ではなく文字として扱うため、Ctrl+ドラッグしてもコピーにしかなりません</li><li>対処は共通：書式を「数値」または「自動」に戻し、値を再入力する</li></ul>



<p class="wp-block-paragraph">Excelで具体的にどう操作するかは、<a href="https://mashukabu.com/excel-autofill-not-incrementing/">Excelのオートフィルで連番・日付が増えない原因と正しい操作方法</a>を参照してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc27">ショートカット早見表（OS別）</span></h3>



<p class="wp-block-paragraph">最後に、関連ショートカットをまとめておきます。OSごとに微妙に違うので、覚え書きとして役立ててくださいね。</p>



<figure class="wp-block-table"><table><thead><tr><th>機能</th><th>Excel (Win)</th><th>Excel (Mac)</th><th>Sheets (Win)</th><th>Sheets (Mac)</th></tr></thead><tbody><tr><td>オートフィル下方向</td><td>Ctrl + D</td><td>Cmd + D</td><td>Ctrl + D</td><td>Cmd + D</td></tr><tr><td>オートフィル右方向</td><td>Ctrl + R</td><td>Cmd + R</td><td>Ctrl + R</td><td>Cmd + R</td></tr><tr><td>フラッシュフィル</td><td>Ctrl + E</td><td>Cmd + E</td><td>—</td><td>—</td></tr><tr><td>スマートフィル</td><td>—</td><td>—</td><td>Ctrl + Shift + Y</td><td>Cmd + Shift + Y</td></tr><tr><td>形式を選択して貼り付け</td><td>Ctrl + Alt + V</td><td>Cmd + Ctrl + V</td><td>Ctrl + Shift + V</td><td>Cmd + Shift + V</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc28">まとめ｜Ctrlキーは『逆』と覚えるだけで両ツールを乗りこなせる</span></h2>



<p class="wp-block-paragraph">ExcelとGoogleスプレッドシートのオートフィルは、見た目はそっくりです。けれども「Ctrlキーと日付・曜日・文字+数字の組み合わせ」だけが挙動を分けるポイントでした。</p>



<p class="wp-block-paragraph">最後にこの記事のキモを3つにまとめます。</p>



<ul class="wp-block-list"><li><strong>数値はCtrl+ドラッグで連番</strong>（両ツール共通）</li><li><strong>日付・曜日・文字+数字をCtrl+ドラッグするとExcelだけコピーに反転する</strong>（Sheetsは連続のまま）</li><li><strong>迷ったら「2セル選択+ドラッグ」が両ツール共通で最も安定</strong></li></ul>



<p class="wp-block-paragraph">Ctrlキーの使い分けで混乱した時は、「ExcelだけがCtrlで日付・曜日・文字+数字を反転させる」と思い出してください。それさえ頭に入れておけば、両ツールを行き来する業務でもスムーズに作業を進められますよ。</p>



<p class="wp-block-paragraph">スプレッドシート側で「コピーしたいだけ」「月単位で進めたい」など細かい操作で迷うこともありますよね。そんな時はCtrl+Dや形式を選択して貼り付け、EDATE関数といった代替手段を活用してみてください。Excel側のオートフィルで具体的なトラブルに遭遇している方は、<a href="https://mashukabu.com/excel-autofill-not-incrementing/">Excelのオートフィルで連番・日付が増えない原因と正しい操作方法</a>もあわせて読むと安心ですよ。同じExcel↔スプレッドシート比較シリーズの<a href="https://mashukabu.com/excel-sheets-share-protect-design-guide/">ファイル共有・保護の設計ガイド</a>もどうぞ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-sheets-autofill-comparison/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートの印刷設定完全ガイド｜A4に合わせる・印刷範囲・改ページまで全網羅</title>
		<link>https://mashukabu.com/spreadsheet-print-settings/</link>
					<comments>https://mashukabu.com/spreadsheet-print-settings/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 21:58:13 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[Google Workspace]]></category>
		<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[印刷範囲]]></category>
		<category><![CDATA[印刷設定]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7980</guid>

					<description><![CDATA[Googleスプレッドシートの印刷設定を完全解説。A4に合わせる方法・印刷範囲の設定・改ページプレビュー・ヘッダーフッター設定まで、印刷ズレ・切れを解消する手順をステップ別に紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「印刷プレビューを開いたら表の右端がはみ出していた」。スプレッドシートで一度はやらかすトラブルです。会議直前にA4で揃えたいのに、見出しが2ページ目に出ない・余白が広すぎる・改ページの位置が合わない。原因は設定の場所を知らないだけです。ほぼ印刷プレビュー画面の右サイドバーで解決します。</p>



<p class="wp-block-paragraph">この記事ではGoogleスプレッドシートの印刷設定を一気に解説します。用紙サイズ・印刷範囲・改ページ・ヘッダーフッター・繰り返し見出しまで網羅しています。Excelから乗り換えた方が戸惑いやすい「Sheets特有のUI」も、対応表でフォローしました。</p>



<p class="wp-block-paragraph">結論を先に言うと、「表がはみ出す」のほとんどは拡大縮小の「<strong>幅に合わせる</strong>」を選ぶだけで解決します。スプレッドシートの基本操作から振り返りたい方は<a href="https://mashukabu.com/google-spreadsheet-beginner-guide/">スプレッドシートの使い方</a>も合わせてご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートの印刷で困る定番トラブル4選</a></li><li><a href="#toc2" tabindex="0">【症状→機能】逆引きマップでまず確認</a></li><li><a href="#toc3" tabindex="0">スプレッドシートの印刷プレビュー画面の使い方</a><ol><li><a href="#toc4" tabindex="0">印刷プレビューを開く2つの方法</a></li><li><a href="#toc5" tabindex="0">右サイドバーの7つの設定項目</a></li></ol></li><li><a href="#toc6" tabindex="0">スプレッドシートをA4に合わせて印刷する方法</a><ol><li><a href="#toc7" tabindex="0">用紙サイズをA4に変更する</a></li><li><a href="#toc8" tabindex="0">「幅に合わせる」で横幅を1ページに収める</a></li><li><a href="#toc9" tabindex="0">拡大縮小（カスタム数値）で微調整する</a></li></ol></li><li><a href="#toc10" tabindex="0">スプレッドシートの印刷範囲を指定する方法</a><ol><li><a href="#toc11" tabindex="0">印刷対象の3つの選択肢</a></li><li><a href="#toc12" tabindex="0">「選択中のセル」を使う手順</a></li></ol></li><li><a href="#toc13" tabindex="0">改ページを調整する</a><ol><li><a href="#toc14" tabindex="0">カスタム改ページを設定する手順</a></li></ol></li><li><a href="#toc15" tabindex="0">ヘッダー・フッターを編集する</a><ol><li><a href="#toc16" tabindex="0">標準のヘッダーフッター項目</a></li><li><a href="#toc17" tabindex="0">カスタムフィールドで自由なテキストを入れる</a></li></ol></li><li><a href="#toc18" tabindex="0">繰り返し見出しで2ページ目以降にも見出しを表示する</a><ol><li><a href="#toc19" tabindex="0">2ステップで設定する</a></li></ol></li><li><a href="#toc20" tabindex="0">余白・ページの向き・グリッド線を整える</a><ol><li><a href="#toc21" tabindex="0">余白プリセット</a></li><li><a href="#toc22" tabindex="0">ページの向き</a></li><li><a href="#toc23" tabindex="0">グリッド線・メモの印刷</a></li></ol></li><li><a href="#toc24" tabindex="0">印刷前チェックリストとExcelとの違い</a><ol><li><a href="#toc25" tabindex="0">Excelとの主な違い</a></li></ol></li><li><a href="#toc26" tabindex="0">まとめ｜印刷設定は「右サイドバー」で完結する</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートの印刷で困る定番トラブル4選</span></h2>



<p class="wp-block-paragraph">まずは「あるある」を整理しておきます。あなたの悩みがどれに当てはまるかを確認してから、該当セクションに飛んでください。</p>



<ul class="wp-block-list"><li><strong>表が1ページに収まらず右端がはみ出す</strong>: 拡大縮小の「幅に合わせる」で即解決します</li><li><strong>2ページ目以降に見出し行がなくて見づらい</strong>: 「表示 > 固定」と印刷プレビューの「先頭行を固定」の2ステップで対応します</li><li><strong>余白が広すぎて1ページに入らない</strong>: 余白プリセットを「狭い」に変更します</li><li><strong>ヘッダーやフッターにページ番号が入らない</strong>: 印刷プレビューの「ヘッダーとフッター」セクションでチェックを入れ忘れています</li></ul>



<p class="wp-block-paragraph">どれも印刷プレビュー画面（<code>Ctrl+P</code>）の中で完結します。Excelのように「ページ設定ダイアログ」を別途開く必要はありません。</p>



<h2 class="wp-block-heading"><span id="toc2">【症状→機能】逆引きマップでまず確認</span></h2>



<p class="wp-block-paragraph">「どこを触ればいいか分からない」状態をなくすため、症状から機能を逆引きできる表を用意しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>触る場所</th><th>設定値</th></tr></thead><tbody><tr><td>右端がはみ出す</td><td>拡大/縮小</td><td>幅に合わせる</td></tr><tr><td>縦に長くて2ページ目に少しだけ溢れる</td><td>余白</td><td>狭い</td></tr><tr><td>一部のセルだけ印刷したい</td><td>印刷対象</td><td>選択中のセル</td></tr><tr><td>2ページ目に見出しがない</td><td>表示 > 固定 + 書式設定</td><td>先頭行を固定</td></tr><tr><td>ページ番号を入れたい</td><td>ヘッダーとフッター</td><td>ページ番号にチェック</td></tr><tr><td>改ページの位置を変えたい</td><td>最下部のボタン</td><td>カスタム改ページを設定</td></tr><tr><td>用紙が米国Letterになっている</td><td>用紙サイズ</td><td>A4</td></tr><tr><td>横長の表を入れたい</td><td>ページの向き</td><td>横向き</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この表をブックマークしておけば、印刷でつまずいたとき迷子になりません。以降のセクションで、それぞれの機能を詳しく解説していきます。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-print-settings/01_print-preview-sidebar.png/">_images/spreadsheet-print-settings/01_print-preview-sidebar.png</a><br>（印刷プレビュー画面の右サイドバー。主要な設定はすべてここに集約されています）</p>



<h2 class="wp-block-heading"><span id="toc3">スプレッドシートの印刷プレビュー画面の使い方</span></h2>



<p class="wp-block-paragraph">スプレッドシートの印刷設定は、まず印刷プレビュー画面を開くところから始まります。Excelのページレイアウトタブのような独立した設定画面はなく、印刷プレビューがそのまま設定画面を兼ねます。</p>



<h3 class="wp-block-heading"><span id="toc4">印刷プレビューを開く2つの方法</span></h3>



<ol class="wp-block-list"><li><strong>キーボードショートカット</strong>: Windowsは <code>Ctrl + P</code>、Macは <code>Cmd + P</code></li><li><strong>メニュー操作</strong>: <code>ファイル > 印刷</code> をクリック</li></ol>



<p class="wp-block-paragraph">どちらの方法でも同じプレビュー画面が開きます。ブラウザの印刷ダイアログとは別物で、Google Sheets独自のUIです。設定を整えてから「次へ」を押すと、ブラウザの印刷ダイアログに進む2段構えになっています。「PDFに保存」もここから選択できます。</p>



<h3 class="wp-block-heading"><span id="toc5">右サイドバーの7つの設定項目</span></h3>



<p class="wp-block-paragraph">画面右側のサイドバーには、上から順に以下7つの項目が並びます。</p>



<ol class="wp-block-list"><li><strong>印刷対象</strong>: 現在のシート / ワークブック全体 / 選択中のセル</li><li><strong>用紙サイズ</strong>: A4・A3・Letterなど</li><li><strong>ページの向き</strong>: 縦向き / 横向き</li><li><strong>拡大/縮小</strong>: 標準・幅に合わせる・高さに合わせる・カスタム数値</li><li><strong>余白</strong>: 標準 / 狭い / 広い / カスタム数値</li><li><strong>書式設定と並び順</strong>: グリッド線・先頭行を固定・固定する列など</li><li><strong>ヘッダーとフッター</strong>: ページ番号・日付・タイトル・カスタムフィールド</li></ol>



<p class="wp-block-paragraph">この7項目を上から順に確認していけば、印刷設定はほぼ完了します。</p>



<h2 class="wp-block-heading"><span id="toc6">スプレッドシートをA4に合わせて印刷する方法</span></h2>



<p class="wp-block-paragraph">会議資料や取引先提出資料はA4で揃えるのが基本です。スプレッドシートのデフォルトは米国Letterサイズの場合があるため、まず用紙サイズを確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">用紙サイズをA4に変更する</span></h3>



<p class="wp-block-paragraph">印刷プレビュー画面の「用紙サイズ」プルダウンから <strong>A4</strong> を選択します。これだけで日本標準のA4印刷に切り替わります。Letterのまま印刷すると、わずかにサイズが異なるため取引先で違和感を持たれることがあります。</p>



<h3 class="wp-block-heading"><span id="toc8">「幅に合わせる」で横幅を1ページに収める</span></h3>



<p class="wp-block-paragraph">A4に変更しても、列数が多い表は右端がはみ出して2ページ目に分割されることがあります。そこで使うのが <strong>「幅に合わせる（Fit to width）」</strong> です。</p>



<ol class="wp-block-list"><li>「拡大/縮小」プルダウンを開く</li><li><strong>幅に合わせる</strong> を選択</li><li>プレビューで右端まで1ページに収まっていることを確認</li></ol>



<p class="wp-block-paragraph">これだけで横幅がA4の幅に自動圧縮されます。Excel経験者からすると「シートを1ページに印刷」に近い感覚です。表データの印刷では最も使う設定なので、覚えておきましょう。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-print-settings/02_fit-to-width.png/">_images/spreadsheet-print-settings/02_fit-to-width.png</a><br>（「幅に合わせる」を選ぶと、横幅がA4内に自動的に収まります）</p>



<h3 class="wp-block-heading"><span id="toc9">拡大縮小（カスタム数値）で微調整する</span></h3>



<p class="wp-block-paragraph">「幅に合わせる」だと文字が小さくなりすぎる場合があります。複数シートを同じ縮尺で揃えたい場合にも、「カスタム数値」が便利です。50%〜200%のパーセント指定が可能で、たとえば「90%」にすれば読みやすさを保ちながら1ページに収められます。</p>



<h2 class="wp-block-heading"><span id="toc10">スプレッドシートの印刷範囲を指定する方法</span></h2>



<p class="wp-block-paragraph">「表全体ではなく、特定の範囲だけ印刷したい」というケースは多いです。スプレッドシートでは印刷範囲を「印刷対象」プルダウンの3択で指定します。</p>



<h3 class="wp-block-heading"><span id="toc11">印刷対象の3つの選択肢</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>選択肢</th><th>動作</th><th>使いどころ</th></tr></thead><tbody><tr><td>現在のシート</td><td>開いているシート全体</td><td>単一シートの全データ</td></tr><tr><td>ワークブック全体</td><td>ファイル内の全シート</td><td>月次レポートなど一括印刷</td></tr><tr><td>選択中のセル</td><td>事前に選択した範囲のみ</td><td>特定の集計表だけ</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">「選択中のセル」を使う手順</span></h3>



<ol class="wp-block-list"><li>印刷したい範囲をドラッグで選択（例: <code>A1:E20</code>）</li><li><code>Ctrl + P</code> で印刷プレビューを開く</li><li>「印刷対象」プルダウンで <strong>選択中のセル</strong> を選択</li><li>プレビューに選択範囲だけが表示されていれば成功</li></ol>



<p class="wp-block-paragraph">注意点は、Sheetsには <strong>印刷範囲を保存する機能がない</strong> ことです。Excelでは「ページレイアウト > 印刷範囲の設定」で保存できます。Sheetsは毎回ドラッグして指定し直す必要があります。頻繁に使う範囲は「データ > 名前付き範囲」で名前を付けておくと、選択がスムーズになります。</p>



<h2 class="wp-block-heading"><span id="toc13">改ページを調整する</span></h2>



<p class="wp-block-paragraph">「ページの切れ目が変な位置で入る」というトラブルは、改ページ位置を手動で調整すれば解決します。ただしExcel経験者がつまずきがちなのが、<strong>Sheetsには「改ページプレビュー」がない</strong> という点です。</p>



<h3 class="wp-block-heading"><span id="toc14">カスタム改ページを設定する手順</span></h3>



<ol class="wp-block-list"><li><code>Ctrl + P</code> で印刷プレビューを開く</li><li>右サイドバー最下部の <strong>カスタム改ページを設定</strong> をクリック</li><li>プレビュー画面に青い線が表示される（ページの境界）</li><li>改ページを挿入したい行/列の境界線をドラッグして調整</li><li><strong>カスタム改ページを確認</strong> をクリックして反映</li></ol>



<p class="wp-block-paragraph">リセットしたい場合は「カスタム改ページをリセット」をクリックすれば自動レイアウトに戻ります。Excel経験者は「表示 > 改ページプレビューがない」と戸惑います。この「カスタム改ページを設定」ボタンが同等機能だと覚えておきましょう。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-print-settings/03_custom-page-break.png/">_images/spreadsheet-print-settings/03_custom-page-break.png</a><br>（カスタム改ページ画面。青い線をドラッグしてページ境界を調整します）</p>



<h2 class="wp-block-heading"><span id="toc15">ヘッダー・フッターを編集する</span></h2>



<p class="wp-block-paragraph">会議資料には「ページ番号」「日付」「資料タイトル」を入れたいことが多いです。スプレッドシートでは印刷プレビュー画面の「ヘッダーとフッター」セクションで設定します。</p>



<h3 class="wp-block-heading"><span id="toc16">標準のヘッダーフッター項目</span></h3>



<p class="wp-block-paragraph">以下4つはチェックボックスでON/OFFするだけで使えます。</p>



<ul class="wp-block-list"><li><strong>ページ番号</strong>: フッター中央に「1/3」形式で表示</li><li><strong>ワークブックのタイトル</strong>: ヘッダー左にファイル名</li><li><strong>シートのタイトル</strong>: ヘッダー左にシート名</li><li><strong>現在の日時</strong>: ヘッダー右に印刷時の日付・時刻</li></ul>



<h3 class="wp-block-heading"><span id="toc17">カスタムフィールドで自由なテキストを入れる</span></h3>



<p class="wp-block-paragraph">「カスタムフィールドの編集」をクリックすると、ヘッダーとフッターの <strong>左・中央・右の6領域</strong> に自由なテキストやプレースホルダーを挿入できます。ページ番号・日付などをボタンで挿入できます。</p>



<p class="wp-block-paragraph">ここでExcel経験者が引っかかるのが、<strong><code>&P</code>（ページ番号）や <code>&N</code>（総ページ数）などのフィールドコードが使えない</strong> 点です。Sheetsでは専用ボタンでプレースホルダーを挿入する方式です。Excelの感覚で <code>&P</code> と直接入力しても文字列扱いになります。</p>



<h2 class="wp-block-heading"><span id="toc18">繰り返し見出しで2ページ目以降にも見出しを表示する</span></h2>



<p class="wp-block-paragraph">「2ページ目以降に見出し行がなくて、何の数字か分からない」という資料は読み手に優しくありません。Excelでいう「印刷タイトル」機能が、Sheetsでは「先頭行を固定」と呼ばれます。</p>



<h3 class="wp-block-heading"><span id="toc19">2ステップで設定する</span></h3>



<p class="wp-block-paragraph"><strong>ステップ1: 見出し行を固定する</strong></p>



<ol class="wp-block-list"><li>メニューから <strong>表示 > 固定 > 1行</strong> を選択</li><li>複数行を見出しにする場合は「現在の行まで」を選択</li><li>画面上に固定行として灰色の線が表示される</li></ol>



<p class="wp-block-paragraph"><strong>ステップ2: 印刷時に繰り返しを有効化する</strong></p>



<ol class="wp-block-list"><li><code>Ctrl + P</code> で印刷プレビューを開く</li><li>右サイドバー「書式設定と並び順」セクションを展開</li><li><strong>先頭行を固定</strong> または <strong>固定する列</strong> にチェックを入れる</li><li>プレビューで2ページ目以降にも見出し行が表示されることを確認</li></ol>



<pre class="wp-block-code"><code>シート上で固定 → 印刷プレビューでチェック → 完了</code></pre>



<p class="wp-block-paragraph">注意点は、<strong>シート上で行/列を固定していないと印刷時の繰り返しオプションが効かない</strong> ことです。ステップ1を飛ばしてステップ2だけ実施しても無効なので、必ず2ステップ揃えてください。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-print-settings/04_repeat-header.png/">_images/spreadsheet-print-settings/04_repeat-header.png</a><br>（「先頭行を固定」にチェックを入れると、全ページに見出しが繰り返されます）</p>



<h2 class="wp-block-heading"><span id="toc20">余白・ページの向き・グリッド線を整える</span></h2>



<p class="wp-block-paragraph">仕上げに、余白・ページの向き・グリッド線の3点を整えると、印刷物の見栄えが向上します。</p>



<h3 class="wp-block-heading"><span id="toc21">余白プリセット</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>プリセット</th><th>余白サイズ</th></tr></thead><tbody><tr><td>標準</td><td>約 2.54 cm（1インチ）</td></tr><tr><td>狭い</td><td>約 0.64 cm</td></tr><tr><td>広い</td><td>約 5.08 cm</td></tr><tr><td>カスタム数値</td><td>上下左右を個別指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「あと少しで1ページに収まる」というときは、迷わず「狭い」を試してください。これだけで1ページに収まるケースは非常に多いです。</p>



<h3 class="wp-block-heading"><span id="toc22">ページの向き</span></h3>



<p class="wp-block-paragraph">横長の表（列数が多い）は <strong>横向き（Landscape）</strong> に切り替えます。「拡大/縮小」で無理に縮めるより、最初から横向きで印刷したほうが文字サイズを保てます。</p>



<h3 class="wp-block-heading"><span id="toc23">グリッド線・メモの印刷</span></h3>



<p class="wp-block-paragraph">「書式設定と並び順」セクションで以下をON/OFFします。</p>



<ul class="wp-block-list"><li><strong>グリッド線を表示</strong>: セル罫線を印刷するか（罫線を別途設定している場合はOFFで問題なし）</li><li><strong>メモを表示</strong>: セルのコメントを印刷するか</li><li><strong>色付き行/列</strong>: 交互の色付け（バンディング）を印刷するか</li></ul>



<h2 class="wp-block-heading"><span id="toc24">印刷前チェックリストとExcelとの違い</span></h2>



<p class="wp-block-paragraph">印刷ボタンを押す前に、以下10項目を確認すれば失敗を防げます。</p>



<pre class="wp-block-code"><code>□ 用紙サイズはA4になっているか
□ ページの向きは正しいか（縦/横）
□ 拡大縮小は「幅に合わせる」になっているか
□ 印刷対象は意図したものか（現在のシート/選択中のセル）
□ 余白は適切か（標準/狭い）
□ 2ページ目以降に見出しが繰り返されるか
□ ヘッダー・フッターにページ番号が入っているか
□ グリッド線または罫線が印刷されるか
□ プレビューで全ページを確認したか
□ PDF送付なら「ファイル &gt; ダウンロード &gt; PDF」を使ったか</code></pre>



<h3 class="wp-block-heading"><span id="toc25">Excelとの主な違い</span></h3>



<p class="wp-block-paragraph">最後に、Excel経験者が混乱しやすいポイントをまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>機能</th><th>Excel</th><th>Sheets</th></tr></thead><tbody><tr><td>改ページプレビュー</td><td>あり（ドラッグ調整可）</td><td>なし（カスタム改ページで代替）</td></tr><tr><td>印刷範囲の保存</td><td>できる</td><td>できない（毎回指定）</td></tr><tr><td>ヘッダーフッター</td><td><code>&P</code> などフィールドコード</td><td>専用ボタンで挿入</td></tr><tr><td>繰り返し見出し</td><td>印刷タイトル</td><td>表示 > 固定 + 先頭行を固定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">PDFを取引先に送る場合は、印刷ダイアログ経由ではなく <strong>「ファイル > ダウンロード > PDF」</strong> がおすすめです。Sheets独自のPDFエクスポート画面が開き、より一貫したフォントレンダリングで保存できます。</p>



<h2 class="wp-block-heading"><span id="toc26">まとめ｜印刷設定は「右サイドバー」で完結する</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートの印刷設定は、印刷プレビュー画面の右サイドバーに集約されています。Excelのようにページ設定ダイアログを別途開く必要はなく、上から順に7項目を確認すれば設定が完了します。</p>



<p class="wp-block-paragraph">最後にもう一度ポイントを整理します。</p>



<ul class="wp-block-list"><li><strong>はみ出す問題は「幅に合わせる」で解決</strong>: A4×幅に合わせるが鉄板の組み合わせ</li><li><strong>印刷範囲は「選択中のセル」</strong>: 事前にドラッグ選択してから印刷プレビューを開く</li><li><strong>改ページプレビューはない</strong>: 「カスタム改ページを設定」ボタンが代替機能</li><li><strong>繰り返し見出しは2ステップ</strong>: シート上で固定 + 印刷プレビューでチェック</li><li><strong>PDF送付は「ダウンロード > PDF」が安定</strong>: フォント崩れを防げる</li></ul>



<p class="wp-block-paragraph">印刷の悩みが解決したら、次は資料の共有や自動化に進みましょう。スプレッドシートの基本操作を改めて確認したい方は<a href="https://mashukabu.com/google-spreadsheet-beginner-guide/">スプレッドシートの使い方</a>をご覧ください。関数で集計値を整えてから印刷したい方は、関連記事もあわせてどうぞ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-print-settings/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
