<?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>Excel &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/excel/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Tue, 14 Apr 2026 13:47:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>Excel &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのIMAGE関数の使い方｜セルに画像を表示する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-image/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-image/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 14 Apr 2026 13:47:46 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Excel 365]]></category>
		<category><![CDATA[IMAGE]]></category>
		<category><![CDATA[セル内画像]]></category>
		<category><![CDATA[画像表示]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6002</guid>

					<description><![CDATA[ExcelのIMAGE関数の使い方を初心者向けに解説。セルに画像を表示する基本構文から、サイズ指定の4つのモード、商品カタログや名簿での活用例、よくあるエラーの対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p>ExcelのIMAGE関数を使うと、セルの中に画像を表示できます。URLを指定するだけで、商品画像や写真を埋め込めるんです。</p>



<p>ただし、IMAGE関数には対応バージョンの制約があります。使えるのは<strong>Microsoft 365</strong>と<strong>Excel 2024</strong>だけです。Excel 2021以前では使えないので、まず環境を確認しましょう。</p>



<p>この記事では、IMAGE関数の基本から実務での活用例まで解説します。</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">ExcelのIMAGE関数とは？</a></li><li><a href="#toc2" tabindex="0">IMAGE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">IMAGE関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">画像URLを指定してセルに表示する</a></li><li><a href="#toc7" tabindex="0">代替テキストを設定する</a></li><li><a href="#toc8" tabindex="0">サイズ指定の4つのモード</a></li></ol></li><li><a href="#toc9" tabindex="0">IMAGE関数の実践的な使い方・応用例</a><ol><li><a href="#toc10" tabindex="0">商品カタログに商品画像を並べる</a></li><li><a href="#toc11" tabindex="0">社員名簿に顔写真を表示する</a></li><li><a href="#toc12" tabindex="0">条件で画像を切り替える（IF関数と組み合わせ）</a></li></ol></li><li><a href="#toc13" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc14" tabindex="0">#CONNECT! エラー（画像URLに接続できない）</a></li><li><a href="#toc15" tabindex="0">#VALUE! エラー（引数の指定ミス）</a></li><li><a href="#toc16" tabindex="0">IMAGE関数が使えない場合（バージョン非対応）</a></li><li><a href="#toc17" tabindex="0">その他のエラー（#CALC!）</a></li></ol></li><li><a href="#toc18" tabindex="0">GoogleスプレッドシートのIMAGE関数との違い</a></li><li><a href="#toc19" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのIMAGE関数とは？</span></h2>



<p>IMAGE関数は、URLで指定した画像をセル内に表示する関数です。2023年にMicrosoft 365で一般提供が始まりました。</p>



<p>従来の「画像の挿入」機能との違いを見てみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>IMAGE関数</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>可能（IF関数等と組み合わせ可）</td><td>不可</td></tr><tr><td>ローカルファイル</td><td>不可（URL必須）</td><td>可能</td></tr></tbody></table></figure>



<p>IMAGE関数はセルに紐づくのが最大の特徴です。並べ替えやフィルタで画像も一緒に動きます。商品リストや名簿など、一覧表に画像を入れたい場面にぴったりですよ。</p>



<p>対応環境は以下のとおりです。</p>



<ul class="wp-block-list"><li>Microsoft 365（デスクトップ / Web / モバイル）</li><li>Excel 2024（買い切り版）</li></ul>



<p>Excel 2021以前は非対応で、#NAME?エラーになります。バージョンは「ファイル」→「アカウント」で確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc2">IMAGE関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<p>IMAGE関数の構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=IMAGE(source, [alt_text], [sizing], [height], [width])</code></pre>



<p>必須の引数はsource（画像URL）だけです。残り4つは省略できます。最もシンプルな書き方はこちらです。</p>



<pre class="wp-block-code"><code>=IMAGE(&quot;https://example.com/image.png&quot;)</code></pre>



<p>URLを「&#8221;」で囲んで入力するだけで使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<p>各引数の役割をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>内容</th></tr></thead><tbody><tr><td>source</td><td>必須</td><td>画像のURL（HTTPS必須）</td></tr><tr><td>alt_text</td><td>省略可</td><td>代替テキスト（画像の説明文）</td></tr><tr><td>sizing</td><td>省略可</td><td>サイズモード（0〜3）</td></tr><tr><td>height</td><td>省略可</td><td>高さ（sizing=3のときポイント単位）</td></tr><tr><td>width</td><td>省略可</td><td>幅（sizing=3のときポイント単位）</td></tr></tbody></table></figure>



<p>sourceにはHTTPSのURLが必要です。HTTPは使えません。URLを直接書く代わりに、セル参照も指定できますよ。</p>



<p>対応フォーマットは以下の8種類です。</p>



<p>BMP / JPG（JPEG）/ GIF / PNG / TIFF / ICO / WEBP / SVG</p>



<h2 class="wp-block-heading"><span id="toc5">IMAGE関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc6">画像URLを指定してセルに表示する</span></h3>



<p>セルに以下の数式を入力してみましょう。</p>



<pre class="wp-block-code"><code>=IMAGE(&quot;https://example.com/photo.png&quot;)</code></pre>



<p>これだけでセル内に画像が表示されます。セルの高さを広げると、画像も大きく表示されます。</p>



<p>URLを直接入力する代わりに、セル参照も使えます。A1セルにURLが入っている場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=IMAGE(A1)</code></pre>



<p>セル参照を使えば、URLの管理がぐっと楽になりますよ。</p>



<p>なお、数式を「値のみ貼り付け」するとIMAGE関数が消えます。コピー時は数式ごと貼り付けてください。</p>



<p>また、計算モードが「手動」だと画像が自動更新されません。その場合はCtrl+Shift+F9で再計算してみてください。</p>



<p>サイズの大きい画像を多数使うと動作が重くなります。できるだけ軽量な画像を使うのがおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc7">代替テキストを設定する</span></h3>



<p>第2引数のalt_textで画像に説明文を付けられます。</p>



<pre class="wp-block-code"><code>=IMAGE(&quot;https://example.com/photo.png&quot;, &quot;商品Aの写真&quot;)</code></pre>



<p>代替テキストにはアクセシビリティの役割があります。スクリーンリーダー（画面読み上げソフト）が画像の内容を読み上げてくれます。また、画像の管理用メモとしても便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">サイズ指定の4つのモード</span></h3>



<p>第3引数のsizingで表示サイズを制御できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>sizing</th><th>動作</th><th>特徴</th></tr></thead><tbody><tr><td>0（デフォルト）</td><td>セルに収める</td><td>アスペクト比（縦横比）を維持</td></tr><tr><td>1</td><td>セル全体に引き伸ばす</td><td>アスペクト比が変わる</td></tr><tr><td>2</td><td>元のサイズで表示</td><td>セルからはみ出す場合あり</td></tr><tr><td>3</td><td>カスタムサイズ</td><td>height・widthの指定が必要</td></tr></tbody></table></figure>



<p>通常はデフォルトの0で十分です。カスタムサイズを使う場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=IMAGE(&quot;https://example.com/photo.png&quot;,, 3, 100, 150)</code></pre>



<p>alt_textを省略して、height=100、width=150（ポイント）を指定しています。サイズを細かく調整したいときに使ってみてください。</p>



<h2 class="wp-block-heading"><span id="toc9">IMAGE関数の実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">商品カタログに商品画像を並べる</span></h3>



<p>商品リストに画像を表示するケースを見てみましょう。A列に商品名、B列に画像URLを入れます。C2セルに次の数式を入力します。</p>



<pre class="wp-block-code"><code>=IMAGE(B2, A2)</code></pre>



<p>B2のURLから画像を表示し、A2の商品名を代替テキストに設定しています。この数式をC列の各行にコピーすれば完成です。</p>



<p>フィルタで絞り込んでも画像はセルと一緒に動きます。在庫管理や商品カタログで重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc11">社員名簿に顔写真を表示する</span></h3>



<p>名簿に顔写真を並べる使い方も便利です。名前の隣の列に画像URLを用意します。IMAGE関数で写真を表示しましょう。</p>



<p>行の高さを80〜100ポイントに広げると見やすくなります。sizingは0（セルに収める）のままで大丈夫です。セルのサイズで表示を調整するのがおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc12">条件で画像を切り替える（IF関数と組み合わせ）</span></h3>



<p>IF関数（条件で処理を分岐する関数）と組み合わせれば、条件によって画像を切り替えられます。</p>



<pre class="wp-block-code"><code>=IF(D2=&quot;合格&quot;,
  IMAGE(&quot;https://example.com/ok.png&quot;),
  IMAGE(&quot;https://example.com/ng.png&quot;))</code></pre>



<p>D2が「合格」なら○の画像、それ以外は×の画像を表示します。ステータスを視覚的に表現したいときに活用してみてください。</p>



<h2 class="wp-block-heading"><span id="toc13">よくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc14">#CONNECT! エラー（画像URLに接続できない）</span></h3>



<p>画像URLへの接続に失敗すると#CONNECT!エラーが出ます。以下を確認しましょう。</p>



<ul class="wp-block-list"><li><strong>URLの誤り</strong>: ブラウザでURLを開き、画像が表示されるか確認する</li><li><strong>画像の削除</strong>: URL先のファイルが存在するか確認する</li><li><strong>アクセス制限</strong>: 認証が必要なURLは使えない。公開URLに変更する</li><li><strong>通信環境</strong>: インターネット接続を確認する</li></ul>



<p>URLをブラウザで開いて画像が見えれば、URL自体は正しいです。それでもエラーが出るなら通信環境を確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc15">#VALUE! エラー（引数の指定ミス）</span></h3>



<p>引数の指定に問題があると#VALUE!エラーが出ます。</p>



<ul class="wp-block-list"><li><strong>sizing=3でheight/widthが未指定</strong>: 両方の指定が必要</li><li><strong>sourceが空</strong>: 空のセルを参照していないか確認する</li><li><strong>sizingに0〜3以外の値</strong>: 使える値は0、1、2、3のみ</li></ul>



<p>引数を一つずつ確認すれば原因が見つかりますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">IMAGE関数が使えない場合（バージョン非対応）</span></h3>



<p>#NAME?エラーが出る場合はバージョンが非対応です。「ファイル」→「アカウント」で確認しましょう。</p>



<p>Excel 2021以前なら「挿入」→「画像」で画像を配置できます。ただし、セルに紐づかないため並べ替え時は注意が必要です。</p>



<p>IMAGE関数を使ったブックを他の人に共有する場合も注意です。相手のExcelが非対応だと#NAME?エラーになります。共有先の環境もあわせて確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc17">その他のエラー（#CALC!）</span></h3>



<p>まれに#CALC!エラーが出ることがあります。画像の読み込み中にタイムアウトした場合などが原因です。時間を置いてから再計算（Ctrl+Shift+F9）を試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc18">GoogleスプレッドシートのIMAGE関数との違い</span></h2>



<p>GoogleスプレッドシートにもIMAGE関数がありますが、仕様が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>構文</td><td><code>=IMAGE(source, alt_text, sizing, height, width)</code></td><td><code>=IMAGE(URL, モード, 高さ, 幅)</code></td></tr><tr><td>サイズモード</td><td>0〜3</td><td>1〜4</td></tr><tr><td>alt_text引数</td><td>あり（第2引数）</td><td>なし</td></tr><tr><td>サイズの単位</td><td>ポイント</td><td>ピクセル</td></tr><tr><td>デフォルトモード</td><td>0（セルに収める）</td><td>1（セルに収める）</td></tr><tr><td>対応バージョン</td><td>365 / 2024のみ</td><td>全バージョン</td></tr></tbody></table></figure>



<p>最大の違いはalt_text引数の有無です。Excel版では第2引数にalt_textがあります。そのため、サイズモードは第3引数です。スプレッドシートから移行する際は引数の順番に注意しましょう。</p>



<p>Googleスプレッドシート版の詳しい使い方は、<a href="https://mashukabu.com/spreadsheet-image-function/">spreadsheet-image-function</a>の記事も参考にしてみてください。</p>



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



<p>ExcelのIMAGE関数の使い方を解説しました。</p>



<ul class="wp-block-list"><li>IMAGE関数は<strong>Microsoft 365</strong>と<strong>Excel 2024</strong>で使える</li><li><code>=IMAGE("画像URL")</code>でセル内に画像を表示できる</li><li>sizingで4つのサイズモードを選べる</li><li>セルに紐づくので、並べ替え・フィルタで画像も一緒に動く</li><li>Googleスプレッドシート版とは引数の順番が異なる</li></ul>



<p>商品カタログや社員名簿など、画像入りの一覧表を作るときに便利です。ぜひ活用してみてください。</p>



<p>セルにリンクを設定したい方は<a href="https://mashukabu.com/excel-function-howto-use-hyperlink/">excel-function-howto-use-hyperlink</a>もあわせてどうぞ。Excel 365の他の新しい関数が気になる方は、<a href="https://mashukabu.com/excel-function-howto-use-unique/">excel-function-howto-use-unique</a>や<a href="https://mashukabu.com/excel-function-howto-use-filter/">excel-function-howto-use-filter</a>、<a href="https://mashukabu.com/excel-function-howto-use-sequence/">excel-function-howto-use-sequence</a>もチェックしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-image/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのVBAで仕事を自動化する方法｜実務シーン別に解説</title>
		<link>https://mashukabu.com/excel-vba-automation-guide/</link>
					<comments>https://mashukabu.com/excel-vba-automation-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 14 Apr 2026 13:37:19 +0000</pubDate>
				<category><![CDATA[VBA・マクロ]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[マクロ]]></category>
		<category><![CDATA[まとめ]]></category>
		<category><![CDATA[初心者]]></category>
		<category><![CDATA[業務効率化]]></category>
		<category><![CDATA[自動化]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5995</guid>

					<description><![CDATA[Excel VBAで業務を自動化する方法を実務シーン別に解説。データ入力・集計・転記・書式設定など7つの活用パターンと始め方を紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「毎月同じ作業を手動でやるのが本当にしんどい」。Excelで繰り返しの業務を抱えている方なら、一度はそう感じたことがあるのではないでしょうか。</p>



<p>手動のコピペや集計作業は、時間がかかるだけでなくミスの温床にもなります。放っておけば、毎月何時間もの残業が当たり前になってしまいます。</p>



<p>VBAを使えば、そうした繰り返し作業をボタンひとつで自動化できます。この記事では、VBAで自動化できる実務シーン7つと、今日から始められる3ステップを紹介します。</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">VBAによる自動化とは</a><ol><li><a href="#toc2" tabindex="0">VBAとマクロの関係</a></li><li><a href="#toc3" tabindex="0">VBAで自動化できる業務の全体像</a></li></ol></li><li><a href="#toc4" tabindex="0">VBAで自動化できる実務シーン7選</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><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">VBA自動化の始め方【3ステップ】</a><ol><li><a href="#toc13" tabindex="0">ステップ1: 開発タブの表示とVBEの起動</a></li><li><a href="#toc14" tabindex="0">ステップ2: コードの入力と実行</a></li><li><a href="#toc15" tabindex="0">ステップ3: マクロ有効ブック(.xlsm)で保存</a></li></ol></li><li><a href="#toc16" tabindex="0">自動化で失敗しないためのポイント</a><ol><li><a href="#toc17" tabindex="0">Option Explicitで変数宣言を強制する</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">この記事のポイント</a></li><li><a href="#toc22" tabindex="0">次のステップ</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">VBAによる自動化とは</span></h2>



<p>VBA（Visual Basic for Applications）は、Excelに標準搭載されているプログラミング言語です。追加のソフトをインストールする必要はありません。</p>



<p>VBAを使うと、普段マウスやキーボードで行っている操作をコードで記述し、自動で実行できます。たとえば「A列のデータをB列にコピーして書式を整える」といった作業を、1クリックで完了させることが可能です。</p>



<h3 class="wp-block-heading"><span id="toc2">VBAとマクロの関係</span></h3>



<p>VBAとマクロは、よく混同される用語です。簡単に整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>用語</th><th>意味</th></tr></thead><tbody><tr><td>VBA</td><td>Excelを操作するプログラミング言語</td></tr><tr><td>マクロ</td><td>操作を自動実行する仕組み</td></tr></tbody></table></figure>



<p>マクロは「自動化の仕組み」全体を指し、VBAはその仕組みを動かす「言語」です。つまり、VBAで書いたプログラムをマクロとして実行する、という関係になります。</p>



<p>両者の違いをもっと詳しく知りたい方は、「<a href="https://mashukabu.com/excel-vba-macro-difference/">VBAとマクロの違い</a>」の記事をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc3">VBAで自動化できる業務の全体像</span></h3>



<p>VBAで自動化できる業務は、大きく分けて以下の7つのカテゴリに分類できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>カテゴリ</th><th>具体的な作業例</th><th>時短の目安</th></tr></thead><tbody><tr><td>データ入力・転記</td><td>シート間のコピー、別ブックへの転記</td><td>30分 → 数秒</td></tr><tr><td>集計・レポート</td><td>月次集計、ピボット的な集計表の作成</td><td>1時間 → 1分</td></tr><tr><td>書式設定</td><td>罫線・色・フォントの統一</td><td>15分 → 数秒</td></tr><tr><td>ファイル操作</td><td>フォルダ内の一括処理、CSV取り込み</td><td>20分 → 数秒</td></tr><tr><td>条件分岐</td><td>ランク判定、カテゴリ振り分け</td><td>手作業ミスをゼロに</td></tr><tr><td>繰り返し処理</td><td>行ごとの処理、シート横断の一括操作</td><td>手作業の数百倍速</td></tr><tr><td>文字列操作</td><td>スペース除去、全角半角統一</td><td>10分 → 数秒</td></tr></tbody></table></figure>



<p>次のセクションから、それぞれのシーンを具体的に見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc4">VBAで自動化できる実務シーン7選</span></h2>



<p>ここからは、実務でよく使う7つの自動化シーンを紹介します。コードの概要と、関連記事へのリンクもまとめました。</p>



<h3 class="wp-block-heading"><span id="toc5">データ入力・転記の自動化</span></h3>



<p>最もニーズが高いのが、データの入力・転記の自動化です。たとえば「受注データをシートAからシートBに転記する」といった作業は、VBAなら数行で書けます。</p>



<pre class="wp-block-code"><code>Sub データ転記()
    Dim wsFrom As Worksheet '--- 転記元シート ---
    Dim wsTo As Worksheet   '--- 転記先シート ---
    Dim lastRow As Long     '--- 最終行番号 ---

    Set wsFrom = Sheets(&quot;受注データ&quot;)
    Set wsTo = Sheets(&quot;集計表&quot;)
    lastRow = wsFrom.Cells(Rows.Count, 1).End(xlUp).Row

    wsFrom.Range(&quot;A2:D&quot; &amp; lastRow).Copy wsTo.Range(&quot;A2&quot;)
End Sub</code></pre>



<p>ポイントは、最終行を動的に取得している点です。データが増減しても正しく動作します。</p>



<p>セル操作の基本は「<a href="https://mashukabu.com/excel-vba-howto-use-range/">Rangeの使い方</a>」で解説しています。RangeとCellsの使い分けは「<a href="https://mashukabu.com/excel-vba-range-cells/">RangeとCellsの違い</a>」をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc6">集計・レポート作成の自動化</span></h3>



<p>月末の売上集計やレポート作成は、VBAの得意分野です。SUM関数やCOUNTIF関数をVBAから呼び出すこともできます。</p>



<pre class="wp-block-code"><code>Sub 月次集計()
    Dim ws As Worksheet   '--- 対象シート ---
    Dim total As Double   '--- 合計金額 ---
    Dim lastRow As Long   '--- 最終行番号 ---

    Set ws = ActiveSheet
    lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row

    total = WorksheetFunction.Sum(ws.Range(&quot;C2:C&quot; &amp; lastRow))
    ws.Range(&quot;C&quot; &amp; lastRow + 2).Value = total
    ws.Range(&quot;A&quot; &amp; lastRow + 2).Value = &quot;合計&quot;
End Sub</code></pre>



<p><code>WorksheetFunction</code> を使えば、Excelの関数をVBA内で利用できます。詳しくは「<a href="https://mashukabu.com/excel-vba-howto-use-worksheetfunction/">WorksheetFunctionの使い方</a>」をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc7">書式設定・フォーマットの統一</span></h3>



<p>レポートのフォーマットを毎回手作業で整えていませんか。罫線・背景色・フォントサイズなどの設定は、VBAで一括適用できます。</p>



<pre class="wp-block-code"><code>Sub 書式統一()
    Dim rng As Range '--- 書式設定範囲 ---
    Dim lastRow As Long '--- 最終行番号 ---

    lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    Set rng = ActiveSheet.Range(&quot;A1:E&quot; &amp; lastRow)

    With rng
        .Font.Name = &quot;游ゴシック&quot;
        .Font.Size = 11
        .Borders.LineStyle = xlContinuous
    End With

    '--- 見出し行の装飾 ---
    With ActiveSheet.Range(&quot;A1:E1&quot;)
        .Interior.Color = RGB(68, 114, 196)
        .Font.Color = RGB(255, 255, 255)
        .Font.Bold = True
    End With
End Sub</code></pre>



<p>With構文を使うと、同じオブジェクトへの操作をすっきりまとめられます。</p>



<h3 class="wp-block-heading"><span id="toc8">ファイル操作の自動化</span></h3>



<p>フォルダ内のファイルを順番に開いて処理する、という作業もVBAで自動化できます。たとえば「売上フォルダ内の全Excelファイルからデータを集約する」といった場面です。</p>



<pre class="wp-block-code"><code>Sub ファイル一括処理()
    Dim folderPath As String '--- フォルダパス ---
    Dim fileName As String   '--- ファイル名 ---

    folderPath = &quot;C:売上データ&quot;
    fileName = Dir(folderPath &amp; &quot;*.xlsx&quot;)

    Do While fileName &lt;&gt; &quot;&quot;
        Workbooks.Open folderPath &amp; fileName
        '--- ここにファイルごとの処理を記述 ---
        ActiveWorkbook.Close SaveChanges:=False
        fileName = Dir()
    Loop
End Sub</code></pre>



<p><code>Dir関数</code> でフォルダ内のファイルを順に取得し、<code>Do While</code> ループで処理します。Do Loopの構文は「<a href="https://mashukabu.com/how-to-use-do-loop/">Do Loopの使い方</a>」で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc9">条件分岐による振り分け処理</span></h3>



<p>「点数に応じてランクを付ける」「金額に応じて承認者を振り分ける」など、条件によって処理を変えるのもVBAの基本です。</p>



<pre class="wp-block-code"><code>Sub ランク判定()
    Dim i As Long    '--- 行カウンター ---
    Dim score As Long '--- 点数 ---
    Dim lastRow As Long '--- 最終行番号 ---

    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = 2 To lastRow
        score = Cells(i, 2).Value

        If score &gt;= 90 Then
            Cells(i, 3).Value = &quot;A&quot;
        ElseIf score &gt;= 70 Then
            Cells(i, 3).Value = &quot;B&quot;
        ElseIf score &gt;= 50 Then
            Cells(i, 3).Value = &quot;C&quot;
        Else
            Cells(i, 3).Value = &quot;D&quot;
        End If
    Next i
End Sub</code></pre>



<p>条件が3つ以上になる場合は、<code>Select Case</code> のほうがコードが見やすくなります。If文の基本は「<a href="https://mashukabu.com/excel-vba-conditional-branch-explanation/">If文の使い方</a>」、Select Caseは「<a href="https://mashukabu.com/excel-vba-howto-use-select-case/">Select Caseの使い方</a>」をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc10">繰り返し処理（ループ）の活用</span></h3>



<p>データを1行ずつ処理する、すべてのシートに同じ操作を行う。こうした繰り返し作業は、VBAのループ処理で一瞬で片付きます。</p>



<pre class="wp-block-code"><code>Sub 全シート印刷設定()
    Dim ws As Worksheet '--- 各シート ---

    For Each ws In ThisWorkbook.Worksheets
        With ws.PageSetup
            .Orientation = xlLandscape
            .Zoom = False
            .FitToPagesWide = 1
            .FitToPagesTall = 1
        End With
    Next ws
End Sub</code></pre>



<p><code>For Each</code> は、シートやセル範囲などのコレクションを順に処理するのに便利です。基本の <code>For~Next</code> は「<a href="https://mashukabu.com/excel-vba-howto-use-for/">For~Nextの使い方</a>」、<code>For Each</code> は「<a href="https://mashukabu.com/vba-howto-use-for-each-next/">For Eachの使い方</a>」で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc11">文字列操作・データクレンジング</span></h3>



<p>取り込んだデータに余計なスペースが混じっていたり、全角と半角が混在していたりすることはよくあります。VBAなら一括で修正できます。</p>



<pre class="wp-block-code"><code>Sub スペース除去()
    Dim rng As Range  '--- 対象セル ---
    Dim cell As Range '--- 各セル ---
    Dim lastRow As Long '--- 最終行番号 ---

    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    Set rng = Range(&quot;A1:A&quot; &amp; lastRow)

    For Each cell In rng
        If VarType(cell.Value) = vbString Then
            cell.Value = Trim(cell.Value)
            cell.Value = Replace(cell.Value, &quot;　&quot;, &quot;&quot;)
        End If
    Next cell
End Sub</code></pre>



<p><code>VarType</code> で文字列セルだけを対象にしているのがポイントです。数値や日付のセルに誤ってTrimを適用するのを防いでいます。</p>



<p>空白除去の詳しいパターンは「<a href="https://mashukabu.com/excel-vba-howto-remove-space/">VBAで空白を削除する方法</a>」をご覧ください。</p>



<h2 class="wp-block-heading"><span id="toc12">VBA自動化の始め方【3ステップ】</span></h2>



<p>VBAを使ったことがない方でも、以下の3ステップですぐに始められます。</p>



<h3 class="wp-block-heading"><span id="toc13">ステップ1: 開発タブの表示とVBEの起動</span></h3>



<p>VBAのコードを書くには、まず「開発」タブを表示させます。</p>



<ol class="wp-block-list"><li>Excelのリボンで「ファイル」→「オプション」を開く</li><li>「リボンのユーザー設定」を選択する</li><li>右側のリストで「開発」にチェックを入れて「OK」をクリックする</li></ol>



<p>開発タブが表示されたら、「Visual Basic」ボタンをクリックするか、<code>Alt + F11</code> キーでVBE（Visual Basic Editor）が起動します。</p>



<p>詳しい手順は「<a href="https://mashukabu.com/excel-vba-before-study-explanation/">開発タブの表示方法</a>」で画像付きで解説しています。</p>



<h3 class="wp-block-heading"><span id="toc14">ステップ2: コードの入力と実行</span></h3>



<p>VBEが開いたら、以下の手順でコードを入力して実行します。</p>



<ol class="wp-block-list"><li>メニューバーの「挿入」→「標準モジュール」をクリックする</li><li>表示されたコードウィンドウに、VBAコードを貼り付ける</li><li><code>F5</code> キーを押す（またはメニューの「実行」→「Sub/ユーザーフォームの実行」）</li></ol>



<p>まずは前のセクションで紹介したコードをコピペして動かしてみてください。動作を確認してからコードを読み解くと、理解が早まりますよ。</p>



<p>なお、コードを書かずに自動化を試す方法として「マクロの記録」もあります。操作をそのまま記録してくれる機能で、VBA入門の第一歩として最適です。詳しくは「<a href="https://mashukabu.com/howto-macro-recording/">マクロの記録の使い方</a>」をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc15">ステップ3: マクロ有効ブック(.xlsm)で保存</span></h3>



<p>VBAコードを含むブックは、通常の <code>.xlsx</code> 形式では保存できません。「名前を付けて保存」で「Excel マクロ有効ブック (.xlsm)」を選択してください。</p>



<p><code>.xlsx</code> のまま保存すると、せっかく書いたコードがすべて消えてしまいます。保存形式の詳細は「<a href="https://mashukabu.com/excel-vba-filetype-explanation/">VBAのファイル形式</a>」で解説しています。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>マクロ有効ブックを開いたときに「セキュリティの警告」が表示される場合があります。自分で作成したマクロであれば「コンテンツの有効化」をクリックして問題ありません。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">自動化で失敗しないためのポイント</span></h2>



<p>VBAで自動化を始めると、思わぬエラーに悩まされることがあります。ここでは、初心者がつまずきやすい3つのポイントを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc17">Option Explicitで変数宣言を強制する</span></h3>



<p>VBAでは、変数を宣言せずに使うことができます。しかし、これはタイプミスによるバグの原因になります。</p>



<pre class="wp-block-code"><code>Option Explicit

Sub サンプル()
    Dim total As Long '--- 合計値 ---
    total = 100
    '--- tatalと打ち間違えたらコンパイルエラーで教えてくれる ---
End Sub</code></pre>



<p>モジュールの先頭に <code>Option Explicit</code> を記述すると、宣言していない変数を使った時点でエラーが出ます。タイプミスを即座に見つけられるので、必ず設定しておきましょう。</p>



<p>詳しくは「<a href="https://mashukabu.com/excel-vba-option-explicit/">Option Explicitの使い方</a>」をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc18">最終行の取得で範囲を動的にする</span></h3>



<p>データの行数は日々変わります。<code>Range("A1:A100")</code> のように固定すると、データが101行に増えた瞬間に処理漏れが発生します。</p>



<pre class="wp-block-code"><code>Dim lastRow As Long '--- 最終行番号 ---
lastRow = Cells(Rows.Count, 1).End(xlUp).Row</code></pre>



<p>この1行で、A列の最終行を自動取得できます。データ範囲に依存するすべてのマクロで使う基本テクニックです。</p>



<p>詳しくは「<a href="https://mashukabu.com/excel-vba-howto-get-lastrow/">最終行の取得方法</a>」をご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc19">エラーハンドリングを入れる</span></h3>



<p>業務で使うマクロには、エラーが起きたときの対策を入れておくことが重要です。エラーハンドリングがないと、マクロが途中で止まってデータが中途半端な状態になることがあります。</p>



<pre class="wp-block-code"><code>Sub 安全な処理()
    On Error GoTo ErrorHandler

    '--- メインの処理 ---
    Workbooks.Open &quot;C:データ.xlsx&quot;

    Exit Sub

ErrorHandler:
    MsgBox &quot;エラーが発生しました: &quot; &amp; Err.Description
End Sub</code></pre>



<p><code>On Error GoTo</code> を使えば、エラー発生時に指定した場所へ処理を飛ばせます。エラーメッセージを表示するだけでも、原因の特定がぐっと楽になりますよ。</p>



<p>なお、マクロが無限ループに入ってしまった場合は <code>Esc</code> キーや <code>Ctrl + Break</code> で強制停止できます。詳しくは「<a href="https://mashukabu.com/how-to-stop-macro/">マクロの強制終了方法</a>」をご覧ください。</p>



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



<p>この記事では、VBAで自動化できる7つの実務シーンと、始め方の3ステップを紹介しました。</p>



<h3 class="wp-block-heading"><span id="toc21">この記事のポイント</span></h3>



<ul class="wp-block-list"><li>VBAはExcelに標準搭載されたプログラミング言語。追加インストール不要で使える</li><li>データ転記・集計・書式設定・ファイル操作など、定型作業はほぼ自動化できる</li><li>始め方は「開発タブ表示 → コード入力 → .xlsmで保存」の3ステップ</li><li><code>Option Explicit</code>・最終行の動的取得・エラーハンドリングの3つで失敗を防げる</li><li>まずは「マクロの記録」から試すのもおすすめ</li></ul>



<h3 class="wp-block-heading"><span id="toc22">次のステップ</span></h3>



<p>VBAの基本をもっと体系的に学びたい方は、「<a href="https://mashukabu.com/excel-vba-learning-roadmap/">VBA学習ロードマップ</a>」を参考にしてみてください。変数の基本から実務レベルまでの学習順序をまとめています。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-vba-variable-explanation/">VBA変数の使い方</a></li><li><a href="https://mashukabu.com/excel-vba-conditional-branch-explanation/">If文の使い方</a></li><li><a href="https://mashukabu.com/excel-vba-howto-use-for/">For~Nextの使い方</a></li><li><a href="https://mashukabu.com/excel-vba-howto-use-range/">Rangeの使い方</a></li><li><a href="https://mashukabu.com/excel-vba-like-wildcard/">Like演算子の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-vba-automation-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excel VBAマクロ入門｜初めてのマクロを作る手順とよく使うコード10選</title>
		<link>https://mashukabu.com/excel-vba-macro-beginners-guide/</link>
					<comments>https://mashukabu.com/excel-vba-macro-beginners-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 14 Apr 2026 13:37:15 +0000</pubDate>
				<category><![CDATA[VBA・マクロ]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[VBA入門]]></category>
		<category><![CDATA[マクロ]]></category>
		<category><![CDATA[マクロ作り方]]></category>
		<category><![CDATA[初心者向け]]></category>
		<category><![CDATA[自動化]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5993</guid>

					<description><![CDATA[Excel VBAマクロの始め方を初心者向けに解説。開発タブの表示からコードの書き方、よく使うコード10選まで、初めてのマクロ作成を丁寧にガイドします。]]></description>
										<content:encoded><![CDATA[
<p>「Excelのマクロって便利そうだけど、何から始めればいいかわからない」。そんな悩みを抱えている方は多いのではないでしょうか。</p>



<p>毎日の手作業をそのまま続けていると、時間も体力も消耗します。ミスも起きやすくなりますよね。</p>



<p>この記事では、Excel初心者でもマクロの作り方がわかるように、開発タブの表示からコードの書き方まで丁寧に解説します。よく使うVBAコード10選もまとめたので、最初の一歩を踏み出してみてください。</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">ExcelのVBAマクロとは</a><ol><li><a href="#toc2" tabindex="0">VBAとマクロの違い</a></li><li><a href="#toc3" tabindex="0">マクロでできること</a></li></ol></li><li><a href="#toc4" tabindex="0">初めてのExcelマクロを作る手順</a><ol><li><a href="#toc5" tabindex="0">開発タブを表示する</a></li><li><a href="#toc6" tabindex="0">VBE（Visual Basic Editor）を開く</a></li><li><a href="#toc7" tabindex="0">標準モジュールを追加する</a></li><li><a href="#toc8" tabindex="0">コードを入力して実行する</a></li><li><a href="#toc9" tabindex="0">マクロ有効ブック(.xlsm)で保存する</a></li></ol></li><li><a href="#toc10" tabindex="0">よく使うVBAコード10選</a><ol><li><a href="#toc11" tabindex="0">1. セルに値を入力する</a></li><li><a href="#toc12" tabindex="0">2. セルの値を別のセルにコピーする</a></li><li><a href="#toc13" tabindex="0">3. 最終行を取得する</a></li><li><a href="#toc14" tabindex="0">4. 指定範囲をクリアする</a></li><li><a href="#toc15" tabindex="0">5. メッセージボックスを表示する</a></li><li><a href="#toc16" tabindex="0">6. 条件によって処理を変える（If文）</a></li><li><a href="#toc17" tabindex="0">7. 同じ処理を繰り返す（For文）</a></li><li><a href="#toc18" tabindex="0">8. セルの書式を変更する</a></li><li><a href="#toc19" tabindex="0">9. シートを追加・名前を変更する</a></li><li><a href="#toc20" tabindex="0">10. ファイルを保存して閉じる</a></li></ol></li><li><a href="#toc21" tabindex="0">マクロ作成で失敗しないコツ3つ</a><ol><li><a href="#toc22" tabindex="0">Option Explicitで変数を宣言する</a></li><li><a href="#toc23" tabindex="0">まずはマクロの記録から始める</a></li><li><a href="#toc24" tabindex="0">エラーが出たらデバッグする</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a><ol><li><a href="#toc26" tabindex="0">この記事のポイント</a></li><li><a href="#toc27" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのVBAマクロとは</span></h2>



<p>VBAマクロとは、Excelの操作を自動化する仕組みのことです。手作業で行っている入力や書式設定を、コードで一括実行できます。</p>



<h3 class="wp-block-heading"><span id="toc2">VBAとマクロの違い</span></h3>



<p>「VBA」と「マクロ」は混同されがちですが、厳密には意味が異なります。</p>



<ul class="wp-block-list"><li><strong>マクロ</strong>: Excelの操作を記録・再生する機能の総称</li><li><strong>VBA</strong>: マクロを動かすためのプログラミング言語（Visual Basic for Applications）</li></ul>



<p>つまり、VBAという言語を使ってマクロを作る、という関係です。詳しくは<a href="https://mashukabu.com/excel-vba-macro-difference/">Excel VBAとマクロの違い</a>の記事で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc3">マクロでできること</span></h3>



<p>マクロを使うと、以下のような作業を自動化できます。</p>



<ul class="wp-block-list"><li>データの入力・コピー・貼り付け</li><li>セルの書式設定（色・フォント・罫線など）</li><li>複数シートへのデータ転記</li><li>定型レポートの作成</li><li>ファイルの保存・印刷</li></ul>



<p>手作業で10分かかる作業が、マクロなら数秒で終わることもあります。具体的な自動化の活用例は<a href="https://mashukabu.com/excel-vba-automation-guide/">VBAで仕事を自動化する方法</a>でも紹介していますよ。</p>



<h2 class="wp-block-heading"><span id="toc4">初めてのExcelマクロを作る手順</span></h2>



<p>ここからは、実際にマクロを作る手順を5ステップで説明します。プログラミング未経験でも大丈夫ですよ。</p>



<h3 class="wp-block-heading"><span id="toc5">開発タブを表示する</span></h3>



<p>Excelの初期設定では「開発」タブが非表示です。まずはこれを表示させましょう。</p>



<ol class="wp-block-list"><li>「ファイル」→「オプション」をクリック</li><li>「リボンのユーザー設定」を選択</li><li>右側の一覧で「開発」にチェックを入れる</li><li>「OK」をクリック</li></ol>



<p>これでリボンに「開発」タブが表示されます。詳しい手順は<a href="https://mashukabu.com/excel-vba-before-study-explanation/">開発タブを表示する方法</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc6">VBE（Visual Basic Editor）を開く</span></h3>



<p>VBE（Visual Basic Editor）はVBAコードを書くための専用画面です。以下の方法で開けます。</p>



<ul class="wp-block-list"><li>「開発」タブ →「Visual Basic」をクリック</li><li>ショートカットキー: <code>Alt + F11</code></li></ul>



<p>VBEが開くと、左側に「プロジェクトエクスプローラー」が表示されます。ここにブックやシートの一覧が並んでいますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">標準モジュールを追加する</span></h3>



<p>VBAコードは「標準モジュール」に書きます。追加の手順は次のとおりです。</p>



<ol class="wp-block-list"><li>VBEのメニューから「挿入」→「標準モジュール」をクリック</li><li>右側にコード入力画面が表示される</li></ol>



<p>この白い画面にコードを書いていきます。</p>



<h3 class="wp-block-heading"><span id="toc8">コードを入力して実行する</span></h3>



<p>試しに、メッセージを表示するコードを書いてみましょう。</p>



<pre class="wp-block-code"><code>Sub はじめてのマクロ()
    MsgBox &quot;Hello VBA!&quot;
End Sub</code></pre>



<p><code>Sub</code> から <code>End Sub</code> までが1つのマクロです。入力できたら、以下の方法で実行します。</p>



<ol class="wp-block-list"><li>カーソルをコードの中に置く</li><li><code>F5</code> キーを押す（または「実行」→「Sub/ユーザーフォームの実行」）</li></ol>



<p>「Hello VBA!」というメッセージが表示されたら成功です。</p>



<h3 class="wp-block-heading"><span id="toc9">マクロ有効ブック(.xlsm)で保存する</span></h3>



<p>マクロを含むファイルは、通常の <code>.xlsx</code> 形式では保存できません。「マクロ有効ブック（.xlsm）」で保存する必要があります。</p>



<ol class="wp-block-list"><li>「ファイル」→「名前を付けて保存」をクリック</li><li>ファイルの種類で「Excelマクロ有効ブック(*.xlsm)」を選ぶ</li><li>「保存」をクリック</li></ol>



<p><code>.xlsx</code> のまま保存すると、マクロが消えてしまいます。ファイル形式の詳しい違いは<a href="https://mashukabu.com/excel-vba-filetype-explanation/">VBAのファイル形式</a>で解説していますよ。</p>



<h2 class="wp-block-heading"><span id="toc10">よく使うVBAコード10選</span></h2>



<p>ここからは、実務でよく使うVBAコードを10個紹介します。コピーしてVBEに貼り付ければ、すぐに試せます。</p>



<h3 class="wp-block-heading"><span id="toc11">1. セルに値を入力する</span></h3>



<pre class="wp-block-code"><code>Sub セルに入力()
    Range(&quot;A1&quot;).Value = &quot;売上データ&quot;
    Range(&quot;B1&quot;).Value = 10000
End Sub</code></pre>



<p><a href="https://mashukabu.com/excel-vba-howto-use-range/">Rangeの使い方</a>でセル指定の基本を学べます。<code>Cells</code>を使った指定方法もあるので、<a href="https://mashukabu.com/excel-vba-range-cells/">RangeとCellsの違い</a>もあわせて確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc12">2. セルの値を別のセルにコピーする</span></h3>



<pre class="wp-block-code"><code>Sub セルをコピー()
    Range(&quot;A1&quot;).Copy Destination:=Range(&quot;B1&quot;)
End Sub</code></pre>



<p><code>Copy</code> メソッドに <code>Destination</code> を指定すると、貼り付け先を直接選べます。</p>



<h3 class="wp-block-heading"><span id="toc13">3. 最終行を取得する</span></h3>



<pre class="wp-block-code"><code>Sub 最終行を取得()
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    MsgBox &quot;最終行は &quot; &amp; lastRow &amp; &quot; 行目です&quot;
End Sub</code></pre>



<p>データの末尾を自動で見つける定番コードです。詳しくは<a href="https://mashukabu.com/excel-vba-howto-get-lastrow/">VBA最終行の取得</a>で3つの方法を比較しています。</p>



<h3 class="wp-block-heading"><span id="toc14">4. 指定範囲をクリアする</span></h3>



<pre class="wp-block-code"><code>Sub 範囲をクリア()
    Range(&quot;A1:D10&quot;).ClearContents
End Sub</code></pre>



<p><code>ClearContents</code> は値だけを消します。書式も含めて消したい場合は <code>Clear</code> を使ってください。</p>



<h3 class="wp-block-heading"><span id="toc15">5. メッセージボックスを表示する</span></h3>



<pre class="wp-block-code"><code>Sub メッセージ表示()
    MsgBox &quot;処理が完了しました&quot;
End Sub</code></pre>



<p>処理の完了通知や確認ダイアログに使います。ユーザーに状況を伝えるのに便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc16">6. 条件によって処理を変える（If文）</span></h3>



<pre class="wp-block-code"><code>Sub 条件分岐()
    If Range(&quot;A1&quot;).Value &gt;= 100 Then
        MsgBox &quot;100以上です&quot;
    Else
        MsgBox &quot;100未満です&quot;
    End If
End Sub</code></pre>



<p><code>If...Then...Else</code> で条件によって処理を切り替えられます。詳しい使い方は<a href="https://mashukabu.com/excel-vba-conditional-branch-explanation/">VBA If文の使い方</a>で解説していますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">7. 同じ処理を繰り返す（For文）</span></h3>



<pre class="wp-block-code"><code>Sub 繰り返し処理()
    Dim i As Long
    For i = 1 To 10
        Cells(i, 1).Value = i
    Next i
End Sub</code></pre>



<p>A1からA10まで連番を入力するコードです。<code>For...Next</code> 文の基本は<a href="https://mashukabu.com/excel-vba-howto-use-for/">VBA For~Next文の使い方</a>で詳しく学べます。</p>



<h3 class="wp-block-heading"><span id="toc18">8. セルの書式を変更する</span></h3>



<pre class="wp-block-code"><code>Sub 書式変更()
    Range(&quot;A1&quot;).Font.Bold = True
    Range(&quot;A1&quot;).Font.Color = RGB(255, 0, 0)
    Range(&quot;A1&quot;).Interior.Color = RGB(255, 255, 200)
End Sub</code></pre>



<p>太字・文字色・背景色をコードで設定できます。手作業で何十セルも書式設定するより、ずっと速いですよ。</p>



<h3 class="wp-block-heading"><span id="toc19">9. シートを追加・名前を変更する</span></h3>



<pre class="wp-block-code"><code>Sub シート追加()
    Worksheets.Add After:=ActiveSheet
    ActiveSheet.Name = &quot;集計用&quot;
End Sub</code></pre>



<p>新しいシートを追加して、名前を付けるコードです。月次レポートの自動作成などで活躍します。</p>



<h3 class="wp-block-heading"><span id="toc20">10. ファイルを保存して閉じる</span></h3>



<pre class="wp-block-code"><code>Sub 保存して閉じる()
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub</code></pre>



<p>処理の最後にファイルを保存して閉じるパターンです。複数ファイルの一括処理で重宝しますよ。</p>



<h2 class="wp-block-heading"><span id="toc21">マクロ作成で失敗しないコツ3つ</span></h2>



<p>VBA初心者がつまずきやすいポイントと対策を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc22">Option Explicitで変数を宣言する</span></h3>



<p>コードの先頭に <code>Option Explicit</code> を書くと、変数の宣言が必須になります。</p>



<pre class="wp-block-code"><code>Option Explicit

Sub サンプル()
    Dim total As Long
    total = 100
    MsgBox total
End Sub</code></pre>



<p>変数名のタイプミスをコンパイル時に検出できます。バグの予防に効果的です。設定方法は<a href="https://mashukabu.com/excel-vba-option-explicit/">Option Explicitの使い方</a>を参照してください。</p>



<p>変数の種類やデータ型について詳しく知りたい方は、<a href="https://mashukabu.com/excel-vba-variable-explanation/">VBA変数の使い方</a>もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc23">まずはマクロの記録から始める</span></h3>



<p>コードの書き方がわからないときは、「マクロの記録」を活用しましょう。Excelの操作を記録して、VBAコードに変換してくれる機能です。</p>



<ol class="wp-block-list"><li>「開発」タブ →「マクロの記録」をクリック</li><li>自動化したい操作を手動で行う</li><li>「記録終了」をクリック</li></ol>



<p>記録されたコードをVBEで確認すれば、書き方の参考になります。詳しくは<a href="https://mashukabu.com/howto-macro-recording/">マクロの記録の使い方</a>で手順を解説していますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">エラーが出たらデバッグする</span></h3>



<p>VBAのコードにエラーはつきものです。エラーが出ても慌てないでください。</p>



<ul class="wp-block-list"><li><strong>コンパイルエラー</strong>: コードの文法ミス。赤字で表示される箇所を修正する</li><li><strong>実行時エラー</strong>: 実行中に発生。「デバッグ」ボタンで問題箇所が黄色くハイライトされる</li></ul>



<p><code>F8</code> キーを押すと、コードを1行ずつ実行できます。どこで問題が起きているか特定しやすくなりますよ。</p>



<p>もしマクロが止まらなくなった場合は、<a href="https://mashukabu.com/how-to-stop-macro/">マクロが止まらない時の強制終了</a>を参考にしてください。</p>



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



<p>この記事では、Excel VBAマクロの作り方を初心者向けに解説しました。</p>



<h3 class="wp-block-heading"><span id="toc26">この記事のポイント</span></h3>



<ul class="wp-block-list"><li>VBAはマクロを動かすプログラミング言語。マクロは操作を自動化する仕組み</li><li>開発タブの表示 → VBE起動 → モジュール追加 → コード入力 → .xlsmで保存の5ステップで始められる</li><li>よく使うコード10選を覚えれば、実務の自動化がすぐに始められる</li><li><code>Option Explicit</code> と「マクロの記録」を活用すれば、初心者でもミスを減らせる</li></ul>



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



<p>VBAの基礎を身につけたら、次のステップに進んでみましょう。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-vba-learning-roadmap/">Excel VBA学習ロードマップ</a></li><li><a href="https://mashukabu.com/excel-vba-automation-guide/">VBAで仕事を自動化する方法</a></li><li><a href="https://mashukabu.com/excel-vba-howto-use-worksheetfunction/">WorksheetFunctionの使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-vba-macro-beginners-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelとGoogleスプレッドシートの違い｜使い分けと移行の注意点</title>
		<link>https://mashukabu.com/excel-vs-spreadsheet/</link>
					<comments>https://mashukabu.com/excel-vs-spreadsheet/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 12:41:54 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[使い分け]]></category>
		<category><![CDATA[共同編集]]></category>
		<category><![CDATA[業務効率化]]></category>
		<category><![CDATA[比較]]></category>
		<category><![CDATA[移行]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5977</guid>

					<description><![CDATA[ExcelとGoogleスプレッドシートの違いを7つの比較項目で解説。料金・共同編集・関数・マクロなど業務で重要なポイントを比較し、使い分けの判断基準と移行時の注意点を紹介します。]]></description>
										<content:encoded><![CDATA[
<p>「会社でGoogleスプレッドシートを使い始めたけど、Excelと何が違うの？」</p>



<p>異動や入社をきっかけに、こんな疑問を持つ方は多いですよね。見た目は似ているのに、使い勝手が微妙に違います。使い分けを間違えると、作ったファイルが開けなかったり、マクロが動かなかったりと困る場面が出てきます。</p>



<p>この記事では、ExcelとGoogleスプレッドシートの違いを7つの項目で比較します。業務シーン別の使い分けと、移行するときの注意点もあわせて解説します。</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">ExcelとGoogleスプレッドシートの違い【一覧比較表】</a></li><li><a href="#toc2" tabindex="0">Excelの特徴とメリット・デメリット</a><ol><li><a href="#toc3" tabindex="0">Excelが得意なこと</a></li><li><a href="#toc4" tabindex="0">Excelの弱点</a></li></ol></li><li><a href="#toc5" tabindex="0">Googleスプレッドシートの特徴とメリット・デメリット</a><ol><li><a href="#toc6" tabindex="0">スプレッドシートが得意なこと</a></li><li><a href="#toc7" tabindex="0">スプレッドシートの弱点</a></li></ol></li><li><a href="#toc8" tabindex="0">業務シーン別の使い分けガイド</a><ol><li><a href="#toc9" tabindex="0">個人作業中心の場合</a></li><li><a href="#toc10" tabindex="0">チームで共同編集する場合</a></li><li><a href="#toc11" tabindex="0">マクロ・VBAを使う場合</a></li></ol></li><li><a href="#toc12" tabindex="0">ExcelからGoogleスプレッドシートに移行するときの注意点</a><ol><li><a href="#toc13" tabindex="0">関数の互換性</a></li><li><a href="#toc14" tabindex="0">マクロ・VBAの移行</a></li><li><a href="#toc15" tabindex="0">書式・レイアウトの崩れ</a></li></ol></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelとGoogleスプレッドシートの違い【一覧比較表】</span></h2>



<p>まずは結論です。ExcelとGoogleスプレッドシートの主要な違いを一覧表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>料金</td><td>Microsoft 365：年14,900円（個人）/ 月899円〜（法人）</td><td>無料（個人）/ 月680円〜（Google Workspace）</td></tr><tr><td>動作環境</td><td>デスクトップアプリ + Web版</td><td>ブラウザのみ（アプリ版もあり）</td></tr><tr><td>共同編集</td><td>対応（自動保存ON＋OneDrive保存が条件）</td><td>標準でリアルタイム共同編集</td></tr><tr><td>オフライン利用</td><td>デスクトップアプリで完全対応</td><td>Chrome拡張で限定的に対応</td></tr><tr><td>マクロ・自動化</td><td>VBA（Visual Basic for Applications）</td><td>Google Apps Script（JavaScript系）</td></tr><tr><td>AI機能</td><td>Copilot（有料オプション）</td><td>Gemini（Workspace有料プラン）</td></tr><tr><td>データ容量</td><td>約104万行 × 16,384列</td><td>1ファイル1,000万セルまで</td></tr></tbody></table></figure>



<p>ざっくり言うと、<strong>Excelは「個人の高度な分析作業」に強く、Googleスプレッドシートは「チームでの共同作業」に強い</strong>ツールです。</p>



<p>ここから、それぞれの特徴をくわしく見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">Excelの特徴とメリット・デメリット</span></h2>



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



<p>Excelの最大の強みは、<strong>デスクトップアプリの処理能力</strong>です。</p>



<ul class="wp-block-list"><li><strong>大量データの処理</strong>: 数万行のデータでもサクサク動きます。ピボットテーブルや複雑なグラフの作成も得意です</li><li><strong>VBAマクロ</strong>: 定型作業を自動化できます。ボタン1つで請求書を作成するといった高度な自動化が可能です。くわしくは「<a href="https://mashukabu.com/excel-vba-macro-beginners-guide/">Excel VBAマクロ入門</a>」で解説しています</li><li><strong>高度な関数</strong>: XLOOKUP、XMATCH、LAMBDAなど、分析向けの関数が豊富です</li><li><strong>オフライン対応</strong>: インターネットがなくても作業できます。出張先や移動中でも安心です</li><li><strong>Power Query / Power Pivot</strong>: <a href="https://mashukabu.com/modern-excel-explanation/">モダンExcel</a>の機能で、大規模データの変換・集計ができます</li></ul>



<h3 class="wp-block-heading"><span id="toc4">Excelの弱点</span></h3>



<p>一方で、いくつかの弱点もあります。</p>



<ul class="wp-block-list"><li><strong>共同編集のハードル</strong>: リアルタイム共同編集にはOneDrive保存と自動保存ONが必要です。社内ファイルサーバーに保存したExcelファイルでは共同編集できません</li><li><strong>コスト</strong>: Microsoft 365のサブスクリプションが必要です。買い切り版（Excel 2021など）もありますが、最新機能は使えません</li><li><strong>バージョン管理</strong>: 「売上データ_最終版_v3.xlsx」のようなファイル名管理になりがちです</li></ul>



<h2 class="wp-block-heading"><span id="toc5">Googleスプレッドシートの特徴とメリット・デメリット</span></h2>



<h3 class="wp-block-heading"><span id="toc6">スプレッドシートが得意なこと</span></h3>



<p>Googleスプレッドシートの最大の強みは、<strong>リアルタイム共同編集</strong>です。</p>



<ul class="wp-block-list"><li><strong>共同編集</strong>: URLを共有するだけで、複数人が同時に編集できます。誰がどこを編集しているかもリアルタイムで表示されます</li><li><strong>無料で使える</strong>: Googleアカウントがあれば無料で利用可能です</li><li><strong>自動保存</strong>: 変更が自動で保存されます。「保存し忘れた」というトラブルがありません</li><li><strong>独自関数</strong>: ARRAYFORMULA、IMPORTRANGE、GOOGLEFINANCEなど、スプレッドシートにしかない便利な関数があります。たとえば<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>を使えば、条件に合うデータを自動抽出できます</li><li><strong>AI機能</strong>: <a href="https://mashukabu.com/spreadsheet-gemini-ai-function/">Gemini</a>を使って、AIにデータ整理や分析を任せられます</li></ul>



<h3 class="wp-block-heading"><span id="toc7">スプレッドシートの弱点</span></h3>



<p>スプレッドシートにも苦手な部分があります。</p>



<ul class="wp-block-list"><li><strong>大量データの処理速度</strong>: 数万行を超えるとブラウザが重くなります。Excelのデスクトップアプリと比べると処理速度は劣ります</li><li><strong>オフラインの制限</strong>: Chrome拡張で一応対応していますが、機能が制限されます</li><li><strong>VBAが使えない</strong>: Excelのマクロ（VBA）は動きません。代わりにGoogle Apps Script（GAS）を使いますが、VBAとは別の言語です</li><li><strong>印刷レイアウト</strong>: 印刷のきめ細かい設定はExcelの方が得意です</li></ul>



<h2 class="wp-block-heading"><span id="toc8">業務シーン別の使い分けガイド</span></h2>



<p>「結局どっちを使えばいいの？」と迷ったら、以下の判断基準を参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc9">個人作業中心の場合</span></h3>



<p><strong>Excelがおすすめ</strong>です。</p>



<p>大量データの集計やピボットテーブルでの分析など、個人で黙々と作業する場面ではExcelの処理能力が活きます。オフラインでも使えるので、ネット環境を気にする必要もありません。</p>



<h3 class="wp-block-heading"><span id="toc10">チームで共同編集する場合</span></h3>



<p><strong>Googleスプレッドシートがおすすめ</strong>です。</p>



<p>シフト表、進捗管理表、アンケート集計など、複数人で同じファイルを編集する業務に向いています。URLを共有するだけで始められるので、導入のハードルも低いです。</p>



<h3 class="wp-block-heading"><span id="toc11">マクロ・VBAを使う場合</span></h3>



<p><strong>Excelが必須</strong>です。</p>



<p>VBAマクロはExcel専用です。既存のVBAマクロがある業務では、Googleスプレッドシートへの移行は慎重に検討してください。Google Apps Scriptで同じ処理を書き直す必要があり、移行コストが高くなります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>迷ったときのシンプルな判断基準です。<br>&#8211; 1人で使う + 大量データ → <strong>Excel</strong><br>&#8211; チームで使う + リアルタイム共有 → <strong>Googleスプレッドシート</strong><br>&#8211; VBAマクロが必要 → <strong>Excel一択</strong></p></blockquote>



<h2 class="wp-block-heading"><span id="toc12">ExcelからGoogleスプレッドシートに移行するときの注意点</span></h2>



<p>会社の方針でGoogleスプレッドシートに移行するケースも増えています。移行時に注意すべき3つのポイントを押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc13">関数の互換性</span></h3>



<p>基本的な関数（SUM、IF、VLOOKUPなど）はそのまま使えます。ただし、一部の関数は互換性がありません。</p>



<figure class="wp-block-table"><table><thead><tr><th>状況</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>複数条件で検索</td><td>XLOOKUP / XMATCH</td><td><a href="https://mashukabu.com/spreadsheet-xlookup/">XLOOKUP</a>は対応済み。XMATCHは未対応</td></tr><tr><td>配列の一括処理</td><td>スピル（自動展開）</td><td>ARRAYFORMULA関数で囲む</td></tr><tr><td>他ファイル参照</td><td>外部参照リンク</td><td>IMPORTRANGE関数</td></tr><tr><td>データの並べ替え</td><td>SORT関数</td><td><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT / SORTN / SORTBY関数</a></td></tr></tbody></table></figure>



<p>移行後は、エラーが出ていないかシート全体を確認することをおすすめします。</p>



<h3 class="wp-block-heading"><span id="toc14">マクロ・VBAの移行</span></h3>



<p><strong>VBAマクロはGoogleスプレッドシートでは動きません。</strong></p>



<p>Googleスプレッドシートの自動化にはGoogle Apps Script（GAS）を使います。GASはJavaScriptベースの言語なので、VBAとは文法が違います。簡単なマクロなら書き直せますが、複雑なVBAマクロの移行には専門知識が必要です。</p>



<p>移行前に、現在使っているVBAマクロの一覧を作って、どれが本当に必要かを棚卸ししましょう。使っていないマクロまで移行する必要はありません。</p>



<h3 class="wp-block-heading"><span id="toc15">書式・レイアウトの崩れ</span></h3>



<p>ExcelファイルをGoogleスプレッドシートで開くと、以下のような崩れが起きることがあります。</p>



<ul class="wp-block-list"><li><strong>条件付き書式</strong>: 一部のルールが正しく変換されない</li><li><strong>グラフ</strong>: デザインや書式設定が変わる場合がある</li><li><strong>セル幅・フォント</strong>: 微妙にずれることがある</li><li><strong>ピボットテーブル</strong>: Googleスプレッドシートの形式に変換される</li></ul>



<p>大事なファイルは、移行後にレイアウトを手動で確認・調整してください。</p>



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



<p>ExcelとGoogleスプレッドシートの違いを振り返りましょう。</p>



<ul class="wp-block-list"><li><strong>Excel</strong>: デスクトップアプリの高い処理能力。大量データ分析・VBAマクロ・オフライン作業が得意</li><li><strong>Googleスプレッドシート</strong>: リアルタイム共同編集。チーム作業・無料利用・自動保存が得意</li><li><strong>移行時</strong>: 関数互換性・VBA非対応・書式崩れの3点に注意</li></ul>



<p>どちらが「正解」というものではなく、業務内容に合わせて使い分けるのがベストです。チームでの共同作業が多い方は、まずGoogleスプレッドシートの基本操作から始めてみてください。Excel関数の知識がある方なら、<a href="https://mashukabu.com/excel-function/">スプレッドシートの関数</a>もすぐに使いこなせるはずです。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-vs-spreadsheet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Googleスプレッドシートの使い方入門｜Excelユーザーが最初に知るべき10のこと</title>
		<link>https://mashukabu.com/google-spreadsheet-beginner-guide/</link>
					<comments>https://mashukabu.com/google-spreadsheet-beginner-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 12:41:45 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[使い方]]></category>
		<category><![CDATA[入門]]></category>
		<category><![CDATA[共同編集]]></category>
		<category><![CDATA[移行]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5973</guid>

					<description><![CDATA[ExcelユーザーがGoogleスプレッドシートを使い始めるときに最初に知るべき10のことを解説。基本操作・Excelとの差分・固有関数・IMPORTRANGE・共有設定まで、移行初日から業務で動けるよう一覧でまとめました。]]></description>
										<content:encoded><![CDATA[

  <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">Googleスプレッドシートとは｜Excelと何が違うのか</a><ol><li><a href="#toc2" tabindex="0">クラウド保存・自動保存が標準</a></li><li><a href="#toc3" tabindex="0">共同編集はリアルタイムで最大100人</a></li><li><a href="#toc4" tabindex="0">無料で使えるがOffline利用に注意</a></li></ol></li><li><a href="#toc5" tabindex="0">最初の5分｜スプレッドシートを開いて新規作成する</a><ol><li><a href="#toc6" tabindex="0">Googleアカウントとドライブの関係</a></li><li><a href="#toc7" tabindex="0">sheet.newで即作成する方法</a></li><li><a href="#toc8" tabindex="0">Excelファイル（.xlsx）をそのまま開く手順</a></li></ol></li><li><a href="#toc9" tabindex="0">画面構成と基本操作｜Excelとの対応早見表</a><ol><li><a href="#toc10" tabindex="0">メニューバー・ツールバーの見方</a></li><li><a href="#toc11" tabindex="0">セル操作・行列の挿入・削除</a></li><li><a href="#toc12" tabindex="0">Excelと異なるショートカット一覧</a></li></ol></li><li><a href="#toc13" tabindex="0">知っておくべき差分10選｜Excelユーザーが詰まるポイント</a><ol><li><a href="#toc14" tabindex="0">保存操作は不要（Ctrl+Sの意味が変わる）</a></li><li><a href="#toc15" tabindex="0">シートのタブ色・名前変更の場所</a></li><li><a href="#toc16" tabindex="0">印刷設定の違い</a></li><li><a href="#toc17" tabindex="0">マクロはGoogle Apps Script（VBAではない）</a></li><li><a href="#toc18" tabindex="0">Excel固有関数が使えないケースがある</a></li></ol></li><li><a href="#toc19" tabindex="0">スプレッドシート固有の便利機能｜Excelにないこと</a><ol><li><a href="#toc20" tabindex="0">IMPORTRANGE関数で別ファイルのデータを参照</a></li><li><a href="#toc21" tabindex="0">QUERY関数でSQLライクなデータ抽出</a></li><li><a href="#toc22" tabindex="0">Googleフォームとの連携</a></li></ol></li><li><a href="#toc23" tabindex="0">よく使う関数一覧｜Excelとスプレッドシートの対応表</a><ol><li><a href="#toc24" tabindex="0">VLOOKUP・IF・SUMIF・COUNTIFは同じ書き方</a></li><li><a href="#toc25" tabindex="0">Excelにあってスプレッドシートにない関数</a></li><li><a href="#toc26" tabindex="0">スプレッドシートだけの関数</a></li></ol></li><li><a href="#toc27" tabindex="0">共有・権限設定の基本</a><ol><li><a href="#toc28" tabindex="0">閲覧者・編集者・コメント者の違い</a></li><li><a href="#toc29" tabindex="0">リンク共有とユーザー指定共有</a></li></ol></li><li><a href="#toc30" tabindex="0">まとめ｜迷ったらこの記事群で深掘りを</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Googleスプレッドシートとは｜Excelと何が違うのか</span></h2>



<p>「来月から部署でGoogleスプレッドシートを使うことになった。でもExcelしか触ったことがない。」</p>



<p>こんな状況、不安ですよね。使い方がわからないまま業務に入ると、周囲に質問ばかりで気まずい思いをすることもあります。</p>



<p>安心してください。ExcelとGoogleスプレッドシートは見た目も操作もよく似ています。この記事ではExcelユーザーが最初に知るべき10のポイントを整理しました。基本操作からExcelとの差分、スプレッドシート固有の便利機能まで、移行初日から業務で動けるように一覧でまとめています。</p>



<p>さらに詳しい比較が気になる方は「<a href="https://mashukabu.com/excel-vs-spreadsheet/">ExcelとGoogleスプレッドシートの違い｜使い分けと移行の注意点</a>」もあわせてどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc2">クラウド保存・自動保存が標準</span></h3>



<p>Googleスプレッドシートのファイルは、すべてGoogleドライブ上に保存されます。パソコンのローカルフォルダに保存するExcelとは、ここが根本的に違います。</p>



<p>最大のメリットは<strong>自動保存</strong>です。セルに文字を入力した瞬間、クラウドへ即時保存されます。Excelでいう「Ctrl+S」の手動保存は不要です。「保存し忘れて作業が消えた」という事故が起きません。</p>



<p>さらに、<strong>バージョン履歴</strong>が自動で残ります。メニューの「ファイル」>「変更履歴」>「変更履歴を表示」から、いつでも過去の状態に戻せます。「さっきの数字に戻したい」というときも安心です。</p>



<h3 class="wp-block-heading"><span id="toc3">共同編集はリアルタイムで最大100人</span></h3>



<p>Googleスプレッドシートは<strong>最大100人が同時に編集</strong>できます。Excelの共同編集はOneDrive保存や自動保存ONなどの条件がありますが、スプレッドシートはURLを共有するだけです。</p>



<p>編集中の人のカーソルがリアルタイムで表示されるので、「誰がどこを触っているか」がひと目でわかります。チームでの進捗管理表や在庫リストなど、複数人が同じファイルを触る業務には特に向いています。</p>



<h3 class="wp-block-heading"><span id="toc4">無料で使えるがOffline利用に注意</span></h3>



<p>Googleアカウントがあれば、Googleスプレッドシートは<strong>無料</strong>で使えます。Excelのように Microsoft 365 のサブスクリプションは不要です。</p>



<p>ただし注意点が1つあります。<strong>オフラインでの利用は限定的</strong>です。オフラインで使うにはChromeまたはEdgeブラウザで、「Googleオフラインドキュメント」というChrome拡張機能を事前にインストールしておく必要があります。ネット環境がない出張先で急に使おうとしても、事前準備がなければ開けません。</p>



<p>日常的にオフラインで作業する方は、Excel併用も検討してください。</p>



<h2 class="wp-block-heading"><span id="toc5">最初の5分｜スプレッドシートを開いて新規作成する</span></h2>



<p>ここからは実際の操作手順を解説します。Googleアカウントさえあれば、5分でスプレッドシートを使い始められます。</p>



<h3 class="wp-block-heading"><span id="toc6">Googleアカウントとドライブの関係</span></h3>



<p>Googleスプレッドシートを使うには<strong>Googleアカウント</strong>が必要です。会社でGoogle Workspaceを導入している場合は、会社のメールアドレスがそのままGoogleアカウントになっています。</p>



<p>作成したスプレッドシートは自動的に<strong>Googleドライブ</strong>に保存されます。Googleドライブは、Windowsでいう「エクスプローラー」のようなファイル管理画面です。フォルダを作ってファイルを整理できます。</p>



<p>覚えておくポイントは次の3つです。</p>



<ul class="wp-block-list"><li>スプレッドシートのファイルはすべてGoogleドライブ上に存在する</li><li>「マイドライブ」が個人フォルダ、「共有ドライブ」がチーム共有フォルダ</li><li>ファイルのURLがそのままアクセス先になる（メールでURLを送ればファイル共有できる）</li></ul>



<h3 class="wp-block-heading"><span id="toc7">sheet.newで即作成する方法</span></h3>



<p>新しいスプレッドシートを作る一番早い方法は、ブラウザのアドレスバーに以下を入力することです。</p>



<pre class="wp-block-code"><code>sheet.new</code></pre>



<p>たったこれだけで、新規スプレッドシートが開きます。Googleドライブを開いて「新規作成」をクリックする手順を省略できるので、覚えておくと便利です。</p>



<p>通常の手順で作成する場合は、以下のとおりです。</p>



<ol class="wp-block-list"><li>Googleドライブにアクセスする</li><li>左上の「+ 新規」ボタンをクリックする</li><li>「Googleスプレッドシート」>「空白のスプレッドシート」を選択する</li></ol>



<h3 class="wp-block-heading"><span id="toc8">Excelファイル（.xlsx）をそのまま開く手順</span></h3>



<p>既存のExcelファイルをスプレッドシートで編集したい場合、2つの方法があります。</p>



<p><strong>方法1: Googleドライブにアップロードする</strong></p>



<ol class="wp-block-list"><li>Googleドライブにアクセスする</li><li>.xlsxファイルをドラッグ&#038;ドロップでアップロードする</li><li>アップロードされたファイルをダブルクリックで開く</li><li>上部に表示される「Googleスプレッドシートで開く」をクリックする</li></ol>



<p><strong>方法2: 自動変換を設定する</strong></p>



<p>Googleドライブの設定で「アップロードしたファイルをGoogleエディタ形式に変換する」をONにすると、アップロード時に自動でスプレッドシート形式に変換されます。</p>



<p>どちらの方法でも、関数や書式は基本的に引き継がれます。ただしVBAマクロやPower Queryは変換時に削除されるので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc9">画面構成と基本操作｜Excelとの対応早見表</span></h2>



<p>スプレッドシートの画面はExcelとよく似ています。ここではExcelユーザーが迷いやすい画面の違いと、操作の対応表を確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">メニューバー・ツールバーの見方</span></h3>



<p>スプレッドシートの画面は上から順に3つのエリアに分かれます。</p>



<ul class="wp-block-list"><li><strong>メニューバー</strong>: 「ファイル」「編集」「表示」「挿入」「表示形式」「データ」「ツール」など。Excelの「タブ」+「リボン」がフラットなメニューにまとまっています</li><li><strong>ツールバー</strong>: 太字、フォントサイズ、セル色、罫線などのアイコンが1行に並びます。Excelのリボンに比べるとシンプルです</li><li><strong>数式バー</strong>: セルの内容や数式を表示・編集するバー。Excelと同じ使い方です</li></ul>



<p>Excelの「リボン」は機能別のタブ切り替えですが、スプレッドシートはメニューから直接機能にアクセスします。最初は「あの機能どこだっけ」と思うかもしれませんが、1〜2日触れば慣れます。</p>



<h3 class="wp-block-heading"><span id="toc11">セル操作・行列の挿入・削除</span></h3>



<p>基本操作はExcelとほぼ同じです。</p>



<figure class="wp-block-table"><table><thead><tr><th>操作</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>セルの編集</td><td>ダブルクリック / F2</td><td>ダブルクリック / F2</td></tr><tr><td>行の挿入</td><td>右クリック > 挿入</td><td>右クリック > 上に1行挿入</td></tr><tr><td>列の削除</td><td>右クリック > 削除</td><td>右クリック > 列を削除</td></tr><tr><td>セル内改行</td><td>Alt + Enter</td><td><strong>Ctrl + Enter</strong>（Mac: Cmd + Enter）</td></tr><tr><td>連続データの入力</td><td>オートフィル（右下ドラッグ）</td><td>オートフィル（右下ドラッグ）</td></tr><tr><td>セルの書式設定</td><td>Ctrl + 1</td><td>メニュー「表示形式」 > 「数値」</td></tr></tbody></table></figure>



<p>注意すべきは<strong>セル内改行</strong>です。Excelでは Alt + Enter ですが、スプレッドシートでは Ctrl + Enter に変わります。これは多くのExcelユーザーがつまずくポイントです。</p>



<h3 class="wp-block-heading"><span id="toc12">Excelと異なるショートカット一覧</span></h3>



<p>スプレッドシートのショートカットは、Excelと共通のものが多いですが、一部異なります。よく使うものを比較表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>操作</th><th>Excel（Windows）</th><th>スプレッドシート（Windows）</th></tr></thead><tbody><tr><td>上書き保存</td><td>Ctrl + S</td><td>不要（自動保存）</td></tr><tr><td>セル内改行</td><td>Alt + Enter</td><td>Ctrl + Enter</td></tr><tr><td>セルの書式設定</td><td>Ctrl + 1</td><td>対応なし（メニューから）</td></tr><tr><td>行の非表示</td><td>Ctrl + 9</td><td>Ctrl + Alt + 9</td></tr><tr><td>列の非表示</td><td>Ctrl + 0</td><td>Ctrl + Alt + 0</td></tr><tr><td>シートの移動</td><td>Ctrl + Page Up/Down</td><td>Ctrl + Shift + Page Up/Down</td></tr><tr><td>検索と置換</td><td>Ctrl + H</td><td>Ctrl + H（同じ）</td></tr><tr><td>絶対参照の切替</td><td>F4</td><td>F4（同じ）</td></tr></tbody></table></figure>



<p>「Ctrl + S」を押すクセがある方も安心してください。スプレッドシートで押しても何も起きません（自動保存済みのため）。</p>



<h2 class="wp-block-heading"><span id="toc13">知っておくべき差分10選｜Excelユーザーが詰まるポイント</span></h2>



<p>Excelとスプレッドシートは似ていますが、細かい違いが業務中のストレスになることがあります。ここではExcelユーザーが特につまずきやすい差分をまとめます。</p>



<h3 class="wp-block-heading"><span id="toc14">保存操作は不要（Ctrl+Sの意味が変わる）</span></h3>



<p>先ほども触れましたが、これが最大の違いです。スプレッドシートは<strong>すべての変更が自動保存</strong>されます。</p>



<p>Excelユーザーの習慣で「Ctrl + S」を押しても問題ありませんが、保存ダイアログは出ません。自動保存の状態は、画面上部に「ドライブに保存しました」と表示されることで確認できます。</p>



<p>逆に注意が必要なのは、<strong>間違った操作も即座に保存される</strong>ことです。誤って大量のデータを消してしまった場合は、「Ctrl + Z」で戻すか、「変更履歴」から復元してください。</p>



<h3 class="wp-block-heading"><span id="toc15">シートのタブ色・名前変更の場所</span></h3>



<p>Excelではシートタブを右クリックして色や名前を変更しますよね。スプレッドシートでも同じく右クリック（またはタブ横の「▼」）から変更できます。</p>



<p>メニューの場所はほぼ同じですが、「シートタブの色」という表記が「色を変更」になっているなど、微妙に名前が異なります。迷ったらシートタブを右クリックすれば一覧が表示されます。</p>



<h3 class="wp-block-heading"><span id="toc16">印刷設定の違い</span></h3>



<p>スプレッドシートの印刷設定は、Excelに比べると<strong>できることが少ない</strong>です。</p>



<p>Excelでは「ページレイアウト」タブから余白、ヘッダー/フッター、改ページなどを細かく設定できます。スプレッドシートでは「ファイル」>「印刷」から設定しますが、以下の点に注意してください。</p>



<ul class="wp-block-list"><li>ヘッダー/フッターの自由度が低い</li><li>改ページプレビューがない（カスタム改ページは設定可能）</li><li>印刷範囲の設定がメニューからやや見つけにくい</li></ul>



<p>印刷を多用する業務では、一度PDFにエクスポートしてから印刷するほうがレイアウトが安定します。</p>



<h3 class="wp-block-heading"><span id="toc17">マクロはGoogle Apps Script（VBAではない）</span></h3>



<p>ExcelのVBAマクロは、スプレッドシートでは<strong>一切動作しません</strong>。.xlsxファイルをスプレッドシートに変換する際、VBAコードは自動的に削除されます。</p>



<p>スプレッドシートでマクロに相当する機能は<strong>Google Apps Script（GAS）</strong> です。GASはJavaScriptベースのスクリプト言語で、VBAとは文法が異なります。</p>



<pre class="wp-block-code"><code>// GASのサンプル: A1セルに「Hello」と入力する
function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(&quot;A1&quot;).setValue(&quot;Hello&quot;);
}</code></pre>



<p>VBAでいう <code>Range("A1").Value = "Hello"</code> に相当するコードですが、書き方が違うことがわかります。GASはメニューの「拡張機能」>「Apps Script」から開けます。</p>



<p>なお、ExcelのPower Queryもスプレッドシートには非対応です。データの加工・変換はQUERY関数やGASで代替することになります。</p>



<h3 class="wp-block-heading"><span id="toc18">Excel固有関数が使えないケースがある</span></h3>



<p>ExcelとGoogleスプレッドシートは多くの関数を共有していますが、一部の関数はExcel専用でスプレッドシートでは使えません。代表例を挙げます。</p>



<ul class="wp-block-list"><li><strong>XLOOKUP</strong>: スプレッドシートでも使えますが、比較的新しく追加された関数で、古い解説記事には「非対応」と書かれている場合があります。現在は問題なく使えます</li><li><strong>LAMBDA / LET</strong>: スプレッドシートでも対応済みです</li><li><strong>PHONETIC</strong>: 日本語のふりがな取得はExcel専用です。スプレッドシートにはありません</li><li><strong>DGET / DSUM系</strong>: データベース関数の一部は互換性に注意が必要です</li></ul>



<p>逆に、スプレッドシートにしかない関数もあります（次のセクションで紹介します）。移行時は使っている関数の互換性を事前にチェックしておくと安心です。</p>



<h2 class="wp-block-heading"><span id="toc19">スプレッドシート固有の便利機能｜Excelにないこと</span></h2>



<p>Googleスプレッドシートには、Excelにはない独自の便利機能があります。ここでは特に実務で使用頻度が高い3つを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc20">IMPORTRANGE関数で別ファイルのデータを参照</span></h3>



<p>IMPORTRANGE関数は、<strong>別のスプレッドシートからデータを参照できる</strong>関数です。Excelにはないスプレッドシート固有の機能です。</p>



<pre class="wp-block-code"><code>=IMPORTRANGE(&quot;スプレッドシートのURL&quot;, &quot;シート名!A1:D10&quot;)</code></pre>



<p>たとえば、本社の売上管理シートから支店の集計シートへデータを自動連携する、といった使い方ができます。手作業でのコピペが不要になるので、転記ミスを防げます。</p>



<p>初回使用時には「アクセスを許可」というボタンが表示されます。これをクリックしないとデータが取得できないので注意してください。</p>



<p>くわしい使い方は「<a href="https://mashukabu.com/spreadsheet-importrange-function/">スプレッドシートのIMPORTRANGE関数の使い方</a>」で解説しています。</p>



<h3 class="wp-block-heading"><span id="toc21">QUERY関数でSQLライクなデータ抽出</span></h3>



<p>QUERY関数は、スプレッドシートの中で<strong>SQLに似た構文でデータを抽出・集計</strong>できる関数です。</p>



<pre class="wp-block-code"><code>=QUERY(A1:D100, &quot;SELECT A, B WHERE C &gt; 1000 ORDER BY D DESC&quot;)</code></pre>



<p>この例では、C列が1000より大きいデータを抽出し、D列の降順で並べ替えています。複雑な条件指定も1つの数式で実現できます。フィルタ機能より手間がかかりません。</p>



<p>QUERY関数を使いこなすと、ピボットテーブルを作らなくてもデータ集計ができるようになります。データベースのSQLを扱ったことがある方は、すぐに馴染めるはずです。</p>



<h3 class="wp-block-heading"><span id="toc22">Googleフォームとの連携</span></h3>



<p>Googleフォームで集めた回答データは、<strong>ボタン1つでスプレッドシートに自動連携</strong>できます。アンケート結果、問い合わせ、申請書など、フォーム入力のデータがリアルタイムでスプレッドシートに蓄積されます。</p>



<p>設定手順は次のとおりです。</p>



<ol class="wp-block-list"><li>Googleフォームの「回答」タブを開く</li><li>スプレッドシートのアイコンをクリックする</li><li>「新しいスプレッドシートを作成」または「既存のスプレッドシートを選択」を選ぶ</li></ol>



<p>これだけで、フォームに新しい回答が入るたびに自動でスプレッドシートに行が追加されます。集計関数やQUERY関数と組み合わせれば、フォームの回答をリアルタイムで集計するダッシュボードも作れます。</p>



<h2 class="wp-block-heading"><span id="toc23">よく使う関数一覧｜Excelとスプレッドシートの対応表</span></h2>



<p>Excelで普段使っている関数が、スプレッドシートでも同じように使えるかは気になるポイントですよね。ここでは互換性を整理します。</p>



<h3 class="wp-block-heading"><span id="toc24">VLOOKUP・IF・SUMIF・COUNTIFは同じ書き方</span></h3>



<p>安心してください。Excelで頻出する主要関数は、スプレッドシートでも<strong>まったく同じ書き方</strong>で使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th><th>互換性</th></tr></thead><tbody><tr><td>VLOOKUP</td><td>表からデータを検索</td><td>完全互換</td></tr><tr><td>XLOOKUP</td><td>柔軟な検索（VLOOKUPの上位版）</td><td>完全互換</td></tr><tr><td>IF</td><td>条件分岐</td><td>完全互換</td></tr><tr><td>SUMIF / SUMIFS</td><td>条件付き合計</td><td>完全互換</td></tr><tr><td>COUNTIF / COUNTIFS</td><td>条件付きカウント</td><td>完全互換</td></tr><tr><td>AVERAGEIF</td><td>条件付き平均</td><td>完全互換</td></tr><tr><td>INDEX + MATCH</td><td>柔軟な表引き</td><td>完全互換</td></tr><tr><td>TEXT</td><td>日付・数値の書式変換</td><td>完全互換</td></tr><tr><td>IFERROR</td><td>エラー時の代替値</td><td>完全互換</td></tr><tr><td>LEFT / RIGHT / MID</td><td>文字列の抽出</td><td>完全互換</td></tr></tbody></table></figure>



<p>VLOOKUPのくわしい使い方は「<a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方</a>」、IF関数は「<a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a>」で解説しています。XLOOKUPに興味がある方は「<a href="https://mashukabu.com/spreadsheet-xlookup/">スプレッドシートのXLOOKUP関数の使い方</a>」もどうぞ。</p>



<h3 class="wp-block-heading"><span id="toc25">Excelにあってスプレッドシートにない関数</span></h3>



<p>以下の関数はExcel専用で、スプレッドシートでは使えないか、動作が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>Excel関数</th><th>状況</th><th>代替方法</th></tr></thead><tbody><tr><td>PHONETIC</td><td>非対応</td><td>GASで自作するか、手入力</td></tr><tr><td>DGET</td><td>動作が異なる場合あり</td><td>QUERY関数で代替</td></tr><tr><td>AGGREGATE</td><td>非対応</td><td>SUBTOTAL + フィルタで代替</td></tr><tr><td>WEBSERVICE</td><td>非対応</td><td>IMPORTDATA / GASで代替</td></tr></tbody></table></figure>



<p>移行前に自分のExcelファイルで使っている関数を一度確認し、非対応のものがないかチェックしておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc26">スプレッドシートだけの関数</span></h3>



<p>逆に、スプレッドシートには<strong>Excelにはない独自関数</strong>があります。これらを使いこなすと業務の幅が広がります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th></tr></thead><tbody><tr><td>IMPORTRANGE</td><td>別ファイルのデータを参照</td></tr><tr><td>QUERY</td><td>SQLライクなデータ抽出・集計</td></tr><tr><td>ARRAYFORMULA</td><td>1つの数式で範囲全体に計算を適用</td></tr><tr><td>GOOGLETRANSLATE</td><td>セル内のテキストを翻訳</td></tr><tr><td>GOOGLEFINANCE</td><td>株価・為替データの取得</td></tr><tr><td>IMAGE</td><td>セル内に画像を表示</td></tr><tr><td>IMPORTDATA</td><td>CSVやTSVデータをWebから取得</td></tr><tr><td>IMPORTHTML</td><td>Webページの表やリストを取得</td></tr></tbody></table></figure>



<p>たとえば <code>=GOOGLETRANSLATE(A1, "ja", "en")</code> と入力すれば、A1セルの日本語が英語に翻訳されます。海外とのやり取りがある業務では重宝します。</p>



<h2 class="wp-block-heading"><span id="toc27">共有・権限設定の基本</span></h2>



<p>スプレッドシートの強みである共有機能を使いこなすには、権限設定の理解が欠かせません。間違った権限設定は情報漏洩にもつながるので、しっかり押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc28">閲覧者・編集者・コメント者の違い</span></h3>



<p>スプレッドシートの共有権限は3段階です。</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>コメント者</td><td>閲覧 + コメントの追加</td><td>レビューしてもらうとき</td></tr><tr><td>編集者</td><td>すべての操作が可能</td><td>一緒に作業するメンバー</td></tr></tbody></table></figure>



<p>権限は共有後でも変更できます。「最初は編集者で共有して、完成後に閲覧者に変更する」という運用もよく使われます。</p>



<h3 class="wp-block-heading"><span id="toc29">リンク共有とユーザー指定共有</span></h3>



<p>共有方法は大きく2つあります。</p>



<p><strong>ユーザー指定共有</strong>は、相手のメールアドレスを入力して共有する方法です。指定した人だけがアクセスできるので、機密性の高い資料に向いています。</p>



<p><strong>リンク共有</strong>は、URLを知っている人なら誰でもアクセスできる方法です。「リンクを知っている全員」に権限を付与する形になります。社内の広く共有するドキュメントや、チーム全員が使うテンプレートに便利です。</p>



<p>設定手順は次のとおりです。</p>



<ol class="wp-block-list"><li>スプレッドシート右上の「共有」ボタンをクリックする</li><li>「ユーザーやグループを追加」に相手のメールアドレスを入力する（ユーザー指定の場合）</li><li>または「一般的なアクセス」を「リンクを知っている全員」に変更する（リンク共有の場合）</li><li>権限（閲覧者/コメント者/編集者）を選択する</li></ol>



<p>会社のGoogle Workspaceを使っている場合は、「組織内のユーザーのみ」に制限するオプションもあります。社外への誤共有を防ぐために、この設定を活用してください。</p>



<p>プルダウンリストの作成など、共有シートでの入力制御については「<a href="https://mashukabu.com/spreadsheet-pulldown/">スプレッドシートのプルダウン作り方</a>」で解説しています。</p>



<h2 class="wp-block-heading"><span id="toc30">まとめ｜迷ったらこの記事群で深掘りを</span></h2>



<p>ExcelユーザーがGoogleスプレッドシートを使い始めるときに知っておくべきポイントを振り返ります。</p>



<ol class="wp-block-list"><li><strong>自動保存が標準</strong> &#8212; Ctrl+Sは不要。変更履歴でいつでも復元できる</li><li><strong>リアルタイム共同編集</strong> &#8212; 最大100人が同時に作業可能</li><li><strong>無料で使える</strong> &#8212; ただしオフラインはChrome拡張が必要</li><li><strong>sheet.new</strong> &#8212; アドレスバーに入力するだけで即作成</li><li><strong>Excelファイルはそのまま開ける</strong> &#8212; ただしVBA・Power Queryは非対応</li><li><strong>画面構成はExcelに近い</strong> &#8212; リボンの代わりにメニューバー方式</li><li><strong>セル内改行はCtrl+Enter</strong> &#8212; Alt+Enterではない</li><li><strong>マクロはGAS（JavaScript系）</strong> &#8212; VBAとは別言語</li><li><strong>IMPORTRANGE・QUERY関数</strong> &#8212; Excelにはない独自の強力な関数がある</li><li><strong>共有は3段階の権限設定</strong> &#8212; 閲覧者・コメント者・編集者を使い分ける</li></ol>



<p>最初は戸惑う部分もありますが、基本操作の大半はExcelと共通です。1週間も使えば自然と手が馴染んできます。</p>



<p>個別の機能をもっと深く知りたい場合は、以下の記事もあわせて活用してください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-vs-spreadsheet/">ExcelとGoogleスプレッドシートの違い｜使い分けと移行の注意点</a></li><li><a href="https://mashukabu.com/spreadsheet-vlookup-function/">スプレッドシートのVLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-if-function/">スプレッドシートのIF関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-importrange-function/">スプレッドシートのIMPORTRANGE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-xlookup/">スプレッドシートのXLOOKUP関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-pulldown/">スプレッドシートのプルダウン作り方</a></li></ul>



<p>Googleスプレッドシートの使い方に慣れてきたら、QUERY関数やARRAYFORMULAなど、スプレッドシートならではの機能にも挑戦してみてください。Excelでは何ステップもかかっていた作業が、1つの数式で終わることもありますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/google-spreadsheet-beginner-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのFORECAST関数の使い方｜売上・在庫を線形予測する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-forecast/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-forecast/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 12:40:14 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[FORECAST関数]]></category>
		<category><![CDATA[在庫管理]]></category>
		<category><![CDATA[売上予測]]></category>
		<category><![CDATA[統計関数]]></category>
		<category><![CDATA[線形予測]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5965</guid>

					<description><![CDATA[ExcelのFORECAST関数の使い方を初心者向けに解説。売上予測の基本操作、散布図＋近似曲線で予測値を視覚確認する方法、在庫消費ペースの予測、旧FORECAST関数からFORECAST.LINEARへの移行手順まで丁寧に説明します。]]></description>
										<content:encoded><![CDATA[
<p>「Excelで売上の予測をしたいけど、FORECAST関数ってまだ使えるの？」そんな疑問をお持ちではありませんか。旧FORECAST関数が入ったファイルを引き継いだとき、このまま使い続けていいのか不安になりますよね。</p>



<p>ExcelのFORECAST関数は現在も使える関数です。この記事では基本の書き方から売上予測の手順まで解説します。また散布図と近似曲線で予測値を視覚確認する方法、在庫消費ペースの予測、FORECAST.LINEARへの移行手順も丁寧に説明しますよ。</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><a href="#toc1" tabindex="0">ExcelのFORECAST関数とは？旧名称と現在の位置づけ</a><ol><li><a href="#toc2" tabindex="0">Excel 2016で名称が変わった</a></li></ol></li><li><a href="#toc3" tabindex="0">FORECAST関数の書き方（構文と引数）</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">3つの引数の意味</a></li><li><a href="#toc6" tabindex="0">内部の計算方法</a></li></ol></li><li><a href="#toc7" tabindex="0">基本の使い方：来月の売上を予測する</a><ol><li><a href="#toc8" tabindex="0">サンプルデータ</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">手順1: 散布図を作成する</a></li><li><a href="#toc12" tabindex="0">手順2: 近似曲線を追加する</a></li><li><a href="#toc13" tabindex="0">手順3: 予測値と照合する</a></li></ol></li><li><a href="#toc14" tabindex="0">実務ユースケース：在庫消費ペースから発注タイミングを予測する</a><ol><li><a href="#toc15" tabindex="0">サンプルデータ</a></li><li><a href="#toc16" tabindex="0">発注タイミングを求める</a></li><li><a href="#toc17" tabindex="0">注意点</a></li></ol></li><li><a href="#toc18" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">#N/Aエラー</a></li><li><a href="#toc20" tabindex="0">#VALUE!エラー</a></li></ol></li><li><a href="#toc21" tabindex="0">FORECAST関数からFORECAST.LINEARへの移行方法</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">FORECAST.LINEAR・FORECAST.ETS・TRENDとの使い分け</a></li><li><a href="#toc25" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのFORECAST関数とは？旧名称と現在の位置づけ</span></h2>



<p>FORECAST関数は「フォーキャスト」と読みます。英語の「forecast（予測する）」が語源です。</p>



<p>FORECAST関数は、既知のデータから線形回帰を行い、指定した値に対する予測値を返す関数です。たとえば1月〜5月の売上データがあれば、6月の売上を予測できます。</p>



<h3 class="wp-block-heading"><span id="toc2">Excel 2016で名称が変わった</span></h3>



<p>Excel 2016以降、FORECAST関数はFORECAST.LINEAR関数に名称が変更されました。ただし旧FORECAST関数も互換性のために残されており、現在も問題なく使えます。</p>



<p>ポイントを整理すると次のとおりです。</p>



<ul class="wp-block-list"><li>FORECAST関数とFORECAST.LINEARは<strong>計算結果が完全に同じ</strong></li><li>旧FORECAST関数はExcel 2016以降も動作する</li><li>Microsoftは新しいブックではFORECAST.LINEARの使用を推奨</li><li>将来のバージョンで旧FORECAST関数が使えなくなる可能性がある</li></ul>



<p>既存ファイルにFORECAST関数が入っていても、すぐに壊れることはありません。ただし新しくファイルを作るときは<a href="https://mashukabu.com/excel-function-howto-use-forecast-linear/">FORECAST.LINEAR関数</a>を使うのがおすすめですよ。</p>



<h2 class="wp-block-heading"><span id="toc3">FORECAST関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc4">基本構文</span></h3>



<pre class="wp-block-code"><code>=FORECAST(x, 既知のy, 既知のx)</code></pre>



<p>引数は3つだけなのでシンプルです。予測したい点のx値を最初に指定し、その後に既知のデータ範囲を渡します。</p>



<h3 class="wp-block-heading"><span id="toc5">3つの引数の意味</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>x</td><td>必須</td><td>予測したい点のx値（例: 月番号「6」）</td></tr><tr><td>既知のy</td><td>必須</td><td>実績データのy値の範囲（例: 売上のセル範囲）</td></tr><tr><td>既知のx</td><td>必須</td><td>実績データのx値の範囲（例: 月番号のセル範囲）</td></tr></tbody></table></figure>



<p>注意すべき点が2つあります。</p>



<ul class="wp-block-list"><li><strong>引数の順番</strong>: 「y → x」の順に並んでいます。逆にすると結果が変わるので気をつけてください</li><li><strong>範囲のサイズ</strong>: 既知のyと既知のxの要素数は同じにする必要があります。ずれると#N/Aエラーになります</li></ul>



<h3 class="wp-block-heading"><span id="toc6">内部の計算方法</span></h3>



<p>FORECAST関数は最小二乗法（さいしょうにじょうほう）で直線 <code>y = a + bx</code> を求めます。bは傾き、aは切片です。この直線にxを代入して予測値を返しています。</p>



<p>数式を覚える必要はありません。「過去のデータに一番フィットする直線を引いて、その延長線上の値を返す」とイメージしてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc7">基本の使い方：来月の売上を予測する</span></h2>



<p>ここでは月次の売上データから翌月の売上を予測する手順を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">サンプルデータ</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>A列（月番号）</th><th>B列（売上）</th></tr></thead><tbody><tr><td>2行目</td><td>1</td><td>120</td></tr><tr><td>3行目</td><td>2</td><td>145</td></tr><tr><td>4行目</td><td>3</td><td>160</td></tr><tr><td>5行目</td><td>4</td><td>178</td></tr><tr><td>6行目</td><td>5</td><td>195</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">数式の入力</span></h3>



<p>6月（月番号「6」）の売上を予測するには、任意のセルに次の数式を入力します。</p>



<pre class="wp-block-code"><code>=FORECAST(6, B2:B6, A2:A6)</code></pre>



<ul class="wp-block-list"><li>第1引数: 予測したい月番号「6」</li><li>第2引数: 売上データの範囲 B2:B6</li><li>第3引数: 月番号の範囲 A2:A6</li></ul>



<p>結果は<strong>約213</strong>になります。過去5か月の売上トレンド（毎月約18ずつ増加）をもとに、6月の売上を線形予測した値です。</p>



<p>セル参照を使えばさらに便利です。月番号「6」をセルA7に入力しておけば、数式を次のように書けます。</p>



<pre class="wp-block-code"><code>=FORECAST(A7, B2:B6, A2:A6)</code></pre>



<p>A7の値を「7」「8」と変えるだけで、7月・8月の予測値も求められますよ。</p>



<h2 class="wp-block-heading"><span id="toc10">散布図＋近似曲線で予測値を視覚確認する方法</span></h2>



<p>FORECAST関数の結果が本当に妥当なのか、グラフで確認する方法を紹介します。散布図に近似曲線を追加すれば、予測値の根拠が目で見てわかります。</p>



<h3 class="wp-block-heading"><span id="toc11">手順1: 散布図を作成する</span></h3>



<ol class="wp-block-list"><li>月番号と売上のデータ範囲（A1:B6）を選択する</li><li>「挿入」タブ →「グラフ」グループ →「散布図」を選択する</li><li>「散布図（マーカーのみ）」をクリックする</li></ol>



<p>データポイントが散布図として表示されます。</p>



<h3 class="wp-block-heading"><span id="toc12">手順2: 近似曲線を追加する</span></h3>



<ol class="wp-block-list"><li>グラフ内のデータポイント（マーカー）を右クリックする</li><li>「近似曲線の追加」を選択する</li><li>「線形近似」を選ぶ</li><li>「グラフに数式を表示する」にチェックを入れる</li><li>「R-2乗値を表示する」にチェックを入れる</li><li>「閉じる」をクリックする</li></ol>



<p>グラフ上に直線と数式（例: <code>y = 18.5x + 102</code>）が表示されます。</p>



<h3 class="wp-block-heading"><span id="toc13">手順3: 予測値と照合する</span></h3>



<p>近似曲線の数式にx=6を代入すると <code>18.5 × 6 + 102 = 213</code> となり、FORECAST関数の結果と一致することが確認できます。</p>



<p>R²値（決定係数）は予測の信頼度を示します。1に近いほどデータが直線に沿っており、予測精度が高いことを意味します。目安として0.8以上なら予測としてまずまずの信頼度ですよ。</p>



<p>R²値が低い場合はデータのばらつきが大きく、線形予測が適さない可能性があります。そのときは季節変動を考慮できる<a href="https://mashukabu.com/excel-function-howto-use-forecast-ets/">FORECAST.ETS関数</a>を検討してみてください。</p>



<h2 class="wp-block-heading"><span id="toc14">実務ユースケース：在庫消費ペースから発注タイミングを予測する</span></h2>



<p>FORECAST関数は売上予測だけでなく、在庫管理にも使えます。ここでは在庫残量の推移から「いつ発注すべきか」を予測する手順を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc15">サンプルデータ</span></h3>



<p>倉庫の消耗品を毎週チェックし、残量を記録しているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>A列（経過週）</th><th>B列（在庫残量）</th></tr></thead><tbody><tr><td>2行目</td><td>1</td><td>500</td></tr><tr><td>3行目</td><td>2</td><td>460</td></tr><tr><td>4行目</td><td>3</td><td>415</td></tr><tr><td>5行目</td><td>4</td><td>370</td></tr><tr><td>6行目</td><td>5</td><td>330</td></tr><tr><td>7行目</td><td>6</td><td>285</td></tr></tbody></table></figure>



<p>毎週およそ40〜45個ずつ減っていることがわかります。</p>



<h3 class="wp-block-heading"><span id="toc16">発注タイミングを求める</span></h3>



<p>安全在庫を100個とした場合、在庫が100個を下回る週を求めます。</p>



<pre class="wp-block-code"><code>=FORECAST(10, B2:B7, A2:A7)</code></pre>



<p>第1引数を「10」にすると、10週目の在庫残量の予測値が返ります。結果は<strong>約112</strong>です。</p>



<p>さらに11週目を予測してみましょう。</p>



<pre class="wp-block-code"><code>=FORECAST(11, B2:B7, A2:A7)</code></pre>



<p>結果は<strong>約69</strong>となり、安全在庫の100個を下回ります。つまり10週目までに発注しておく必要があるとわかりますね。</p>



<h3 class="wp-block-heading"><span id="toc17">注意点</span></h3>



<p>FORECAST関数は線形予測なので、消費ペースが一定でない場合は精度が下がります。季節や繁忙期で消費量が変動するなら、直近のデータに絞って予測するか、<a href="https://mashukabu.com/excel-function-howto-use-forecast-ets/">FORECAST.ETS関数</a>を検討してください。</p>



<h2 class="wp-block-heading"><span id="toc18">よくあるエラーと対処法</span></h2>



<p>FORECAST関数で発生しやすいエラーは2つです。原因と対処法を確認しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">#N/Aエラー</span></h3>



<p><strong>原因1: 既知のxと既知のyの要素数が異なる</strong></p>



<pre class="wp-block-code"><code>=FORECAST(6, B2:B6, A2:A5)  ← yは5個、xは4個</code></pre>



<p>既知のyが5個なのに既知のxが4個しかないため、#N/Aエラーになります。範囲のサイズを揃えてください。</p>



<p><strong>原因2: 既知のxの値がすべて同じ</strong></p>



<pre class="wp-block-code"><code>=FORECAST(6, B2:B6, A2:A6)  ← A2:A6がすべて「1」</code></pre>



<p>xの分散がゼロだと回帰直線を引けないため、#N/Aエラーになります。x値にばらつきのあるデータを使ってください。</p>



<p>エラー値の詳細については<a href="https://mashukabu.com/excel-error-value-list/">Excelエラー値一覧</a>の記事も参考にしてみてください。</p>



<h3 class="wp-block-heading"><span id="toc20">#VALUE!エラー</span></h3>



<p><strong>原因: 数値以外のデータが含まれている</strong></p>



<pre class="wp-block-code"><code>=FORECAST(6, B2:B6, A2:A6)  ← B3に文字列「未確定」が入っている</code></pre>



<p>既知のyや既知のxに文字列や空白セルが含まれていると#VALUE!エラーになります。対処法は次のとおりです。</p>



<ul class="wp-block-list"><li>文字列が混ざっていないか確認する</li><li>テキスト形式の数字（左揃えになっている数字）はVALUE関数で数値に変換する</li><li>空白セルがあれば「0」や適切な値を入力する</li></ul>



<h2 class="wp-block-heading"><span id="toc21">FORECAST関数からFORECAST.LINEARへの移行方法</span></h2>



<p>既存ファイルのFORECAST関数をFORECAST.LINEARに一括置換する手順を紹介します。今すぐ動かなくなることはありませんが、将来のバージョンアップに備えて移行しておくと安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc22">一括置換の手順</span></h3>



<ol class="wp-block-list"><li>対象のブックを開く</li><li><strong>Ctrl + H</strong> で「検索と置換」ダイアログを開く</li><li>「検索する文字列」に <code>FORECAST(</code> と入力する</li><li>「置換後の文字列」に <code>FORECAST.LINEAR(</code> と入力する</li><li>「すべて置換」をクリックする</li><li>置換件数を確認して「OK」を押す</li></ol>



<h3 class="wp-block-heading"><span id="toc23">置換時の注意点</span></h3>



<p>FORECAST.ETS関数が同じブックに含まれている場合は注意が必要です。「FORECAST(」だけを検索対象にすれば、FORECAST.ETSはヒットしないので安全です。</p>



<p>置換後の確認手順は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>Ctrl + `</strong>（バッククォート）でセル表示を数式モードに切り替える</li><li>FORECAST.LINEAR( に正しく置換されているか目視で確認する</li><li>計算結果が変わっていないことを確認する（同一の結果が返るはずです）</li></ul>



<p>FORECAST.LINEAR関数の詳しい使い方は<a href="https://mashukabu.com/excel-function-howto-use-forecast-linear/">FORECAST.LINEAR関数の使い方</a>の記事で解説しています。</p>



<h2 class="wp-block-heading"><span id="toc24">FORECAST.LINEAR・FORECAST.ETS・TRENDとの使い分け</span></h2>



<p>Excelには予測に使える関数がいくつかあります。場面に応じて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>予測方法</th><th>得意な場面</th><th>結果</th></tr></thead><tbody><tr><td>FORECAST / FORECAST.LINEAR</td><td>線形回帰</td><td>トレンドが直線的なデータ</td><td>1点の予測値</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-forecast-ets/">FORECAST.ETS</a></td><td>指数平滑法</td><td>季節変動のあるデータ</td><td>1点の予測値</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-trend/">TREND</a></td><td>線形回帰</td><td>複数点をまとめて予測したいとき</td><td>配列（複数の予測値）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-linest/">LINEST</a></td><td>最小二乗法</td><td>回帰式の係数（傾き・切片）を知りたいとき</td><td>傾きと切片</td></tr></tbody></table></figure>



<p>選び方のポイントは次のとおりです。</p>



<ul class="wp-block-list"><li><strong>1点だけ予測したい</strong> → FORECAST.LINEAR（旧FORECAST）</li><li><strong>季節変動がある</strong> → FORECAST.ETS</li><li><strong>複数の月をまとめて予測したい</strong> → TREND</li><li><strong>回帰式の傾きや切片を確認したい</strong> → LINEST</li></ul>



<p>迷ったらまずFORECAST.LINEARを試してみてください。シンプルな線形予測ならこの関数で十分対応できますよ。</p>



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



<p>この記事では、ExcelのFORECAST関数の使い方を解説しました。</p>



<ul class="wp-block-list"><li>FORECAST関数はFORECAST.LINEARの旧名称で、計算結果は同じ</li><li>売上や在庫の予測に使える（引数は3つだけ）</li><li>散布図＋近似曲線で予測値の妥当性を視覚確認できる</li><li>将来に備えてFORECAST.LINEARへの移行がおすすめ</li></ul>



<p>新しく数式を書くときは<a href="https://mashukabu.com/excel-function-howto-use-forecast-linear/">FORECAST.LINEAR関数</a>を使い、既存ファイルの旧FORECAST関数はCtrl+Hで一括置換しておくとよいでしょう。Excel関数の一覧は<a href="https://mashukabu.com/excel-function-alphabetical-order/">Excel関数一覧（アルファベット順）</a>から確認できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-forecast/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのREGEXEXTRACT関数の使い方｜正規表現で文字列を抽出する</title>
		<link>https://mashukabu.com/excel-function-howto-use-regexextract/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-regexextract/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 04:11:05 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[REGEXEXTRACT関数]]></category>
		<category><![CDATA[REGEXTEST]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[文字列抽出]]></category>
		<category><![CDATA[正規表現]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5896</guid>

					<description><![CDATA[ExcelのREGEXEXTRACT関数の使い方を初心者向けに解説。構文・引数（テキスト・パターン・return_mode・大文字小文字の区別）の基本から、メールアドレス・電話番号・URLドメイン・日付分解などの実務例を数式付きで紹介。キャプチャグループの使い方、#VALUE!や#N/Aエラーの対処、REGEXTEST・REGEXREPLACEとの使い分けもまとめました。]]></description>
										<content:encoded><![CDATA[
<p>「長い文字列の中からメールアドレスだけ取り出したい」「URLからドメイン部分だけを抜き出したい」。データ整理をしていると、こんな場面に出くわしますよね。</p>



<p>これまでのExcelでは、LEFT・RIGHT・MID・FINDを組み合わせた長い数式を書くしかありませんでした。位置がズレるだけで壊れてしまう、あの面倒な数式ですね。</p>



<p>そんなときに便利なのがExcelのREGEXEXTRACT関数です。正規表現を使って、狙った文字列を一発で抜き出せますよ。</p>



<p>この記事では、ExcelのREGEXEXTRACT関数の使い方を基本から実務例まで解説します。キャプチャグループの使い方や姉妹関数との使い分けもまとめましたので、ぜひ参考にしてください。</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><a href="#toc1" tabindex="0">ExcelのREGEXEXTRACT関数とは？</a><ol><li><a href="#toc2" tabindex="0">どんなときに使う関数か</a></li><li><a href="#toc3" tabindex="0">利用条件（Microsoft 365が必須）</a></li></ol></li><li><a href="#toc4" tabindex="0">REGEXEXTRACT関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><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引数：戻り値モード（return_mode）</a></li><li><a href="#toc9" tabindex="0">第4引数：大文字小文字の区別</a></li></ol></li><li><a href="#toc10" tabindex="0">Excel REGEXEXTRACT関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">文字列から最初の数字列を取り出す</a></li><li><a href="#toc12" tabindex="0">郵便番号を抜き出す</a></li><li><a href="#toc13" tabindex="0">本文からメールアドレスを抽出する</a></li><li><a href="#toc14" tabindex="0">IFERRORでエラーを隠す</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">URLからドメイン部分を取得する</a></li><li><a href="#toc18" tabindex="0">日付文字列から年・月・日を分離する</a></li><li><a href="#toc19" tabindex="0">本文中のハッシュタグをすべて抽出する</a></li><li><a href="#toc20" tabindex="0">メールアドレスからユーザー名とドメインを分ける</a></li></ol></li><li><a href="#toc21" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">#N/A エラー</a></li><li><a href="#toc23" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc24" tabindex="0">#NAME? エラー</a></li><li><a href="#toc25" tabindex="0">エラー一覧表</a></li></ol></li><li><a href="#toc26" tabindex="0">REGEXTEST・REGEXREPLACEとの使い分け</a></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのREGEXEXTRACT関数とは？</span></h2>



<p>REGEXEXTRACT関数は、<strong>文字列の中から正規表現パターンに一致する部分を抜き出すExcelの関数</strong>です。読み方は「レジェックスエクストラクト」で、メールアドレスやURL、日付など狙った形式の文字列をピンポイントで取り出せます。</p>



<p>2024年にMicrosoft 365へ追加された新しい関数で、REGEXTEST・REGEXREPLACEとともに「正規表現3関数」と呼ばれています。姉妹関数のREGEXTESTがパターンの「判定」を担うのに対し、REGEXEXTRACTは「抽出」を担当します。</p>



<p>LEFT・MID・FINDを組み合わせた長い数式に悩まされてきた方には、まさに救世主のような関数ですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">どんなときに使う関数か</span></h3>



<p>REGEXEXTRACT関数は次のようなシーンで活躍します。</p>



<ul class="wp-block-list"><li>問い合わせ本文からメールアドレスだけを取り出したいとき</li><li>電話番号の市外局番だけを抜き出したいとき</li><li>URLからドメイン部分を取得したいとき</li><li>日付文字列を年・月・日に分解したいとき</li><li>商品コードから特定の桁だけを抽出したいとき</li></ul>



<p>LEFT・RIGHT・MIDの入れ子から解放されて、数式がすっきりしますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">利用条件（Microsoft 365が必須）</span></h3>



<p>REGEXEXTRACT関数を使うには、Microsoft 365のサブスクリプションが必要です。Excel 2019やExcel 2021などの永続ライセンス版では使えません。</p>



<p>対応環境は次のとおりです。</p>



<ul class="wp-block-list"><li>Excel for Microsoft 365（Windows / Mac）</li><li>Excel for the web</li></ul>



<p>お使いのバージョンが対応しているか、事前に確認しておきましょう。バージョンが古いと <code>#NAME?</code> エラーになってしまいます。</p>



<h2 class="wp-block-heading"><span id="toc4">REGEXEXTRACT関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文</span></h3>



<pre class="wp-block-code"><code>=REGEXEXTRACT(テキスト, 正規表現パターン, [戻り値モード], [大文字小文字の区別])</code></pre>



<p>第3引数と第4引数は省略可能です。まずは第1・第2引数だけで十分使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">第1引数：テキスト</span></h3>



<p>抽出元の文字列またはセル参照を指定します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(&quot;お問い合わせ: taro@example.com まで&quot;, &quot;[w.+-]+@[w.-]+&quot;)
=REGEXEXTRACT(A2, &quot;d+&quot;)</code></pre>



<p>実務ではセル参照を使うのが一般的です。セルが数値型の場合はそのままでは使えないので、TEXT関数（数値を指定した書式の文字列に変換する関数）で文字列化してから渡しましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">第2引数：正規表現パターン</span></h3>



<p>抜き出したい形式を正規表現でダブルクォーテーションで囲んで指定します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;d{3}-d{4}&quot;)</code></pre>



<p>上の例は「数字3桁＋ハイフン＋数字4桁」、つまり郵便番号の形式を取り出す数式です。正規表現の記号は、姉妹記事の<a href="https://mashukabu.com/excel-function-howto-use-regextest/">ExcelのREGEXTEST関数の使い方</a>で早見表にまとめていますので、あわせて確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc8">第3引数：戻り値モード（return_mode）</span></h3>



<p>どのように抽出するかを数値で指定します。省略時は0です。</p>



<ul class="wp-block-list"><li><strong>0</strong>（省略時）：<strong>最初に一致した1つ</strong>を返す</li><li><strong>1</strong>：<strong>すべての一致</strong>を配列で返す（スピル）</li><li><strong>2</strong>：<strong>キャプチャグループ</strong>（括弧で囲んだ部分）を配列で返す</li></ul>



<p>この第3引数こそがREGEXEXTRACT関数の真骨頂です。後ほど具体例で詳しく見ていきます。</p>



<h3 class="wp-block-heading"><span id="toc9">第4引数：大文字小文字の区別</span></h3>



<p>大文字と小文字を区別するかを数値で指定します。省略すると0（区別する）です。</p>



<ul class="wp-block-list"><li><strong>0</strong>（省略時）：大文字と小文字を<strong>区別する</strong></li><li><strong>1</strong>：大文字と小文字を<strong>区別しない</strong></li></ul>



<p>英字を含むパターンを使うときだけ気にすれば大丈夫ですよ。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(&quot;HELLO world&quot;, &quot;[a-z]+&quot;)      '&quot;world&quot;
=REGEXEXTRACT(&quot;HELLO world&quot;, &quot;[a-z]+&quot;, 0, 1) '&quot;HELLO&quot;</code></pre>



<h2 class="wp-block-heading"><span id="toc10">Excel REGEXEXTRACT関数の基本的な使い方</span></h2>



<p>それでは実際に数式を組み立ててみましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">文字列から最初の数字列を取り出す</span></h3>



<p>もっともシンプルな例です。文字列に含まれる数字をまとめて抽出します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;d+&quot;)</code></pre>



<p>A2が「商品コード12345番」なら結果は「12345」、「2026年4月」なら「2026」が返ります。<code>d+</code> は「数字1文字以上の繰り返し」を表します。</p>



<p>抽出結果は常にテキスト型で返るので、数値として計算に使いたい場合はVALUE関数（文字列を数値に変換する関数）でラップしましょう。</p>



<pre class="wp-block-code"><code>=VALUE(REGEXEXTRACT(A2, &quot;d+&quot;))</code></pre>



<h3 class="wp-block-heading"><span id="toc12">郵便番号を抜き出す</span></h3>



<p>住所の中から郵便番号だけを取り出す例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;d{3}-d{4}&quot;)</code></pre>



<p>A2が「〒100-0001 東京都千代田区」なら「100-0001」が返ります。<code>{3}</code> は「直前の要素の3回繰り返し」を意味する記号です。</p>



<h3 class="wp-block-heading"><span id="toc13">本文からメールアドレスを抽出する</span></h3>



<p>問い合わせメールの本文などからメールアドレスだけを抜き出す例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;[w.+-]+@[w.-]+.w+&quot;)</code></pre>



<p>A2が「ご連絡は taro@example.com までお願いします」なら「taro@example.com」が返ります。実務レベルのメールアドレス抽出にはこれで十分ですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">IFERRORでエラーを隠す</span></h3>



<p>パターンが見つからないと <code>#N/A</code> エラーになります。IFERROR関数（エラー時に代替値を返す関数）でラップすると、空欄や任意のメッセージに置き換えられます。</p>



<pre class="wp-block-code"><code>=IFERROR(REGEXEXTRACT(A2, &quot;d+&quot;), &quot;&quot;)</code></pre>



<p>データにばらつきがある実務では、IFERRORとのセット使いをおすすめします。</p>



<h2 class="wp-block-heading"><span id="toc15">実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc16">電話番号の市外局番だけを抽出する</span></h3>



<p>電話番号の先頭部分だけを取り出す例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;^0d{1,4}&quot;)</code></pre>



<p>「03-1234-5678」なら「03」、「0120-999-888」なら「0120」が返ります。<code>^</code> は「文字列の先頭」、<code>d{1,4}</code> は「数字1〜4桁」を意味します。</p>



<p>市外局番と市内局番・加入者番号に分けたい場合は、次のキャプチャグループの例が便利です。</p>



<h3 class="wp-block-heading"><span id="toc17">URLからドメイン部分を取得する</span></h3>



<p>URLからホスト名（ドメイン）だけを取り出す例です。キャプチャグループ（括弧 <code>()</code> で囲んだ部分）と第3引数 <code>2</code> を組み合わせます。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;https?://([^/]+)&quot;, 2)</code></pre>



<p>A2が「https://www.mashukabu.com/excel-tips/」なら「www.mashukabu.com」が返ります。括弧で囲んだ <code>[^/]+</code>（スラッシュ以外の1文字以上）の部分だけが抽出されるイメージです。</p>



<p>第3引数を <code>2</code> にすることで、括弧で囲んだキャプチャグループの中身だけを取り出せるのがポイントですよ。</p>



<h3 class="wp-block-heading"><span id="toc18">日付文字列から年・月・日を分離する</span></h3>



<p>「2026-04-09」のような文字列を年・月・日の3つに分解する例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;(d{4})-(d{2})-(d{2})&quot;, 2)</code></pre>



<p>この数式はスピル（数式が自動で配列に展開される機能）に対応していて、1つのセルに入力すると右方向に3つのセルへ「2026」「04」「09」が展開されます。</p>



<p>括弧を3つ書いてそれぞれの部分をキャプチャしているのがコツです。スラッシュ区切りの日付なら次のように書きます。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;(d{4})/(d{1,2})/(d{1,2})&quot;, 2)</code></pre>



<p>LEFT・MID・RIGHTで3つのセルに分解していた従来の方法と比べて、圧倒的にシンプルですよね。</p>



<h3 class="wp-block-heading"><span id="toc19">本文中のハッシュタグをすべて抽出する</span></h3>



<p>SNS投稿の文字列からハッシュタグをまとめて取り出す例です。第3引数に <code>1</code> を指定すると、一致するものをすべて配列として返します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;#w+&quot;, 1)</code></pre>



<p>A2が「今日の学び #Excel #REGEXEXTRACT #正規表現」なら、下方向に「#Excel」「#REGEXEXTRACT」「#正規表現」の3つがスピルします。ハッシュタグの棚卸しやSNS運用のレポートで重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">メールアドレスからユーザー名とドメインを分ける</span></h3>



<p>アットマークの前後を分けて取り出す例です。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(A2, &quot;([w.+-]+)@([w.-]+)&quot;, 2)</code></pre>



<p>A2が「taro@example.com」なら「taro」「example.com」の2つに分かれてスピルします。顧客リストのドメインごとの集計などに便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc21">よくあるエラーと対処法</span></h2>



<p>REGEXEXTRACT関数で表示されるエラーと対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc22">#N/A エラー</span></h3>



<p><strong>原因</strong>: 指定した正規表現パターンに一致する部分が見つからない。</p>



<p><strong>対処法</strong>: IFERROR関数で代替値を返すようにします。データ全体でパターンが統一されていない場合の定番対処です。</p>



<pre class="wp-block-code"><code>=IFERROR(REGEXEXTRACT(A2, &quot;d+&quot;), &quot;該当なし&quot;)</code></pre>



<p>パターン自体が間違っていないか、サンプルデータで動作を確認してから本番データに適用するのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc23">#VALUE! エラー</span></h3>



<p><strong>原因</strong>: 第2引数に無効な正規表現を指定した。または第1引数に数値型セルを直接渡した。</p>



<p><strong>対処法</strong>: 正規表現パターンを見直しましょう。特にエスケープ忘れ（<code>(</code> をそのまま使うなど）が多いので注意してください。数値セルを渡す場合はTEXT関数で文字列化します。</p>



<pre class="wp-block-code"><code>=REGEXEXTRACT(TEXT(A2, &quot;0&quot;), &quot;d+&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc24">#NAME? エラー</span></h3>



<p><strong>原因</strong>: REGEXEXTRACT関数に対応していないバージョンのExcelで使っている。または関数名のスペルミス。</p>



<p><strong>対処法</strong>: Microsoft 365のサブスクリプションで最新版にアップデートしてください。Excel 2019・2021・LTSC 2024などでは使えません。</p>



<h3 class="wp-block-heading"><span id="toc25">エラー一覧表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>パターン不一致</td><td>IFERRORで代替値</td></tr><tr><td>#VALUE!</td><td>無効な正規表現・非文字列</td><td>パターン見直し・TEXTで変換</td></tr><tr><td>#NAME?</td><td>非対応バージョン</td><td>Microsoft 365に更新</td></tr></tbody></table></figure>



<p>エラーが出ても原因は限られているので、落ち着いて確認すれば大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc26">REGEXTEST・REGEXREPLACEとの使い分け</span></h2>



<p>REGEXEXTRACT関数には2つの姉妹関数があります。用途が異なるので、目的に合わせて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>戻り値</th><th>用途</th></tr></thead><tbody><tr><td>REGEXTEST</td><td>TRUE / FALSE</td><td>パターンに一致するかを判定する</td></tr><tr><td>REGEXEXTRACT</td><td>一致した文字列</td><td>パターンに一致する部分を抜き出す</td></tr><tr><td>REGEXREPLACE</td><td>置換後の文字列</td><td>パターンに一致する部分を別の文字列に置き換える</td></tr></tbody></table></figure>



<p>使い分けのフローは次のとおりです。</p>



<ul class="wp-block-list"><li>「メールアドレスとして正しいか？」→ REGEXTEST</li><li>「本文からメールアドレスだけ抜き出したい」→ REGEXEXTRACT</li><li>「電話番号のハイフンを削除したい」→ REGEXREPLACE</li></ul>



<p>3つとも同じPCRE2（Perl互換の正規表現）の書き方に対応しているので、パターンの知識はそのまま共通で使えます。REGEXTESTの詳しい使い方は<a href="https://mashukabu.com/excel-function-howto-use-regextest/">ExcelのREGEXTEST関数の使い方</a>でも解説していますので、あわせて読んでみてください。</p>



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



<p>REGEXEXTRACT関数は、Excelのセル上で正規表現を使って文字列を抜き出せる関数です。</p>



<p>この記事のポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=REGEXEXTRACT(テキスト, 正規表現パターン, [戻り値モード], [大文字小文字の区別])</code></li><li>Microsoft 365のサブスクリプションが必要</li><li>第3引数 <code>0</code> で最初の一致、<code>1</code> で全一致、<code>2</code> でキャプチャグループを取得</li><li>キャプチャグループ（括弧）を使うと日付やURLを複数パートに分解できる</li><li>戻り値は常にテキスト型なので数値計算ではVALUE関数でラップする</li><li><code>#N/A</code> エラーはIFERROR関数で代替値を返すのが定番対処</li><li>姉妹関数のREGEXTEST（判定）・REGEXREPLACE（置換）と使い分けると便利</li></ul>



<p>まずは <code>=REGEXEXTRACT("価格1200円", "d+")</code> のようなシンプルな式から試してみてください。LEFTやMIDを組み合わせた長い数式から解放されて、データ整理がぐっとラクになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-regexextract/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのREGEXTEST関数の使い方｜正規表現でセルのパターンをチェック</title>
		<link>https://mashukabu.com/excel-function-howto-use-regextest/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-regextest/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 04:10:58 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[REGEXEXTRACT]]></category>
		<category><![CDATA[REGEXTEST関数]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[入力チェック]]></category>
		<category><![CDATA[正規表現]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5894</guid>

					<description><![CDATA[ExcelのREGEXTEST関数の使い方を初心者向けに解説。構文・引数（テキスト・パターン・大文字小文字区別）の基本から、メールアドレス・電話番号・郵便番号のバリデーション、数字のみチェックなど実務ユースケースを数式付きで紹介。正規表現の早見表、REGEXEXTRACT・REGEXREPLACEとの使い分け、エラー対処法もまとめました。]]></description>
										<content:encoded><![CDATA[
<p>「このセルに入っている文字列、メールアドレスとして正しい形式かな？」「電話番号の列に変な文字が混じっていないかチェックしたい」。データの入力チェックをしていると、こんな場面によく出くわしますよね。</p>



<p>これまでのExcelでは、ISNUMBERやSEARCH関数を組み合わせたり、長い条件式を書いたりするしかありませんでした。かなり面倒ですよね。</p>



<p>そんなときに便利なのがREGEXTEST関数です。正規表現を使って、セルの文字列が特定のパターンに一致するかを一発でチェックできます。</p>



<p>この記事では、ExcelのREGEXTEST関数の使い方を基本から実務例まで解説します。正規表現の早見表や姉妹関数との使い分けもまとめましたので、ぜひ参考にしてください。</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">ExcelのREGEXTEST関数とは？</a><ol><li><a href="#toc2" tabindex="0">どんなときに使う関数か</a></li><li><a href="#toc3" tabindex="0">利用条件（Microsoft 365が必須）</a></li></ol></li><li><a href="#toc4" tabindex="0">REGEXTEST関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><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">正規表現の基本パターン早見表</a><ol><li><a href="#toc10" tabindex="0">文字クラス</a></li><li><a href="#toc11" tabindex="0">位置と繰り返し</a></li></ol></li><li><a href="#toc12" tabindex="0">Excel REGEXTEST関数の基本的な使い方</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><li><a href="#toc16" tabindex="0">IF関数と組み合わせて判定結果を表示する</a></li></ol></li><li><a href="#toc17" tabindex="0">実践的な使い方・応用例</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><li><a href="#toc22" tabindex="0">FILTER関数と組み合わせて条件抽出する</a></li></ol></li><li><a href="#toc23" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc24" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc25" tabindex="0">#NAME? エラー</a></li><li><a href="#toc26" tabindex="0">意図したとおりにマッチしない</a></li></ol></li><li><a href="#toc27" tabindex="0">REGEXEXTRACT・REGEXREPLACEとの使い分け</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのREGEXTEST関数とは？</span></h2>



<p>REGEXTEST関数は、<strong>セルの文字列が指定した正規表現パターンに一致するかを判定するExcelの関数</strong>です。読み方は「レジェックステスト」で、結果は TRUE または FALSE で返ります。</p>



<p>2024年にMicrosoft 365へ追加された比較的新しい関数で、REGEXEXTRACT・REGEXREPLACEと合わせて「正規表現3関数」と呼ばれています。</p>



<p>正規表現というと難しそうに感じますが、使うパターンは意外と限られています。この記事のサンプルをコピーすれば、実務で十分使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">どんなときに使う関数か</span></h3>



<p>REGEXTEST関数は次のようなシーンで活躍します。</p>



<ul class="wp-block-list"><li>メールアドレスが正しい形式で入力されているかチェックしたいとき</li><li>電話番号や郵便番号が数字のみか確認したいとき</li><li>セルに特定のキーワードや文字パターンが含まれるか判定したいとき</li><li>FILTER関数と組み合わせて条件に合う行だけ抽出したいとき</li></ul>



<p>従来のISNUMBER＋SEARCH構文と比べて、数式が圧倒的にスッキリしますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">利用条件（Microsoft 365が必須）</span></h3>



<p>REGEXTEST関数を使うには、Microsoft 365のサブスクリプションが必要です。Excel 2019やExcel 2021などの永続ライセンス版では使えません。</p>



<p>対応環境は次のとおりです。</p>



<ul class="wp-block-list"><li>Excel for Microsoft 365（Windows / Mac）</li><li>Excel for the web</li></ul>



<p>お使いのバージョンが対応しているか、事前に確認しておきましょう。バージョンが古いと <code>#NAME?</code> エラーになってしまいます。</p>



<h2 class="wp-block-heading"><span id="toc4">REGEXTEST関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文</span></h3>



<pre class="wp-block-code"><code>=REGEXTEST(テキスト, 正規表現パターン, [大文字小文字の区別])</code></pre>



<p>カッコ内に、チェックしたいテキストと正規表現パターンを指定します。第3引数は省略可能です。</p>



<h3 class="wp-block-heading"><span id="toc6">第1引数：テキスト</span></h3>



<p>チェック対象の文字列またはセル参照を指定します。</p>



<pre class="wp-block-code"><code>=REGEXTEST(&quot;abc123&quot;, &quot;[0-9]&quot;)
=REGEXTEST(A2, &quot;[0-9]&quot;)</code></pre>



<p>直接文字列を入れる場合はダブルクォーテーションで囲みます。実務ではセル参照を使うのが一般的です。</p>



<p>なお、セルが数値型の場合はそのままでは使えません。TEXT関数（数値を指定した書式の文字列に変換する関数）で文字列化してから渡しましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">第2引数：正規表現パターン</span></h3>



<p>マッチさせたい正規表現をダブルクォーテーションで囲んで指定します。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;^[0-9]+$&quot;)</code></pre>



<p>上の例は「A2が数字だけで構成されているか」をチェックする数式です。記号の意味は後ほど早見表で整理します。</p>



<h3 class="wp-block-heading"><span id="toc8">第3引数：大文字小文字の区別</span></h3>



<p>大文字と小文字を区別するかを数値で指定します。省略すると0（区別する）が使われます。</p>



<ul class="wp-block-list"><li><strong>0</strong>（省略時）：大文字と小文字を<strong>区別する</strong></li><li><strong>1</strong>：大文字と小文字を<strong>区別しない</strong></li></ul>



<p>英字を含むパターンを使うときだけ気にすれば大丈夫ですよ。</p>



<pre class="wp-block-code"><code>=REGEXTEST(&quot;ABC&quot;, &quot;[a-z]&quot;)      'FALSE（小文字のみにマッチ）
=REGEXTEST(&quot;ABC&quot;, &quot;[a-z]&quot;, 1)   'TRUE（区別しないのでマッチ）</code></pre>



<h2 class="wp-block-heading"><span id="toc9">正規表現の基本パターン早見表</span></h2>



<p>REGEXTEST関数で使える正規表現は、PCRE2（Perl互換の正規表現）と呼ばれるものです。まずはよく使う記号だけ押さえておけば十分です。</p>



<h3 class="wp-block-heading"><span id="toc10">文字クラス</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>記号</th><th>意味</th><th>例</th></tr></thead><tbody><tr><td><code>d</code></td><td>数字1文字（0〜9）</td><td><code>dd</code> は「12」にマッチ</td></tr><tr><td><code>D</code></td><td>数字以外の1文字</td><td><code>D</code> は「a」にマッチ</td></tr><tr><td><code>w</code></td><td>英数字またはアンダースコア</td><td><code>w+</code> は「hello_1」にマッチ</td></tr><tr><td><code>s</code></td><td>空白文字（半角スペース・タブ）</td><td><code>s</code> は半角スペースにマッチ</td></tr><tr><td><code>.</code></td><td>任意の1文字</td><td><code>a.c</code> は「abc」「a1c」にマッチ</td></tr><tr><td><code>[abc]</code></td><td>a・b・cのいずれか1文字</td><td><code>[abc]</code> は「a」にマッチ</td></tr><tr><td><code>[a-z]</code></td><td>a〜zのいずれか1文字</td><td>小文字の英字にマッチ</td></tr><tr><td><code>[0-9]</code></td><td>0〜9のいずれか1文字</td><td><code>d</code> と同じ</td></tr><tr><td><code>[^0-9]</code></td><td>0〜9以外の1文字</td><td>数字以外にマッチ</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc11">位置と繰り返し</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>記号</th><th>意味</th><th>例</th></tr></thead><tbody><tr><td><code>^</code></td><td>文字列の先頭</td><td><code>^abc</code> は「abc」で始まる文字列</td></tr><tr><td><code>$</code></td><td>文字列の末尾</td><td><code>xyz$</code> は「xyz」で終わる文字列</td></tr><tr><td><code>*</code></td><td>直前の0回以上の繰り返し</td><td><code>a*</code> は「」「a」「aaa」にマッチ</td></tr><tr><td><code>+</code></td><td>直前の1回以上の繰り返し</td><td><code>a+</code> は「a」「aaa」にマッチ</td></tr><tr><td><code>?</code></td><td>直前の0回または1回</td><td><code>colou?r</code> は「color」「colour」</td></tr><tr><td><code>{n}</code></td><td>直前のn回の繰り返し</td><td><code>d{4}</code> は数字4桁</td></tr><tr><td><code>{n,m}</code></td><td>直前のn回以上m回以下</td><td><code>d{3,5}</code> は数字3〜5桁</td></tr><tr><td>`</td><td>`</td><td>または</td><td>`cat</td><td>dog` は「cat」か「dog」</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>特殊記号そのものを検索したいときは <code></code> でエスケープします。たとえば「.」をそのままチェックしたいなら <code>.</code> と書きます。</p></blockquote>



<p><code>^</code> と <code>$</code> を両方付けると「文字列全体が完全一致するか」をチェックできます。部分一致でよいなら両方とも省略しましょう。</p>



<h2 class="wp-block-heading"><span id="toc12">Excel REGEXTEST関数の基本的な使い方</span></h2>



<p>それでは実際に数式を組み立ててみましょう。</p>



<h3 class="wp-block-heading"><span id="toc13">文字列に数字が含まれるかチェックする</span></h3>



<p>もっともシンプルな例です。A列の文字列に数字が1文字でも含まれるかを判定します。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;d&quot;)</code></pre>



<p>「abc」ならFALSE、「abc123」ならTRUEが返ります。<code>d</code> は「数字1文字」を表す記号です。</p>



<h3 class="wp-block-heading"><span id="toc14">数字のみで構成されているかチェックする</span></h3>



<p>文字列全体が数字だけでできているかを判定します。郵便番号や電話番号の入力チェックに便利です。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;^d+$&quot;)</code></pre>



<p><code>^</code> と <code>$</code> で文字列全体を挟み、<code>d+</code> で「数字1文字以上の繰り返し」を表しています。「123456」ならTRUE、「123-456」はハイフンが含まれるのでFALSEになります。</p>



<h3 class="wp-block-heading"><span id="toc15">大文字のアルファベットが含まれるかチェックする</span></h3>



<p>パスワードチェックなどで使うパターンです。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;[A-Z]&quot;)</code></pre>



<p>A2に「password」が入っていればFALSE、「Password」ならTRUEです。大文字が1文字でもあればTRUEを返します。</p>



<h3 class="wp-block-heading"><span id="toc16">IF関数と組み合わせて判定結果を表示する</span></h3>



<p>TRUE・FALSEだけだとわかりにくいので、IF関数と組み合わせてメッセージで返すのがおすすめです。</p>



<pre class="wp-block-code"><code>=IF(REGEXTEST(A2, &quot;^d+$&quot;), &quot;数字のみ&quot;, &quot;数字以外を含む&quot;)</code></pre>



<p>見た目もわかりやすくなり、チェック結果の確認がラクになりますよ。</p>



<h2 class="wp-block-heading"><span id="toc17">実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc18">メールアドレスの形式をチェックする</span></h3>



<p>顧客リストや問い合わせフォームのデータで、メールアドレスが正しい形式かをチェックする例です。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;^[w.+-]+@[w-]+.[w.-]+$&quot;)</code></pre>



<p>一見複雑ですが、分解すると次のような意味になります。</p>



<ul class="wp-block-list"><li><code>^[w.+-]+</code> ：先頭は英数字・ドット・プラス・ハイフンの1文字以上</li><li><code>@</code> ：アットマーク</li><li><code>[w-]+</code> ：ドメイン名部分（英数字とハイフン）</li><li><code>.[w.-]+$</code> ：ドット＋トップレベルドメインで終わる</li></ul>



<figure class="wp-block-table"><table><thead><tr><th>A列（入力値）</th><th>B列（=REGEXTESTの結果）</th></tr></thead><tbody><tr><td>taro@example.com</td><td>TRUE</td></tr><tr><td>hanako.suzuki@biz-tactics.co.jp</td><td>TRUE</td></tr><tr><td>info@example</td><td>FALSE</td></tr><tr><td>taro[at]example.com</td><td>FALSE</td></tr></tbody></table></figure>



<p>厳密なRFC準拠ではありませんが、実務レベルのチェックには十分です。IF関数と組み合わせて「要確認」のラベルを付けておくと、修正漏れを防げますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">電話番号が数字とハイフンのみか確認する</span></h3>



<p>電話番号欄に余計な文字（全角やスペース）が入っていないかチェックする例です。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;^[0-9-]+$&quot;)</code></pre>



<p>「03-1234-5678」はTRUE、「03-1234-5678（内線1）」は括弧が含まれるのでFALSEになります。</p>



<p>ハイフンなしの数字のみに統一したい場合は次の数式を使います。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;^d{10,11}$&quot;)</code></pre>



<p><code>d{10,11}</code> は「数字10桁〜11桁」を意味します。携帯番号（11桁）と固定電話（10桁）の両方に対応できます。</p>



<h3 class="wp-block-heading"><span id="toc20">郵便番号の形式をチェックする</span></h3>



<p>日本の郵便番号（7桁、ハイフン区切り）のチェックです。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;^d{3}-d{4}$&quot;)</code></pre>



<p>「100-0001」はTRUE、「1000001」や「100-001」はFALSEになります。ハイフンの位置までしっかりチェックできるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc21">セルに特定キーワードが含まれるか判定する</span></h3>



<p>複数のキーワードのいずれかが含まれるかを判定する例です。「緊急」「至急」「重要」のどれかが本文に含まれるメールを検出するイメージです。</p>



<pre class="wp-block-code"><code>=REGEXTEST(A2, &quot;緊急|至急|重要&quot;)</code></pre>



<p><code>|</code>（パイプ）は「または」を意味します。IF関数と組み合わせれば、優先度の自動仕分けにも使えますよ。</p>



<pre class="wp-block-code"><code>=IF(REGEXTEST(A2, &quot;緊急|至急|重要&quot;), &quot;優先対応&quot;, &quot;&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc22">FILTER関数と組み合わせて条件抽出する</span></h3>



<p>REGEXTEST関数のすごいところは、FILTER関数と組み合わせて行単位の抽出ができる点です。</p>



<p>A2:B100のデータから、A列が「東京」で始まる行だけを抽出する例です。</p>



<pre class="wp-block-code"><code>=FILTER(A2:B100, REGEXTEST(A2:A100, &quot;^東京&quot;))</code></pre>



<p>スピル（数式が自動で配列に展開される機能）に対応しているので、1つの数式で複数行を一気に絞り込めます。「東京都」「東京支店」などを一括で拾えますよ。</p>



<h2 class="wp-block-heading"><span id="toc23">よくあるエラーと対処法</span></h2>



<p>REGEXTEST関数で表示されるエラーと対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc24">#VALUE! エラー</span></h3>



<p><strong>原因</strong>: 第2引数に無効な正規表現を指定した。または第1引数に数値や日付などの非文字列を直接渡した。</p>



<p><strong>対処法</strong>: 正規表現パターンを見直しましょう。特にエスケープ忘れ（<code>(</code> をそのまま使うなど）が多いので注意してください。数値セルを渡す場合はTEXT関数で文字列化しましょう。</p>



<pre class="wp-block-code"><code>=REGEXTEST(TEXT(A2, &quot;0&quot;), &quot;^d+$&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc25">#NAME? エラー</span></h3>



<p><strong>原因</strong>: REGEXTEST関数に対応していないバージョンのExcelで使っている。または関数名のスペルミス。</p>



<p><strong>対処法</strong>: Microsoft 365のサブスクリプションで最新版にアップデートしてください。Excel 2019・2021・LTSC 2024などでは使えません。関数名のスペルも確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc26">意図したとおりにマッチしない</span></h3>



<p><strong>原因</strong>: 日付セルが対象になっている。日付はExcel内部ではシリアル値（数値）として扱われるため、表示形式とは異なる値が渡されます。</p>



<p><strong>対処法</strong>: TEXT関数で文字列化してから渡します。</p>



<pre class="wp-block-code"><code>=REGEXTEST(TEXT(A2, &quot;yyyy/mm/dd&quot;), &quot;^2026&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>無効な正規表現・非文字列</td><td>パターン見直し・TEXTで変換</td></tr><tr><td>#NAME?</td><td>非対応バージョン</td><td>Microsoft 365に更新</td></tr><tr><td>意図しないFALSE</td><td>日付シリアル値が対象</td><td>TEXT関数で文字列化</td></tr></tbody></table></figure>



<p>エラーが出ても原因は限られているので、落ち着いて確認すれば大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc27">REGEXEXTRACT・REGEXREPLACEとの使い分け</span></h2>



<p>REGEXTEST関数には2つの姉妹関数があります。用途が異なるので、目的に合わせて使い分けましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>戻り値</th><th>用途</th></tr></thead><tbody><tr><td>REGEXTEST</td><td>TRUE / FALSE</td><td>パターンに一致するかを判定する</td></tr><tr><td>REGEXEXTRACT</td><td>一致した文字列</td><td>パターンに一致する部分を抜き出す</td></tr><tr><td>REGEXREPLACE</td><td>置換後の文字列</td><td>パターンに一致する部分を別の文字列に置き換える</td></tr></tbody></table></figure>



<p>使い分けのイメージは次のとおりです。</p>



<ul class="wp-block-list"><li>「メールアドレスとして正しいか？」→ REGEXTEST</li><li>「本文からメールアドレスだけ抜き出したい」→ REGEXEXTRACT</li><li>「電話番号のハイフンを削除したい」→ REGEXREPLACE</li></ul>



<p>3つとも同じPCRE2の正規表現を使うので、パターンの書き方は共通です。REGEXTESTで覚えた知識はそのまま他の2関数でも活きますよ。</p>



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



<p>REGEXTEST関数は、Excelのセル上で正規表現を使ったパターンチェックができる関数です。</p>



<p>この記事のポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=REGEXTEST(テキスト, 正規表現パターン, [大文字小文字の区別])</code></li><li>Microsoft 365のサブスクリプションが必要</li><li>戻り値はTRUE / FALSEのシンプルな形</li><li>第3引数を1にすると大文字小文字を区別しない</li><li>正規表現は <code>d</code>（数字）<code>^</code> <code>$</code>（先頭・末尾）あたりから覚えるのがおすすめ</li><li>メールアドレス・電話番号・郵便番号の形式チェックに便利</li><li>FILTER関数と組み合わせると条件抽出にも使える</li><li>姉妹関数にREGEXEXTRACT（抽出）とREGEXREPLACE（置換）がある</li></ul>



<p>まずは <code>=REGEXTEST("123abc", "d")</code> のようなシンプルな式から試してみてください。データクレンジングや入力チェックの作業がぐっとラクになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-regextest/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのREGEXREPLACE関数の使い方｜正規表現で文字列を置換する</title>
		<link>https://mashukabu.com/excel-function-howto-use-regexreplace/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-regexreplace/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 04:10:55 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[REGEXREPLACE関数]]></category>
		<category><![CDATA[REGEXTEST]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[文字列置換]]></category>
		<category><![CDATA[正規表現]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5892</guid>

					<description><![CDATA[ExcelのREGEXREPLACE関数の使い方を初心者向けに解説。構文・引数の基本から、電話番号のハイフン除去、メールアドレスのマスキング、余分な空白除去、HTMLタグ削除などの実務例を数式付きで紹介。キャプチャグループ（$1, $2）を使った高度な置換、SUBSTITUTE関数との使い分け、エラー対処法もまとめました。]]></description>
										<content:encoded><![CDATA[
<p>「電話番号のハイフンをまとめて消したい」「メールアドレスのドメイン部分だけを伏せ字にしたい」。データ整理をしていると、こういう一括置換の場面はよくありますよね。</p>



<p>これまでのExcelでは、SUBSTITUTE関数を何重にもネストしたり、マクロを書いたりするしかありませんでした。数式が長くなって、後から見直すのも一苦労ですよね。</p>



<p>そんな悩みを一発で解決してくれるのがREGEXREPLACE関数です。正規表現を使って、セルの文字列を柔軟に置換できます。</p>



<p>この記事では、ExcelのREGEXREPLACE関数の使い方を基本から実務例まで解説します。キャプチャグループを使った高度な置換や、SUBSTITUTE関数との使い分けもまとめましたので、ぜひ参考にしてください。</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のREGEXREPLACE関数とは？</a><ol><li><a href="#toc2" tabindex="0">どんなときに使う関数か</a></li><li><a href="#toc3" tabindex="0">利用条件（Microsoft 365が必須）</a></li></ol></li><li><a href="#toc4" tabindex="0">REGEXREPLACE関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><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><li><a href="#toc9" tabindex="0">第4引数：出現位置</a></li><li><a href="#toc10" tabindex="0">第5引数：大文字小文字の区別</a></li></ol></li><li><a href="#toc11" tabindex="0">正規表現の基本パターン早見表</a></li><li><a href="#toc12" tabindex="0">Excel REGEXREPLACE関数の基本的な使い方</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><li><a href="#toc16" tabindex="0">連続する空白を半角1つにまとめる</a></li></ol></li><li><a href="#toc17" tabindex="0">実践的な使い方・応用例</a><ol><li><a href="#toc18" tabindex="0">メールアドレスのドメイン部分をマスキングする</a></li><li><a href="#toc19" tabindex="0">HTMLタグを削除して本文だけ取り出す</a></li><li><a href="#toc20" tabindex="0">全角・半角・長音記号のハイフンをまとめて除去する</a></li><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">REGEXREPLACEとSUBSTITUTE関数の使い分け</a></li><li><a href="#toc25" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc26" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc27" tabindex="0">#NAME? エラー</a></li><li><a href="#toc28" tabindex="0">置換結果が意図と違う</a></li></ol></li><li><a href="#toc29" tabindex="0">REGEXTEST・REGEXEXTRACTとの使い分け</a></li><li><a href="#toc30" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのREGEXREPLACE関数とは？</span></h2>



<p>REGEXREPLACE関数は、<strong>セルの文字列のうち正規表現パターンに一致する部分を、別の文字列に置換するExcelの関数</strong>です。読み方は「レジェックスリプレイス」です。</p>



<p>2024年にMicrosoft 365へ追加された新しい関数で、REGEXTEST・REGEXEXTRACTと合わせて「正規表現3関数」と呼ばれています。</p>



<p>固定の文字列を置換するだけならSUBSTITUTE関数で十分ですが、「数字だけまとめて消したい」「特定パターンの部分を伏せ字にしたい」といったパターン指定が必要なケースで、REGEXREPLACE関数が真価を発揮しますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">どんなときに使う関数か</span></h3>



<p>REGEXREPLACE関数は次のようなシーンで活躍します。</p>



<ul class="wp-block-list"><li>電話番号・郵便番号からハイフンを一括で取り除きたいとき</li><li>メールアドレスや個人情報を伏せ字にマスキングしたいとき</li><li>余分な空白・記号・改行をまとめて除去してデータクレンジングしたいとき</li><li>HTMLタグを取り除いて本文だけを取り出したいとき</li><li>日付の区切り文字を一括変換したいとき</li></ul>



<p>従来のSUBSTITUTEネストと比べると、数式がすっきりして読みやすくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">利用条件（Microsoft 365が必須）</span></h3>



<p>ExcelのREGEXREPLACE関数を使うには、Microsoft 365のサブスクリプションが必要です。Excel 2019やExcel 2021などの永続ライセンス版では使えません。</p>



<p>対応環境は次のとおりです。</p>



<ul class="wp-block-list"><li>Excel for Microsoft 365（Windows / Mac）</li><li>Excel for the web</li></ul>



<p>お使いのバージョンが対応しているか、確認しておきましょう。バージョンが古いと <code>#NAME?</code> エラーになってしまいます。</p>



<h2 class="wp-block-heading"><span id="toc4">REGEXREPLACE関数の構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文</span></h3>



<pre class="wp-block-code"><code>=REGEXREPLACE(テキスト, 正規表現パターン, 置換文字列, [出現位置], [大文字小文字の区別])</code></pre>



<p>必須の引数は最初の3つで、後ろの2つは省略できます。</p>



<h3 class="wp-block-heading"><span id="toc6">第1引数：テキスト</span></h3>



<p>置換対象となる文字列またはセル参照を指定します。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(&quot;03-1234-5678&quot;, &quot;-&quot;, &quot;&quot;)
=REGEXREPLACE(A2, &quot;-&quot;, &quot;&quot;)</code></pre>



<p>直接文字列を入れる場合はダブルクォーテーションで囲みます。実務ではセル参照を使うことがほとんどです。</p>



<h3 class="wp-block-heading"><span id="toc7">第2引数：正規表現パターン</span></h3>



<p>置換したい部分を表す正規表現をダブルクォーテーションで囲んで指定します。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;d&quot;, &quot;*&quot;)</code></pre>



<p>上の例は「A2の中の数字を1文字ずつアスタリスクに置き換える」という意味です。<code>d</code> は数字1文字を表す記号です。</p>



<h3 class="wp-block-heading"><span id="toc8">第3引数：置換文字列</span></h3>



<p>マッチした部分を何に置き換えるかを指定します。空文字列 <code>""</code> を指定すれば「削除」と同じ意味になりますよ。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;s&quot;, &quot;&quot;)</code></pre>



<p>この例ではすべての空白文字を削除します。</p>



<h3 class="wp-block-heading"><span id="toc9">第4引数：出現位置</span></h3>



<p>何番目のマッチから置換するかを数値で指定します。省略すると0になり、<strong>すべてのマッチ</strong>を置換します。</p>



<ul class="wp-block-list"><li><strong>0</strong>（省略時）：すべてのマッチを置換</li><li><strong>1</strong>：1番目のマッチだけを置換</li><li><strong>2</strong>：2番目のマッチだけを置換</li></ul>



<pre class="wp-block-code"><code>=REGEXREPLACE(&quot;a-b-c-d&quot;, &quot;-&quot;, &quot;/&quot;, 0)  '結果: a/b/c/d
=REGEXREPLACE(&quot;a-b-c-d&quot;, &quot;-&quot;, &quot;/&quot;, 2)  '結果: a-b/c-d</code></pre>



<p>最初の1箇所だけ置換したい場面でも使える、意外と便利な引数ですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">第5引数：大文字小文字の区別</span></h3>



<p>英字を含むパターンで大文字と小文字を区別するかを指定します。省略すると0（区別する）です。</p>



<ul class="wp-block-list"><li><strong>0</strong>（省略時）：大文字と小文字を<strong>区別する</strong></li><li><strong>1</strong>：大文字と小文字を<strong>区別しない</strong></li></ul>



<pre class="wp-block-code"><code>=REGEXREPLACE(&quot;ABC abc&quot;, &quot;[a-z]&quot;, &quot;*&quot;)     '結果: ABC ***
=REGEXREPLACE(&quot;ABC abc&quot;, &quot;[a-z]&quot;, &quot;*&quot;, , 1) '結果: *** ***</code></pre>



<h2 class="wp-block-heading"><span id="toc11">正規表現の基本パターン早見表</span></h2>



<p>REGEXREPLACE関数で使える正規表現は、REGEXTEST・REGEXEXTRACTと同じPCRE2（Perl互換の正規表現）です。よく使う記号をまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>記号</th><th>意味</th></tr></thead><tbody><tr><td><code>d</code></td><td>数字1文字（0〜9）</td></tr><tr><td><code>D</code></td><td>数字以外の1文字</td></tr><tr><td><code>w</code></td><td>英数字またはアンダースコア</td></tr><tr><td><code>s</code></td><td>空白文字（半角スペース・タブ・改行）</td></tr><tr><td><code>.</code></td><td>任意の1文字</td></tr><tr><td><code>[abc]</code></td><td>a・b・cのいずれか1文字</td></tr><tr><td><code>[a-z]</code></td><td>a〜zのいずれか1文字</td></tr><tr><td><code>[^0-9]</code></td><td>0〜9以外の1文字</td></tr><tr><td><code>^</code></td><td>文字列の先頭</td></tr><tr><td><code>$</code></td><td>文字列の末尾</td></tr><tr><td><code>*</code></td><td>直前の0回以上の繰り返し</td></tr><tr><td><code>+</code></td><td>直前の1回以上の繰り返し</td></tr><tr><td><code>{n}</code></td><td>直前のn回の繰り返し</td></tr><tr><td><code></td><td></code></td><td>または</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>特殊記号そのものを置換対象にしたいときは <code></code> でエスケープします。たとえば「.」を消したいなら <code>.</code> と書きます。</p></blockquote>



<p>置換文字列側では、後述する <code>$1</code> <code>$2</code> といった「キャプチャグループ参照」が使えます。これがREGEXREPLACE関数の真骨頂ですよ。</p>



<h2 class="wp-block-heading"><span id="toc12">Excel REGEXREPLACE関数の基本的な使い方</span></h2>



<p>それでは実際に数式を組み立ててみましょう。</p>



<h3 class="wp-block-heading"><span id="toc13">電話番号からハイフンを除去する</span></h3>



<p>もっとも使用頻度が高いパターンです。A列に入った電話番号から、ハイフンをまとめて削除します。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>A列（入力値）</th><th>B列（=REGEXREPLACEの結果）</th></tr></thead><tbody><tr><td>03-1234-5678</td><td>0312345678</td></tr><tr><td>090-1234-5678</td><td>09012345678</td></tr><tr><td>06-1111-2222</td><td>0611112222</td></tr></tbody></table></figure>



<p>SUBSTITUTE関数でも同じことはできますが、REGEXREPLACEなら全角ハイフンや長音記号まで一度に消せる柔軟性が魅力です（後述）。</p>



<h3 class="wp-block-heading"><span id="toc14">数字以外を一括削除する</span></h3>



<p>電話番号欄に括弧や全角スペースなどが混じっていても、一発で数字だけにできます。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;D&quot;, &quot;&quot;)</code></pre>



<p><code>D</code> は「数字以外の1文字」を表す記号です。「03-1234-5678（内線1）」のような入力でも、「0312345678 1」のように数字と元の配置を保ったまま、不要な記号をまとめて消せますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">余分な空白をまとめて削除する</span></h3>



<p>セル内に混じった全角・半角スペース、タブ、改行をまとめて除去します。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;s+&quot;, &quot;&quot;)</code></pre>



<p><code>s+</code> は「1文字以上の連続した空白」を表します。貼り付けたデータに見えない空白が入っているときの掃除にぴったりですよ。</p>



<h3 class="wp-block-heading"><span id="toc16">連続する空白を半角1つにまとめる</span></h3>



<p>空白を完全に消すのではなく、連続分だけ1つに整えたい場合はこちらです。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;s+&quot;, &quot; &quot;)</code></pre>



<p>「Hello   World」→「Hello World」のように整形されます。コピペ由来のズレを直すのに便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc17">実践的な使い方・応用例</span></h2>



<h3 class="wp-block-heading"><span id="toc18">メールアドレスのドメイン部分をマスキングする</span></h3>



<p>個人情報保護のために、メールアドレスの <code>@</code> より後ろを伏せ字にする例です。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;@.+$&quot;, &quot;@***&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>A列（入力値）</th><th>B列（=REGEXREPLACEの結果）</th></tr></thead><tbody><tr><td>taro@example.com</td><td>taro@***</td></tr><tr><td>hanako@biz-tactics.co.jp</td><td>hanako@***</td></tr></tbody></table></figure>



<p><code>@.+$</code> は「アットマーク＋1文字以上の末尾まで」を意味します。会議資料やサンプルデータを作成するときに重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">HTMLタグを削除して本文だけ取り出す</span></h3>



<p>Webから貼り付けた文字列からHTMLタグをまとめて除去する例です。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;&lt;[^&gt;]+&gt;&quot;, &quot;&quot;)</code></pre>



<p><code><[^>]+></code> は「<code><</code> で始まり <code>></code> 以外の文字が1つ以上続き <code>></code> で閉じる部分」を表します。</p>



<p>「<code><p>こんにちは<br>世界</p></code>」→「こんにちは世界」のように、タグだけがきれいに消えます。</p>



<h3 class="wp-block-heading"><span id="toc20">全角・半角・長音記号のハイフンをまとめて除去する</span></h3>



<p>電話番号の表記揺れ対策です。半角ハイフン・全角ハイフン・マイナス・長音記号をまとめて削除します。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;[-－−ー]&quot;, &quot;&quot;)</code></pre>



<p>角括弧の中に「消したい文字」を並べるだけでOKです。SUBSTITUTEでやろうとすると4重ネストが必要なところを、1つの数式で書けますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">日付の区切り文字を統一する</span></h3>



<p><code>/</code> <code>.</code> <code>-</code> など複数の区切りが混在した日付を、ハイフン区切りに統一する例です。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;[/.-]&quot;, &quot;-&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>A列（入力値）</th><th>B列（=REGEXREPLACEの結果）</th></tr></thead><tbody><tr><td>2026/04/09</td><td>2026-04-09</td></tr><tr><td>2026.04.09</td><td>2026-04-09</td></tr><tr><td>2026-04-09</td><td>2026-04-09</td></tr></tbody></table></figure>



<p>角括弧内のハイフンは <code>-</code> とエスケープしておくと安全です。</p>



<h3 class="wp-block-heading"><span id="toc22">キャプチャグループで並び順を入れ替える</span></h3>



<p>REGEXREPLACE関数の真骨頂が、キャプチャグループを使った高度な置換です。丸括弧 <code>()</code> で囲んだ部分は「キャプチャグループ」となり、置換文字列側で <code>$1</code> <code>$2</code> として参照できます。</p>



<p>「姓 名」を「名 姓」に入れ替える例です。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;^(S+)s+(S+)$&quot;, &quot;$2 $1&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>A列（入力値）</th><th>B列（=REGEXREPLACEの結果）</th></tr></thead><tbody><tr><td>山田 太郎</td><td>太郎 山田</td></tr><tr><td>Suzuki Hanako</td><td>Hanako Suzuki</td></tr></tbody></table></figure>



<p><code>(S+)</code> は「空白以外の1文字以上」をキャプチャするパターンで、置換文字列の <code>$2 $1</code> で順番を入れ替えています。慣れると応用が効くので、ぜひ覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc23">日付のフォーマットを変換する</span></h3>



<p><code>yyyy/mm/dd</code> 形式の日付文字列を、<code>dd-mm-yyyy</code> 形式に並び替える例です。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;(d{4})/(d{2})/(d{2})&quot;, &quot;$3-$2-$1&quot;)</code></pre>



<p>「2026/04/09」→「09-04-2026」のように、年月日のパーツを順番入れ替えで出力できます。元データを壊さずに表示形式を変えたいときに便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc24">REGEXREPLACEとSUBSTITUTE関数の使い分け</span></h2>



<p>REGEXREPLACE関数とよく比較されるのがSUBSTITUTE関数です。どちらも「文字列置換」が目的ですが、得意分野が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>置換対象</th><th>向いているケース</th></tr></thead><tbody><tr><td>SUBSTITUTE</td><td>固定文字列</td><td>「-」を「」に、など決まった文字の置換</td></tr><tr><td>REGEXREPLACE</td><td>正規表現パターン</td><td>「数字全般」「記号全般」などのパターン置換</td></tr></tbody></table></figure>



<p>使い分けの目安は次のとおりです。</p>



<ul class="wp-block-list"><li><strong>固定文字列の置換</strong> → SUBSTITUTEが速くてシンプル</li><li><strong>パターンに基づく置換</strong> → REGEXREPLACEの独壇場</li><li><strong>複数の文字をまとめて消す</strong> → REGEXREPLACE（<code>[abc]</code> 形式）</li><li><strong>並び順の入れ替え</strong> → REGEXREPLACEのキャプチャグループ</li></ul>



<p>SUBSTITUTEは全バージョンのExcelで使えるのが強みです。共有ファイルで相手のバージョンが不明な場合は、SUBSTITUTEのネストで対応した方が安全な場面もありますよ。</p>



<h2 class="wp-block-heading"><span id="toc25">よくあるエラーと対処法</span></h2>



<p>REGEXREPLACE関数で表示されるエラーと対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc26">#VALUE! エラー</span></h3>



<p><strong>原因</strong>: 第2引数に無効な正規表現を指定した。または第1引数に数値や日付などの非文字列を直接渡した。</p>



<p><strong>対処法</strong>: 正規表現パターンを見直しましょう。特にカッコや特殊記号のエスケープ忘れに注意してください。数値セルを渡す場合はTEXT関数で文字列化してから渡します。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(TEXT(A2, &quot;0&quot;), &quot;0&quot;, &quot;*&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc27">#NAME? エラー</span></h3>



<p><strong>原因</strong>: REGEXREPLACE関数に対応していないバージョンのExcelで使っている。または関数名のスペルミス。</p>



<p><strong>対処法</strong>: Microsoft 365のサブスクリプションで最新版にアップデートしてください。Excel 2019・2021・LTSC 2024などでは使えません。関数名のスペルも確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc28">置換結果が意図と違う</span></h3>



<p><strong>原因</strong>: 正規表現の「貪欲マッチ」が想定より広く一致している。たとえば <code><.+></code> は <code><p>本文</p></code> 全体にマッチしてしまいます。</p>



<p><strong>対処法</strong>: <code>.+?</code>（最短マッチ）を使うか、<code>[^>]+</code> のように文字クラスで範囲を限定します。</p>



<pre class="wp-block-code"><code>=REGEXREPLACE(A2, &quot;&lt;.+?&gt;&quot;, &quot;&quot;)
=REGEXREPLACE(A2, &quot;&lt;[^&gt;]+&gt;&quot;, &quot;&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>無効な正規表現・非文字列</td><td>パターン見直し・TEXTで変換</td></tr><tr><td>#NAME?</td><td>非対応バージョン</td><td>Microsoft 365に更新</td></tr><tr><td>置換結果がおかしい</td><td>貪欲マッチで広がりすぎ</td><td><code>.+?</code> か <code>[^>]+</code> を使う</td></tr></tbody></table></figure>



<p>エラーの原因はパターン記述ミスであることがほとんどです。落ち着いて数式を見直せば大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc29">REGEXTEST・REGEXEXTRACTとの使い分け</span></h2>



<p>REGEXREPLACE関数には2つの姉妹関数があります。3つセットで覚えておくと、正規表現を使ったデータ処理が一気にラクになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>戻り値</th><th>用途</th></tr></thead><tbody><tr><td>REGEXTEST</td><td>TRUE / FALSE</td><td>パターンに一致するかを判定する</td></tr><tr><td>REGEXEXTRACT</td><td>一致した文字列</td><td>パターンに一致する部分を抜き出す</td></tr><tr><td>REGEXREPLACE</td><td>置換後の文字列</td><td>パターンに一致する部分を別の文字列に置き換える</td></tr></tbody></table></figure>



<p>使い分けのイメージは次のとおりです。</p>



<ul class="wp-block-list"><li>「メールアドレスとして正しいか？」→ REGEXTEST</li><li>「本文からメールアドレスだけ抜き出したい」→ REGEXEXTRACT</li><li>「メールアドレスのドメインを伏せ字にしたい」→ REGEXREPLACE</li></ul>



<p>3つとも同じPCRE2の正規表現を使うので、パターンの書き方は共通です。REGEXTESTやREGEXEXTRACTで覚えた知識は、そのままREGEXREPLACEでも活きますよ。</p>



<p>姉妹記事として、<a href="https://mashukabu.com/excel-function-howto-use-regextest/">ExcelのREGEXTEST関数の使い方</a>と<a href="https://mashukabu.com/excel-function-howto-use-regexextract/">ExcelのREGEXEXTRACT関数の使い方</a>もぜひ参考にしてください。3関数をまとめて身につけると、データクレンジング作業がぐっと効率化されますよ。</p>



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



<p>REGEXREPLACE関数は、Excelのセル上で正規表現を使った柔軟な文字列置換ができる関数です。</p>



<p>この記事のポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=REGEXREPLACE(テキスト, 正規表現パターン, 置換文字列, [出現位置], [大文字小文字の区別])</code></li><li>Microsoft 365のサブスクリプションが必要</li><li>第4引数でN番目のマッチだけを置換することも可能</li><li>電話番号のハイフン除去・空白削除・HTMLタグ削除などデータクレンジングで大活躍</li><li><code>()</code> と <code>$1</code> <code>$2</code> のキャプチャグループで並び順の入れ替えもできる</li><li>固定文字列ならSUBSTITUTE、パターン置換ならREGEXREPLACEと使い分ける</li><li>姉妹関数にREGEXTEST（判定）とREGEXEXTRACT（抽出）がある</li></ul>



<p>まずは <code>=REGEXREPLACE("03-1234-5678", "-", "")</code> のようなシンプルな置換から試してみてください。一度覚えれば、SUBSTITUTEの多重ネストとは比較にならない便利さを実感できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-regexreplace/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのDETECTLANGUAGE関数の使い方｜セルの言語を自動判定する</title>
		<link>https://mashukabu.com/excel-function-howto-use-detectlanguage/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-detectlanguage/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 04:10:46 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[DETECTLANGUAGE関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[TRANSLATE関数]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[多言語データ]]></category>
		<category><![CDATA[言語検出]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5888</guid>

					<description><![CDATA[ExcelのDETECTLANGUAGE関数の使い方を初心者向けに解説。構文・戻り値（ISO 639-1言語コード）の基本から、顧客リストの言語分類、多言語アンケートの振り分け、SWITCH関数との組み合わせで言語名を日本語表示する方法まで、実務で使える数式を豊富に紹介。対応言語一覧やTRANSLATE関数との連携、よくあるエラーと対処法もまとめました。]]></description>
										<content:encoded><![CDATA[
<p>「海外の顧客から届いたメール、英語？スペイン語？見分けるだけでもひと苦労」「多言語アンケートの自由記述欄を言語別に集計したい」。グローバル業務を担当していると、こんな場面が増えていますよね。</p>



<p>1件ずつ目視で判定するのは現実的ではありません。数百件を前にため息が出てしまいますよね。</p>



<p>そんなときに頼りになるのがExcelのDETECTLANGUAGE関数です。セルに入っている文字列を解析して、使われている言語を自動で判定してくれます。</p>



<p>この記事では、ExcelのDETECTLANGUAGE関数の使い方を基本から実務の応用例まで解説します。SWITCH関数との組み合わせやTRANSLATE関数との連携もまとめましたので、ぜひ参考にしてください。</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">ExcelのDETECTLANGUAGE関数とは？</a><ol><li><a href="#toc2" tabindex="0">どんなときに使う関数か</a></li><li><a href="#toc3" tabindex="0">利用条件（Microsoft 365が必須）</a></li></ol></li><li><a href="#toc4" tabindex="0">DETECTLANGUAGE関数の構文と戻り値</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数：テキスト</a></li><li><a href="#toc7" tabindex="0">戻り値：ISO 639-1 言語コード</a></li></ol></li><li><a href="#toc8" tabindex="0">Excel DETECTLANGUAGE関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">1つのセルの言語を判定する</a></li><li><a href="#toc10" tabindex="0">複数セルの言語を一括判定する</a></li><li><a href="#toc11" tabindex="0">IF関数と組み合わせて日本語か判定する</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><li><a href="#toc16" tabindex="0">FILTER関数と組み合わせて英語の行だけ抽出する</a></li><li><a href="#toc17" tabindex="0">TRANSLATE関数と連携して自動翻訳する</a></li><li><a href="#toc18" tabindex="0">IFERRORでエラー時のラベルを付ける</a></li></ol></li><li><a href="#toc19" tabindex="0">短文・空白・数字のみセルでの挙動</a><ol><li><a href="#toc20" tabindex="0">空白セルを渡した場合</a></li><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">よくあるエラーと対処法</a><ol><li><a href="#toc25" tabindex="0">Text Too Long エラー</a></li><li><a href="#toc26" tabindex="0">Error in Value エラー</a></li><li><a href="#toc27" tabindex="0">Request Throttled エラー</a></li><li><a href="#toc28" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのDETECTLANGUAGE関数とは？</span></h2>



<p>DETECTLANGUAGE関数は、<strong>セルの文字列を解析して使われている言語を判定するExcelの関数</strong>です。読み方は「ディテクトランゲージ」で、判定結果はISO 639-1形式の2文字の言語コードで返ります。</p>



<p>内部ではMicrosoft Translation Services（クラウドの翻訳サービス）を利用しているため、インターネット接続が必須です。簡単な単語から長文まで幅広い言語を判定してくれますよ。</p>



<p>比較的新しい関数ですが、使い方はとてもシンプルです。引数は1つだけなので、初めてでも迷いませんよ。</p>



<h3 class="wp-block-heading"><span id="toc2">どんなときに使う関数か</span></h3>



<p>ExcelのDETECTLANGUAGE関数は次のような場面で活躍します。</p>



<ul class="wp-block-list"><li>グローバル顧客リストを言語別に分類したいとき</li><li>多言語アンケートの自由記述を言語別に振り分けたいとき</li><li>海外からの問い合わせメールを担当者別にアサインしたいとき</li><li>TRANSLATE関数（指定した言語に翻訳する関数）と組み合わせて多言語データを一括翻訳したいとき</li></ul>



<p>「どの言語か分からないけどとりあえず仕分けたい」というシーンにぴったりの関数です。</p>



<h3 class="wp-block-heading"><span id="toc3">利用条件（Microsoft 365が必須）</span></h3>



<p>DETECTLANGUAGE関数を使うには、Microsoft 365のサブスクリプションが必要です。永続ライセンス版のExcel 2019・Excel 2021・LTSC 2024では使えません。</p>



<p>対応環境は次のとおりです。</p>



<ul class="wp-block-list"><li>Excel for Microsoft 365（Windows / Mac）</li><li>Excel for the web</li><li>Excel Mobile</li></ul>



<p>また、裏側でクラウド翻訳サービスを呼び出す仕組みなので、<strong>インターネット接続が必須</strong>です。オフライン環境では動きませんので注意してください。</p>



<p>お使いのバージョンが対応しているか、事前に確認しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc4">DETECTLANGUAGE関数の構文と戻り値</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文</span></h3>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(テキスト)</code></pre>



<p>引数は1つだけ、判定したいテキストまたはセル参照を指定するだけです。とてもシンプルですね。</p>



<h3 class="wp-block-heading"><span id="toc6">引数：テキスト</span></h3>



<p>言語を判定したい文字列、またはセル参照を指定します。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(&quot;Hello world&quot;)
=DETECTLANGUAGE(A2)</code></pre>



<p>直接文字列を入れる場合はダブルクォーテーションで囲みます。実務ではセル参照を使うのが一般的ですよ。</p>



<p>セル範囲を指定すると、スピル（数式が自動で配列に展開される機能）により一度に複数セルの判定ができます。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(A2:A20)</code></pre>



<p>1つの数式で20件分の判定結果がA2:A20の隣にずらっと表示されます。ループ処理を書く感覚で、しかも数式1つで済むのがうれしいですね。</p>



<h3 class="wp-block-heading"><span id="toc7">戻り値：ISO 639-1 言語コード</span></h3>



<p>DETECTLANGUAGE関数の戻り値は、ISO 639-1という国際規格に基づく2文字の言語コードです。代表的なものをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>言語コード</th><th>言語名</th></tr></thead><tbody><tr><td><code>ja</code></td><td>日本語</td></tr><tr><td><code>en</code></td><td>英語</td></tr><tr><td><code>zh</code></td><td>中国語</td></tr><tr><td><code>ko</code></td><td>韓国語</td></tr><tr><td><code>es</code></td><td>スペイン語</td></tr><tr><td><code>fr</code></td><td>フランス語</td></tr><tr><td><code>de</code></td><td>ドイツ語</td></tr><tr><td><code>it</code></td><td>イタリア語</td></tr><tr><td><code>pt</code></td><td>ポルトガル語</td></tr><tr><td><code>ru</code></td><td>ロシア語</td></tr><tr><td><code>ar</code></td><td>アラビア語</td></tr><tr><td><code>th</code></td><td>タイ語</td></tr><tr><td><code>vi</code></td><td>ベトナム語</td></tr></tbody></table></figure>



<p>Microsoft Translation Servicesがサポートする100以上の言語に対応しています。メジャーな言語はほぼカバーされているので、実務で困ることはまずありませんよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>中国語の場合、繁体字と簡体字の区別は関数によっては <code>zh-Hans</code>（簡体字）<code>zh-Hant</code>（繁体字）のように細分化されることもあります。基本的には2文字コードで返ると覚えておけば大丈夫です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">Excel DETECTLANGUAGE関数の基本的な使い方</span></h2>



<p>それでは実際に数式を組み立ててみましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">1つのセルの言語を判定する</span></h3>



<p>もっともシンプルな例です。A2セルの文字列の言語を判定します。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(A2)</code></pre>



<p>A2が「こんにちは」なら <code>ja</code> 、「Hello」なら <code>en</code> 、「Hola」なら <code>es</code> が返ります。一瞬で判定してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">複数セルの言語を一括判定する</span></h3>



<p>A2:A10に多言語のテキストが入っている場合、1つの数式で全行を判定できます。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(A2:A10)</code></pre>



<p>B2セルにこの数式を入れるだけで、B2:B10に判定結果がスピルします。数百件あっても1つの数式で済むのが快適ですよ。</p>



<h3 class="wp-block-heading"><span id="toc11">IF関数と組み合わせて日本語か判定する</span></h3>



<p>判定結果が日本語かどうかで分岐する例です。</p>



<pre class="wp-block-code"><code>=IF(DETECTLANGUAGE(A2)=&quot;ja&quot;, &quot;日本語&quot;, &quot;その他&quot;)</code></pre>



<p>顧客リストから日本語のレコードだけを「日本語」としてマークし、それ以外を「その他」に振り分けます。日本語対応可能な担当者へのアサインに使えますね。</p>



<h3 class="wp-block-heading"><span id="toc12">直接文字列を渡してテストする</span></h3>



<p>数式の動作を確認したいときは、直接文字列を渡すと手軽です。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(&quot;Bonjour le monde&quot;)</code></pre>



<p>この例では <code>fr</code> （フランス語）が返ります。数式の挙動チェックにどうぞ。</p>



<h2 class="wp-block-heading"><span id="toc13">実践的な使い方・応用例</span></h2>



<p>ここからは実務で役立つ応用パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc14">グローバル顧客リストを言語別に分類する</span></h3>



<p>海外の顧客から届いたお問い合わせ本文を、言語別に自動分類する例です。</p>



<p>A列に問い合わせ本文、B列に判定結果、C列に日本語の言語名を表示します。</p>



<p>B2セル:</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(A2)</code></pre>



<p>C2セル（SWITCH関数で日本語名に変換）:</p>



<pre class="wp-block-code"><code>=SWITCH(B2, &quot;ja&quot;,&quot;日本語&quot;, &quot;en&quot;,&quot;英語&quot;, &quot;zh&quot;,&quot;中国語&quot;, &quot;ko&quot;,&quot;韓国語&quot;, &quot;es&quot;,&quot;スペイン語&quot;, &quot;fr&quot;,&quot;フランス語&quot;, &quot;de&quot;,&quot;ドイツ語&quot;, &quot;その他&quot;)</code></pre>



<p>SWITCH関数（複数の候補値を順にチェックして一致した値を返す関数）を使うと、言語コードを読みやすい日本語ラベルに変換できます。顧客リストの見た目がぐっと分かりやすくなりますよ。</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>ja</td><td>日本語</td></tr><tr><td>Thank you for your support</td><td>en</td><td>英語</td></tr><tr><td>感谢您的支持</td><td>zh</td><td>中国語</td></tr><tr><td>Merci beaucoup</td><td>fr</td><td>フランス語</td></tr></tbody></table></figure>



<p>IFSの代わりにSWITCHを使うと数式がスッキリしますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">多言語アンケートを言語別に振り分ける</span></h3>



<p>アンケートの自由記述欄を言語別にカウントする例です。COUNTIF関数と組み合わせます。</p>



<pre class="wp-block-code"><code>=COUNTIF(B2:B500, &quot;ja&quot;)</code></pre>



<p>B列にDETECTLANGUAGE関数の結果を出しておけば、この数式で「日本語回答の件数」を集計できます。言語別の集計レポートがすぐに作れますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">FILTER関数と組み合わせて英語の行だけ抽出する</span></h3>



<p>さらに便利なのがFILTER関数との組み合わせです。英語のレコードだけを別シートに抜き出すイメージです。</p>



<pre class="wp-block-code"><code>=FILTER(A2:C500, DETECTLANGUAGE(A2:A500)=&quot;en&quot;)</code></pre>



<p>スピルで英語レコードが一気に展開されます。担当者別にシートを分けたいときに威力を発揮しますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">TRANSLATE関数と連携して自動翻訳する</span></h3>



<p>DETECTLANGUAGE関数の真価は、TRANSLATE関数（指定した言語に翻訳する関数）と組み合わせたときに発揮されます。</p>



<pre class="wp-block-code"><code>=TRANSLATE(A2, DETECTLANGUAGE(A2), &quot;ja&quot;)</code></pre>



<p>この数式は「A2の言語を自動検出し、日本語に翻訳する」という意味です。送信元の言語が何であれ、すべて日本語に統一できます。</p>



<p>多言語の顧客フィードバックを一括で日本語化するワークフローがこれ1本で完成しますよ。従来はGoogle翻訳やDeepLに1件ずつコピペしていた作業が、数式1つで終わります。</p>



<h3 class="wp-block-heading"><span id="toc18">IFERRORでエラー時のラベルを付ける</span></h3>



<p>短文や記号だけのセルでは判定に失敗することがあります。エラー時は「判定不可」と表示させましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(DETECTLANGUAGE(A2), &quot;判定不可&quot;)</code></pre>



<p>エラーで数式が止まらなくなるので、大量データの処理でも安心ですよ。</p>



<h2 class="wp-block-heading"><span id="toc19">短文・空白・数字のみセルでの挙動</span></h2>



<p>DETECTLANGUAGE関数にはいくつかクセがあります。実務で遭遇しやすいケースを押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">空白セルを渡した場合</span></h3>



<p>空白セルを渡すとエラーが返ります。IFERRORでラップするか、IF関数で事前にチェックしておきましょう。</p>



<pre class="wp-block-code"><code>=IF(A2=&quot;&quot;, &quot;&quot;, DETECTLANGUAGE(A2))</code></pre>



<p>空白の場合は何も表示せず、値があるときだけ判定する形ですね。</p>



<h3 class="wp-block-heading"><span id="toc21">数字だけのセル</span></h3>



<p>「12345」のように数字だけのセルは、言語判定ができず精度が落ちます。場合によっては英語と判定されたりエラーになったりします。</p>



<pre class="wp-block-code"><code>=IF(ISNUMBER(A2), &quot;数値&quot;, IFERROR(DETECTLANGUAGE(A2), &quot;判定不可&quot;))</code></pre>



<p>ISNUMBER関数（セルが数値かを判定する関数）で事前にフィルタしておくと、無駄な呼び出しを減らせますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">短すぎる文字列</span></h3>



<p>1〜2文字だけのセルは、どの言語か特定しきれず誤判定になりやすいです。たとえば「OK」を渡すと英語と判定されますが、「あ」1文字だと判定がブレることがあります。</p>



<p>実務では<strong>最低でも5〜10文字以上の文字列</strong>を渡すと安定した結果が得られますよ。</p>



<h3 class="wp-block-heading"><span id="toc23">複数言語が混在した文字列</span></h3>



<p>「Hello こんにちは」のように複数言語が混ざっている場合、文字数の多い方、または先頭側の言語が返る傾向があります。混在データは事前に分割しておくのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc24">よくあるエラーと対処法</span></h2>



<p>DETECTLANGUAGE関数で表示されるエラーと対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc25">Text Too Long エラー</span></h3>



<p><strong>原因</strong>: 渡したテキストが長すぎる。Microsoft Translation Servicesが受け付ける文字数上限を超えています。</p>



<p><strong>対処法</strong>: LEFT関数で先頭500文字程度に切り詰めてから渡しましょう。</p>



<pre class="wp-block-code"><code>=DETECTLANGUAGE(LEFT(A2, 500))</code></pre>



<p>言語判定は冒頭の文章だけでも十分精度が出るので、この方法で問題ありません。</p>



<h3 class="wp-block-heading"><span id="toc26">Error in Value エラー</span></h3>



<p><strong>原因</strong>: 空白セルや非テキスト値（エラー値など）を渡した。</p>



<p><strong>対処法</strong>: IF関数で空白チェック、またはIFERRORでラップしましょう。</p>



<pre class="wp-block-code"><code>=IFERROR(DETECTLANGUAGE(A2), &quot;判定不可&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc27">Request Throttled エラー</span></h3>



<p><strong>原因</strong>: 日次のクォータ（Microsoftが定めるリクエスト回数制限）を超えた。大量のセルに数式を貼り付けると発生しやすいです。</p>



<p><strong>対処法</strong>: 一度に処理する行数を分割するか、翌日にリトライしましょう。一括処理するときは値貼り付けで結果を固定しておくと安心ですよ。</p>



<pre class="wp-block-code"><code>判定 → 結果をコピー → 値のみ貼り付け</code></pre>



<p>この流れで再計算を防げます。</p>



<h3 class="wp-block-heading"><span id="toc28">#NAME? エラー</span></h3>



<p><strong>原因</strong>: DETECTLANGUAGE関数に対応していないバージョンのExcelで使っている。またはスペルミス。</p>



<p><strong>対処法</strong>: Microsoft 365のサブスクリプションで最新版にアップデートしてください。Excel 2019・2021・LTSC 2024では使えません。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>Text Too Long</td><td>文字数超過</td><td>LEFTで切り詰める</td></tr><tr><td>Error in Value</td><td>空白・非テキスト</td><td>IFERRORでラップ</td></tr><tr><td>Request Throttled</td><td>日次クォータ超過</td><td>分割処理・値貼り付け</td></tr><tr><td>#NAME?</td><td>非対応バージョン</td><td>Microsoft 365に更新</td></tr></tbody></table></figure>



<p>エラーパターンは限られているので、落ち着いて対処すれば大丈夫ですよ。</p>



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



<p>ExcelのDETECTLANGUAGE関数は、セルに入っている文字列の言語を自動判定してくれる便利な関数です。</p>



<p>この記事のポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DETECTLANGUAGE(テキスト)</code> で引数は1つだけ</li><li>Microsoft 365のサブスクリプションとインターネット接続が必須</li><li>戻り値はISO 639-1の2文字コード（<code>ja</code> <code>en</code> <code>zh</code> など）</li><li>スピル対応なので範囲を渡して一括判定できる</li><li>SWITCH関数と組み合わせれば日本語の言語名に変換できる</li><li>TRANSLATE関数と連携すれば多言語データを一括翻訳できる</li><li>短文・空白・数字のみのセルは誤判定やエラーに注意</li><li>エラー時はIFERRORでラップしておくと安心</li></ul>



<p>まずは <code>=DETECTLANGUAGE("Hello world")</code> のようなシンプルな式から試してみてください。グローバル業務のデータ整理がぐっとラクになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-detectlanguage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
