<?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>Microsoft 365 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/microsoft-365/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 13 Jun 2026 01:09:39 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>Microsoft 365 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>OfficeスクリプトとVBAの違い｜Microsoft 365で始めるクラウド自動化入門</title>
		<link>https://mashukabu.com/excel-office-scripts-vba-difference/</link>
					<comments>https://mashukabu.com/excel-office-scripts-vba-difference/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 01:09:39 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Excel自動化]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[Office Scripts]]></category>
		<category><![CDATA[Officeスクリプト]]></category>
		<category><![CDATA[VBA]]></category>
		<category><![CDATA[初心者]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7984</guid>

					<description><![CDATA[OfficeスクリプトはVBAと何が違うのか、コードなしで試せる「操作の記録」の手順を7ステップで解説。動作環境・言語・保存場所の違いを比較表でわかりやすく整理し、VBAとOffice Scriptsどちらを選ぶべきかの判断基準も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Office Scripts（Officeスクリプト）」という言葉を、最近Excelの画面やネット記事で見かけて気になっていませんか。VBAは何となく知っているけれど、Office Scriptsとの違いがよく分からない。そんな方は多いはずです。</p>



<p class="wp-block-paragraph">「また新しい技術を覚えないといけないのか」と身構えてしまう気持ちも分かります。クラウド移行が進む職場でExcel業務を抱えていると、なおさら不安になりますよね。</p>



<p class="wp-block-paragraph">でも安心してください。Office Scriptsは、プログラミングの知識がなくても「操作の記録」機能で今日から試せます。TypeScriptのコードを一行も書かずに自動化を体験できるのです。</p>



<p class="wp-block-paragraph">この記事では、Office ScriptsとVBAの違いを比較表で整理します。さらに、コードゼロで始める「操作の記録」の手順を7ステップで解説します。読み終えるころには、自分の仕事にどちらが向いているか判断できるようになりますよ。</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">Office Scripts（Officeスクリプト）とは？</a><ol><li><a href="#toc2" tabindex="0">VBAと何が違うのか：一言で言うと「クラウド対応の自動化ツール」</a></li><li><a href="#toc3" tabindex="0">使えるExcelの種類と必要なプラン（Microsoft 365）</a></li></ol></li><li><a href="#toc4" tabindex="0">VBAとOffice Scriptsの違いを比較</a><ol><li><a href="#toc5" tabindex="0">動作環境・言語・保存場所の違い（比較表）</a></li><li><a href="#toc6" tabindex="0">VBAが向いているケース／Office Scriptsが向いているケース（判断フローチャート）</a></li></ol></li><li><a href="#toc7" tabindex="0">コードゼロで始める「操作の記録」7ステップ</a><ol><li><a href="#toc8" tabindex="0">「自動化」タブの開き方（Web版Excelでの確認手順）</a></li><li><a href="#toc9" tabindex="0">記録開始→操作→停止→スクリプト確認の流れ</a></li><li><a href="#toc10" tabindex="0">保存したスクリプトを再実行する方法</a></li></ol></li><li><a href="#toc11" tabindex="0">Office Scriptsを使う前に知っておきたい注意点</a><ol><li><a href="#toc12" tabindex="0">使えない操作・制限事項</a></li><li><a href="#toc13" tabindex="0">Power Automateとの連携で広がる可能性</a></li></ol></li><li><a href="#toc14" tabindex="0">VBAかOffice Scriptsか：結局どちらを選ぶべきか</a><ol><li><a href="#toc15" tabindex="0">今VBAを使っている人向けの整理</a></li><li><a href="#toc16" tabindex="0">これから自動化を始める人へのおすすめ</a></li></ol></li><li><a href="#toc17" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Office Scripts（Officeスクリプト）とは？</span></h2>



<p class="wp-block-paragraph">Office Scriptsは、Microsoftが提供するExcel向けのクラウド対応自動化ツールです。Web版のExcelをはじめ、複数の環境で繰り返し作業を自動化できます。</p>



<p class="wp-block-paragraph">従来のVBAがExcelデスクトップアプリ内で完結していたのに対し、Office Scriptsはクラウドを前提に設計されています。ここが大きな考え方の違いです。</p>



<p class="wp-block-paragraph">公式情報によると、Office ScriptsはExcel for the web・Excel for Windows（Version 2210以降）・Excel for Macで動作します。記述言語はTypeScriptです（出典: Microsoft Support「Introduction to Office Scripts in Excel」）。</p>



<p class="wp-block-paragraph">TypeScriptと聞くと身構えるかもしれません。後ほど紹介する「操作の記録」を使えば、コードを書かずにスクリプトを作れます。まずは肩の力を抜いて読み進めてみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc2">VBAと何が違うのか：一言で言うと「クラウド対応の自動化ツール」</span></h3>



<p class="wp-block-paragraph">VBAとOffice Scriptsの違いを一言でまとめると、「動く場所」が決定的に異なります。VBAはあなたのパソコンの中で動くツールです。一方、Office Scriptsはクラウド上で動くツールです。</p>



<p class="wp-block-paragraph">VBAで作ったマクロは、Excelファイル（.xlsm）の中に保存されます。そのファイルを開いたパソコンでしか動きません。手元で完結する分、シンプルで分かりやすい仕組みです。</p>



<p class="wp-block-paragraph">これに対しOffice Scriptsのスクリプトは、ブックの中ではなくOneDriveやSharePointに保存されます。つまりスクリプトとファイルが切り離されているのです（出典: Microsoft Learn「Differences between Office Scripts and VBA macros」）。</p>



<p class="wp-block-paragraph">この違いがあるため、Office Scriptsはブラウザだけで動くWeb版Excelでも使えます。逆にVBAはWeb版Excelでは動作しません。「クラウドで共有しながら自動化したい」という今の働き方に、Office Scriptsはぴったり寄り添う設計なのですね。</p>



<p class="wp-block-paragraph">VBAとマクロそのものの関係をおさらいしたい方は、<a href="https://mashukabu.com/excel-vba-macro-difference/">Excel VBAとマクロの違い｜関係性と活用例を初心者向けに解説</a>もあわせて読むと理解が深まりますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">使えるExcelの種類と必要なプラン（Microsoft 365）</span></h3>



<p class="wp-block-paragraph">ここで重要な注意点があります。Office Scriptsは、誰でも無条件に使えるわけではありません。利用には対応したMicrosoft 365のライセンスが必要です。</p>



<p class="wp-block-paragraph">公式ドキュメントによると、利用できるのは法人向け・教育向けのプランです。具体的な対象は、Office 365 Business、Business Premium、ProPlus、A3、A5、Enterprise E1、E3、E5、F3などです。あわせてOneDrive for Businessも必須です（出典: Microsoft Learn「Platform limits and requirements with Office Scripts」）。</p>



<p class="wp-block-paragraph">つまり、会社や学校で配られているMicrosoft 365のアカウントなら使える可能性が高いです。一方、個人で契約しているMicrosoft 365 Personalなどでは事情が異なります。</p>



<p class="wp-block-paragraph">個人向けプラン（Personal/Family）でのOffice Scripts提供は、2026年5月時点でプレビュー段階です。利用にはMicrosoft 365 Insiderプログラムへの参加が必要とされています（出典: Microsoft Learn「Platform limits and requirements with Office Scripts」）。</p>



<p class="wp-block-paragraph">ですから個人ライセンスの方は、まだ正式には使えない可能性があります。「自分のExcelでは見当たらない」という場合、ライセンスの種類が原因かもしれません。まずは自分のアカウントが法人・教育向けかどうかを確認してみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc4">VBAとOffice Scriptsの違いを比較</span></h2>



<p class="wp-block-paragraph">ここからは、VBAとOffice Scriptsの違いをより具体的に見ていきます。「結局どこが違うのか」を一覧で押さえると、判断がぐっとラクになります。</p>



<p class="wp-block-paragraph">両者は似ているようで、得意分野がはっきり分かれています。どちらが優れているという話ではありません。用途によって向き不向きがあるだけなのです。</p>



<p class="wp-block-paragraph">まずは項目ごとの違いを表で整理します。そのあとで、どんなケースにどちらが向いているかを掘り下げていきますね。</p>



<h3 class="wp-block-heading"><span id="toc5">動作環境・言語・保存場所の違い（比較表）</span></h3>



<p class="wp-block-paragraph">VBAとOffice Scriptsの主な違いを、表にまとめました。気になる項目から見比べてみてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>Office Scripts</th><th>VBA</th></tr></thead><tbody><tr><td>記述言語</td><td>TypeScript</td><td>Visual Basic for Applications</td></tr><tr><td>保存場所</td><td>OneDrive / SharePoint（ブック外）</td><td>.xlsmファイル内</td></tr><tr><td>Web版Excel（ブラウザ）</td><td>○</td><td>×（動作しない）</td></tr><tr><td>Excel for Windows</td><td>○（Ver.2210以降）</td><td>○</td></tr><tr><td>Excel for Mac</td><td>○</td><td>○</td></tr><tr><td>追加ライセンス</td><td>×（法人・教育M365必須）</td><td>○（Excelに内蔵・不要）</td></tr><tr><td>アクセス範囲</td><td>ワークブック内のみ</td><td>デスクトップ全体（COM/OLE等）</td></tr><tr><td>Power Automate連携</td><td>○</td><td>×（連携不可）</td></tr><tr><td>イベント駆動（自動起動）</td><td>×（手動かフロー経由のみ）</td><td>○</td></tr><tr><td>共有ブック・組織共有</td><td>○（OneDriveで共有）</td><td>△（.xlsmファイル共有のみ）</td></tr><tr><td>コードゼロで作成</td><td>○（操作の記録）</td><td>○（マクロの記録）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この表から、いくつかの特徴が読み取れます。Office Scriptsはクラウドと共有に強く、VBAは手元のパソコンでの細かい制御に強い、という構図です。</p>



<p class="wp-block-paragraph">特に注目したいのが「アクセス範囲」の行です。VBAはExcelと同じ権限でパソコン全体を操作できます。ファイルを別の場所にコピーしたり、他のアプリを操作したりも可能です。</p>



<p class="wp-block-paragraph">一方Office Scriptsは、原則として開いているワークブックの中だけを操作します。デスクトップへのアクセスはできません（出典: Microsoft Learn「Differences between Office Scripts and VBA macros」）。一見すると制限に思えますが、これはクラウドで安全に動かすための設計でもあるのですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">VBAが向いているケース／Office Scriptsが向いているケース（判断フローチャート）</span></h3>



<p class="wp-block-paragraph">「結局、自分はどちらを使えばいいの」という疑問に答えるため、判断の流れを整理しました。下のフローチャートを順番にたどってみてください。</p>



<pre class="wp-block-code"><code>【自動化ツールの選び方フローチャート】

Q1. その自動化は誰がどこで使う？
 ├─ 自分のパソコンだけで完結する
 │    │
 │    Q2. パソコン内の他ファイルや他アプリも操作したい？
 │     ├─ はい → ★VBA を継続・採用
 │     └─ いいえ
 │          │
 │          Q3. Web版Excelやブラウザでも動かしたい？
 │           ├─ はい → ★Office Scripts を検討
 │           └─ いいえ → ★VBA でも Office Scripts でもOK
 │
 └─ チームでクラウド共有しながら使う
      │
      Q4. 決まった時間やメール受信で自動実行したい？
       ├─ はい → ★Office Scripts ＋ Power Automate
       └─ いいえ → ★Office Scripts を検討</code></pre>



<p class="wp-block-paragraph">このフローの考え方はシンプルです。「手元のパソコンで完結し、他のアプリも操作したい」ならVBAが向いています。長年VBAで業務を回しているなら、無理に乗り換える必要はありません。</p>



<p class="wp-block-paragraph">逆に「チームで共有したい」「ブラウザでも動かしたい」「定時に自動実行したい」ならOffice Scriptsが向いています。特に決まった時間に自動実行したい場合は、Power Automateとの連携が効果を発揮します。</p>



<p class="wp-block-paragraph">VBAは「動かすパソコンが決まっている個人作業」に強いツールです。VBAで実際にどんな自動化ができるかは、<a href="https://mashukabu.com/excel-vba-automation-guide/">ExcelのVBAで仕事を自動化する方法｜実務シーン別に解説</a>で具体例を確認できます。あわせて読むと、両者のイメージがくっきりしますよ。</p>



<p class="wp-block-paragraph">なお、両方とも「コードを書かずに記録だけで作る」入口を持っています。VBA側の入口である「マクロの記録」については、<a href="https://mashukabu.com/howto-macro-recording/">Excelのマクロの記録の使い方｜ボタン操作だけで自動化する方法</a>で詳しく解説しています。Office Scriptsの「操作の記録」と見比べると、考え方の共通点が見えてきますね。</p>



<h2 class="wp-block-heading"><span id="toc7">コードゼロで始める「操作の記録」7ステップ</span></h2>



<p class="wp-block-paragraph">ここからが、この記事のいちばんお伝えしたい部分です。Office Scriptsは「操作の記録（Action Recorder）」を使えば、コードを一行も書かずにスクリプトを作れます。</p>



<p class="wp-block-paragraph">仕組みはVBAの「マクロの記録」とよく似ています。あなたがExcelで行った操作を裏側で記録し、自動的にTypeScriptのコードに変換してくれるのです（出典: Microsoft Support「Record your actions as Office Scripts」）。</p>



<p class="wp-block-paragraph">ですから「TypeScriptが書けないと無理」と諦める必要はまったくありません。まずは記録して、再生する。それだけで自動化の第一歩を踏み出せます。</p>



<p class="wp-block-paragraph">これから7つのステップに分けて、画面の流れに沿って解説していきますね。</p>



<h3 class="wp-block-heading"><span id="toc8">「自動化」タブの開き方（Web版Excelでの確認手順）</span></h3>



<p class="wp-block-paragraph">まずは操作を記録するための「自動化」タブを開きます。これがOffice Scriptsの入口になります。</p>



<p class="wp-block-paragraph">ブラウザでWeb版Excelを開き、自動化したいブックを表示してください。上部のリボンを見ると、「ホーム」や「挿入」と並んで「自動化」というタブがあります。これをクリックします。</p>



<p class="wp-block-paragraph">もし「自動化」タブが見当たらない場合は、ライセンスや管理者設定が原因の可能性があります。前章で触れたとおり、法人・教育向けのMicrosoft 365でないと表示されないことがあります。</p>



<p class="wp-block-paragraph">またWeb版Excelで使うには、ブラウザのサードパーティCookieを有効にしておく必要があります（出典: Microsoft Learn「Platform limits and requirements with Office Scripts」）。タブが出ない場合は、これらの設定も一度見直してみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc9">記録開始→操作→停止→スクリプト確認の流れ</span></h3>



<p class="wp-block-paragraph">「自動化」タブを開けたら、いよいよ記録を始めます。ここからの4ステップが操作の記録の中心部分です。</p>



<p class="wp-block-paragraph">まずステップ2として、「自動化」タブの中にある「操作を記録」（記録から作成）をクリックします。すると画面の右側にタスクペインが開きます。ここに、これから行う操作が一覧で記録されていきます。</p>



<p class="wp-block-paragraph">次にステップ3として、自動化したい操作を普段どおりに実行します。たとえばセルに文字を入力したり、見出しに色を付けたり、表をテーブルに変換したりといった操作です。行った操作はリアルタイムでタスクペインに表示されていきます。</p>



<p class="wp-block-paragraph">操作が終わったら、ステップ4として「停止」ボタンをクリックします。これで記録は終了です。緊張せず、普段のExcel操作をするだけで大丈夫ですよ。</p>



<p class="wp-block-paragraph">そしてステップ5として、生成されたスクリプトを確認します。タスクペインには、あなたの操作がTypeScriptのコードに変換されて表示されています。たとえば、こんなイメージのコードが自動で作られます。</p>



<pre class="wp-block-code"><code>function main(workbook: ExcelScript.Workbook) {
  // 選択中のシートを取得
  let sheet = workbook.getActiveWorksheet();
  // A1セルに「売上集計」と入力
  sheet.getRange(&quot;A1&quot;).setValue(&quot;売上集計&quot;);
  // A1セルの文字を太字にする
  sheet.getRange(&quot;A1&quot;).getFormat().getFont().setBold(true);
}</code></pre>



<p class="wp-block-paragraph">このコードは、自分で書く必要はまったくありません。「ふーん、こういう形になるんだ」と眺めるだけで十分です。内容を理解できなくても、記録さえできていれば問題ありませんよ。</p>



<p class="wp-block-paragraph">なお、操作の記録には2つのモードがあります。特定のセルアドレスを固定して記録する「絶対モード」と、開始セルからの相対位置で記録する「相対モード」です（出典: Microsoft Support「Record your actions as Office Scripts」）。最初は絶対モードのままで問題ありません。慣れてきたら使い分けてみてください。</p>



<h3 class="wp-block-heading"><span id="toc10">保存したスクリプトを再実行する方法</span></h3>



<p class="wp-block-paragraph">最後の2ステップで、作ったスクリプトを保存して再利用します。ここまで来れば、もう自動化はあなたのものです。</p>



<p class="wp-block-paragraph">ステップ6として、スクリプトに分かりやすい名前を付けて保存します。デフォルトでは「Script 1」「Script 2」という名前が付いています。タスクペインの「名前の変更」から、「売上集計フォーマット」など内容が分かる名前に変えておきましょう。スクリプトはOneDriveに自動保存されます。</p>



<p class="wp-block-paragraph">ステップ7として、「実行」ボタンを押して動作を確認します。記録したとおりの操作が、一瞬で再現されれば成功です。手作業なら何分もかかる処理が、ワンクリックで終わるようになります。</p>



<p class="wp-block-paragraph">一度保存したスクリプトは、以降いつでも「自動化」タブから呼び出して実行できます。毎朝の定型処理や、月末の集計フォーマット整えなど、繰り返す作業に向いています。</p>



<p class="wp-block-paragraph">ここまでの流れを整理すると、(1)自動化タブを開く、(2)記録を開始、(3)操作する、(4)停止する、(5)スクリプトを確認、(6)名前を付けて保存、(7)実行で確認、という7ステップでした。コードを書かずにここまでできるのは、うれしいポイントですよね。</p>



<h2 class="wp-block-heading"><span id="toc11">Office Scriptsを使う前に知っておきたい注意点</span></h2>



<p class="wp-block-paragraph">便利なOffice Scriptsですが、万能ではありません。VBAでできていたことが、Office Scriptsではできない場合もあります。</p>



<p class="wp-block-paragraph">事前に「できないこと」を知っておくと、導入してから「あれ、動かない」と戸惑わずに済みます。ここでは主な制限事項と、逆に可能性が広がるポイントを紹介します。</p>



<p class="wp-block-paragraph">落ち込む必要はありません。制限を理解した上で使えば、Office Scriptsは十分に頼れる相棒になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">使えない操作・制限事項</span></h3>



<p class="wp-block-paragraph">まず押さえておきたいのが、Office Scriptsはワークブックの中しか操作できないという点です。VBAのようにパソコン内の他のファイルを開いたり、別アプリを動かしたりはできません（出典: Microsoft Learn「Differences between Office Scripts and VBA macros」）。</p>



<p class="wp-block-paragraph">次に、イベント駆動に対応していない点も覚えておきましょう。VBAでは「セルが変更されたら自動で動く」といった仕掛けが作れます。一方Office Scriptsは、手動実行かPower Automateフロー経由でしか起動できません（出典: Microsoft Learn「Differences between Office Scripts and VBA macros」）。</p>



<p class="wp-block-paragraph">データ量にも上限があります。Web版Excelでは、リクエスト・レスポンスは5MB以内です。扱える範囲は500万セル以内とされています（出典: Microsoft Learn「Platform limits and requirements with Office Scripts」）。通常の事務作業なら十分な余裕ですが、巨大なデータを扱う場合は意識しておきましょう。</p>



<p class="wp-block-paragraph">利用環境にも注意が必要です。TeamsでOffice Scriptsを使う場合、対応するのはブラウザ版のTeamsだけです。Windows・Mac・スマホアプリ版のTeamsでは使えません（出典: Microsoft Learn「Platform limits and requirements with Office Scripts」）。これらは制約ではありますが、知っていれば慌てずに対処できますね。</p>



<h3 class="wp-block-heading"><span id="toc13">Power Automateとの連携で広がる可能性</span></h3>



<p class="wp-block-paragraph">ここまで制限の話が続きましたが、Office Scriptsには大きな武器があります。それがPower Automateとの連携です。これはVBAには真似のできない強みです。</p>



<p class="wp-block-paragraph">Power Automateと組み合わせると、スクリプトを決まった時間に自動実行できます。たとえば「毎朝9時に売上ファイルを自動で集計する」といった運用が可能になります。メール受信などのイベントをきっかけに動かすこともできます（出典: Microsoft Learn「Differences between Office Scripts and VBA macros」）。</p>



<p class="wp-block-paragraph">つまり、手元のパソコンを開いていなくてもクラウド上で処理が走るのです。VBAは誰かがファイルを開いてマクロを実行しないと動きませんでした。この差は、定型業務の自動化において非常に大きいです。</p>



<p class="wp-block-paragraph">ただし連携にもルールがあります。Power Automate経由の実行は、1ユーザーあたり1日1,600回までです。同期操作のタイムアウトは120秒という制限もあります（出典: Microsoft Learn「Platform limits and requirements with Office Scripts」）。また、スクリプト内から外部APIを呼び出す処理は失敗します。最初のうちはこれらの上限に達することはまずないので、まずは気軽に試してみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc14">VBAかOffice Scriptsか：結局どちらを選ぶべきか</span></h2>



<p class="wp-block-paragraph">ここまで読んで、両者の違いはだいぶ見えてきたのではないでしょうか。最後に「自分はどう動けばいいか」を立場別に整理します。</p>



<p class="wp-block-paragraph">大切なのは、どちらか一方が絶対の正解ではないという点です。今の働き方とこれからの方向性によって、最適な答えは変わります。</p>



<p class="wp-block-paragraph">あなたの状況に近いほうを読んで、次の一歩を決める参考にしてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc15">今VBAを使っている人向けの整理</span></h3>



<p class="wp-block-paragraph">すでにVBAで業務を回している方は、慌てて乗り換える必要はありません。デスクトップで完結する自動化なら、VBAは今も現役で通用するツールです。</p>



<p class="wp-block-paragraph">特に、パソコン内の複数ファイルをまたいだ処理や、他アプリとの連携が必要な業務はVBAの独壇場です。これらはOffice Scriptsには真似できません。今の資産を捨てる必要はないのです。</p>



<p class="wp-block-paragraph">検討すべきタイミングは、業務がクラウド共有に移行したときです。「ファイルをチームで共同編集するようになった」「Web版Excelで作業する場面が増えた」。こうした変化があれば、その業務だけOffice Scriptsへの移行を検討する価値があります。</p>



<p class="wp-block-paragraph">つまりVBAとOffice Scriptsは「全面的に乗り換える」ものではありません。業務の性質ごとに使い分ければよいのです。VBAの理解をさらに深めたい方は、<a href="https://mashukabu.com/excel-vba-learning-roadmap/">Excel VBA学習ロードマップ｜初心者が挫折しない勉強の順番を解説</a>も参考になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">これから自動化を始める人へのおすすめ</span></h3>



<p class="wp-block-paragraph">これから自動化を学び始める方には、まず自分の環境を確認することをおすすめします。法人・教育向けのMicrosoft 365を使っているなら、Office Scriptsの「操作の記録」から始めるのが手軽です。</p>



<p class="wp-block-paragraph">理由は、クラウド前提の今の働き方と相性がよいからです。ブラウザで動き、チームで共有でき、Power Automateで自動実行までできます。これから長く使うことを考えれば、将来性のある選択肢といえます。</p>



<p class="wp-block-paragraph">一方、個人向けライセンスを使っている場合や、デスクトップ完結の作業が中心の場合はVBAから入るのも良い選択です。VBAは追加ライセンス不要で、すぐに始められます。学習情報も豊富です。VBAでの最初の一歩は、<a href="https://mashukabu.com/excel-vba-macro-beginners-guide/">Excel VBAマクロ入門｜初めてのマクロを作る手順とよく使うコード10選</a>が分かりやすいですよ。</p>



<p class="wp-block-paragraph">迷ったら、まずは手を動かしてみるのがいちばんです。Office Scriptsの「操作の記録」なら、コードを書かずに数分で自動化を体験できます。「自分にもできた」という小さな成功体験が、次へのやる気につながります。</p>



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



<p class="wp-block-paragraph">ここまで、Office ScriptsとVBAの違いを比較し、「操作の記録」の7ステップを解説してきました。最後に要点を振り返りましょう。</p>



<ul class="wp-block-list"><li>Office Scriptsはクラウド対応の自動化ツールで、Web版Excelでも動く</li><li>VBAは手元のパソコンで完結し、他アプリ操作にも強い</li><li>利用には法人・教育向けMicrosoft 365が必要（個人プランは2026年5月時点でプレビュー段階）</li><li>「操作の記録」を使えばTypeScriptのコードを書かずに自動化できる</li><li>クラウド共有や定時自動実行が必要ならOffice Scripts、デスクトップ完結ならVBAが向いている</li></ul>



<p class="wp-block-paragraph">新しいツールと聞くと身構えてしまいますが、Office Scriptsは思ったよりずっと手軽です。まずは「自動化」タブを開いて、簡単な操作を記録するところから試してみてください。</p>



<p class="wp-block-paragraph">VBAとOffice Scriptsは、どちらが正解という関係ではありません。あなたの仕事のスタイルに合わせて、上手に使い分けていきましょう。この記事が、その判断のお役に立てたならうれしいですよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-office-scripts-vba-difference/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのCOPILOT関数とは？使い方と活用例【AI数式入門】</title>
		<link>https://mashukabu.com/excel-copilot-function/</link>
					<comments>https://mashukabu.com/excel-copilot-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 13 Jun 2026 01:09:31 +0000</pubDate>
				<category><![CDATA[生成AI × Office]]></category>
		<category><![CDATA[Copilot 使い方]]></category>
		<category><![CDATA[Excel AI活用]]></category>
		<category><![CDATA[Excel COPILOT関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[テキスト処理]]></category>
		<category><![CDATA[事務効率化]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7962</guid>

					<description><![CDATA[ExcelのCOPILOT関数は、セルに自然言語の指示を書くだけでAIが結果を返す新しい数式です。基本の書き方・テキスト要約や分類などの実務活用例・Copilotチャットパネルとの使い分け・必要なライセンス条件まで、2026年6月時点の情報で解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「このアンケートの自由記述を、1件ずつ手で読んで要約している」——毎回そんな作業に半日溶かしていませんか。コメントの分類、ポジティブ・ネガティブの仕分け、問い合わせ内容へのタグ付け。どれも「人が読んで判断する」必要があるからこそ、関数では自動化できないと諦めてきた領域です。</p>



<p class="wp-block-paragraph">その諦めを覆すのが、Excelの新しい数式「COPILOT関数」です。セルに自然言語で指示を書くだけで、AIが結果を返してくれます。<code>=COPILOT("このコメントを一行で要約して", B2)</code> と書けば、もう手作業で読む必要はありません。</p>



<p class="wp-block-paragraph">この記事では、COPILOT関数の基本構文から、コピペでそのまま使える実務の活用例、Copilotチャットパネルとの使い分け、そして「自分のライセンスで使えるのか」までを、同僚に教える感覚でわかりやすく解説します。読み終わるころには、明日から自分のシートでAIを動かせるようになっているはずです。</p>



<p class="wp-block-paragraph">なお、COPILOT関数は2026年6月時点では展開が始まったばかりの新機能です。ライセンス要件や提供状況は時期によって変わるため、本記事ではその時点の情報であることを明記しながら進めます。</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">COPILOT関数とは？仕組みと基本の書き方</a><ol><li><a href="#toc2" tabindex="0">セル内でAIが動く仕組み</a></li><li><a href="#toc3" tabindex="0">従来の関数と何が違うのか</a></li><li><a href="#toc4" tabindex="0">COPILOT関数が得意なこと・苦手なこと</a></li><li><a href="#toc5" tabindex="0">基本の書き方（構文と引数）</a></li><li><a href="#toc6" tabindex="0">=COPILOT(プロンプト, 参照範囲) の形</a></li><li><a href="#toc7" tabindex="0">プロンプトの書き方のコツ</a></li></ol></li><li><a href="#toc8" tabindex="0">コピペで使える実務活用例3選</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">タグ付け：商品カテゴリや問い合わせ種別を自動付与する</a></li></ol></li><li><a href="#toc12" tabindex="0">チャットパネル・通常関数との使い分け</a><ol><li><a href="#toc13" tabindex="0">Copilotチャットパネルとの違い・使い分け方</a></li><li><a href="#toc14" tabindex="0">チャットパネルとCOPILOT関数：4軸比較</a></li><li><a href="#toc15" tabindex="0">COPILOT関数 vs 通常関数｜使い分け判断フロー</a></li><li><a href="#toc16" tabindex="0">テキスト処理はCOPILOT関数、数値計算は従来関数</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">Microsoft 365 Personal / Business Standard / Business Premium 比較</a></li><li><a href="#toc20" tabindex="0">Insiderプログラムへの参加手順</a></li></ol></li><li><a href="#toc21" tabindex="0">よくある失敗パターンと対処法（FAQ）</a><ol><li><a href="#toc22" tabindex="0">Q: 再計算のたびに結果が変わるのはなぜ？</a></li><li><a href="#toc23" tabindex="0">Q: 100件／10分のレート制限に引っかかったら？</a></li><li><a href="#toc24" tabindex="0">Q: 数値計算に使ったら精度がおかしい</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">COPILOT関数とは？仕組みと基本の書き方</span></h2>



<h3 class="wp-block-heading"><span id="toc2">セル内でAIが動く仕組み</span></h3>



<p class="wp-block-paragraph">COPILOT関数とは、セルに書いた自然言語の指示（プロンプト）をAIに渡し、その回答を数式の結果として返す新しいExcel関数です。<code>=SUM()</code> や <code>=VLOOKUP()</code> と同じように数式バーに入力しますが、計算するのは数値ではなく「言葉の意味」です。</p>



<p class="wp-block-paragraph">「この文章を要約して」「この内容をポジティブかネガティブで分類して」といった、これまで人が読んで判断していた処理を、セルの中で完結させられます。使われているAIモデルは gpt-4.1-mini（2025-04-14版）で、モデルは今後改善・変更される可能性があります。</p>



<p class="wp-block-paragraph">プロンプトと参照データはインターネット経由でAzure上のAIモデルに送られ、結果がセルに戻ってきます。そのため、利用にはアクティブなインターネット接続が必須です。なお、入力したプロンプトやデータがAIモデルの学習に使われることはない、と公式に明記されています。</p>



<h3 class="wp-block-heading"><span id="toc3">従来の関数と何が違うのか</span></h3>



<p class="wp-block-paragraph">従来の関数は「決められたルールどおりに計算する」のが仕事です。<code>=SUM(A1:A10)</code> は何度実行してもまったく同じ合計を返します。入力が同じなら出力も必ず同じ、という決定論的な動きです。</p>



<p class="wp-block-paragraph">一方COPILOT関数は、AIが「意味を解釈して」回答を作ります。同じプロンプト・同じデータでも、再計算のたびに表現が少し変わることがあります。ここが従来の関数と決定的に違う点で、後述する注意点にもつながります。</p>



<p class="wp-block-paragraph">もうひとつの違いは「入力の自由度」です。従来の関数は引数の型や順序が厳密に決まっています。COPILOT関数の指示は普段の日本語で書けます。「丁寧語で」「20文字以内で」といった細かい注文も、文章で伝えられるのが強みです。</p>



<h3 class="wp-block-heading"><span id="toc4">COPILOT関数が得意なこと・苦手なこと</span></h3>



<p class="wp-block-paragraph">得意なのは、テキストを扱う処理です。公式が推奨する用途として、テキストの要約・サンプルデータの生成・内容の分類（カテゴリ分け）・テキスト生成・Web検索が挙げられています。「人が文章を読んで判断していた作業」全般がターゲットです。</p>



<p class="wp-block-paragraph">逆に使ってはいけないのが、数値計算です。公式は不適切な用途として以下を明示しています。数値計算、法的／規制／コンプライアンス要件の処理、ブック内データのルックアップ（VLOOKUPの代わりに使うこと）です。合計や検索は、従来どおり <code>=SUM</code> や <code>=VLOOKUP</code> を使ってください。</p>



<p class="wp-block-paragraph">つまりCOPILOT関数は「言葉の処理は任せろ、計算は従来関数に任せる」という役割分担で考えるのが正解です。この線引きは記事後半の判断フローでもう一度整理します。</p>



<h3 class="wp-block-heading"><span id="toc5">基本の書き方（構文と引数）</span></h3>



<p class="wp-block-paragraph">COPILOT関数の構文はシンプルです。指示（プロンプト）と、参照したいデータ（コンテキスト）を渡すだけです。まずは基本形を押さえましょう。</p>



<pre class="wp-block-code"><code>=COPILOT(prompt_part1, [context1], [prompt_part2], [context2], ...)</code></pre>



<p class="wp-block-paragraph">引数は可変長で、プロンプトとコンテキストを交互に何組でも指定できます。各引数の意味は次の表のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>内容</th></tr></thead><tbody><tr><td>prompt_part1</td><td>必須</td><td>AIへの指示（テキスト）。「要約して」「分類して」など</td></tr><tr><td>context1</td><td>省略可</td><td>指示の対象データ。単一セルまたは範囲参照（例: B2、A2:A20）</td></tr><tr><td>prompt_part2 以降</td><td>省略可</td><td>追加の指示。条件を足したいときに使う</td></tr><tr><td>context2 以降</td><td>省略可</td><td>追加の参照データ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は動的配列（スピル）です。AIが複数の結果を返す場合は、隣接するセルに自動的に展開（スピル）されます。1件の回答なら1セルに、リスト状の回答なら縦や表形式に広がります。</p>



<h3 class="wp-block-heading"><span id="toc6">=COPILOT(プロンプト, 参照範囲) の形</span></h3>



<p class="wp-block-paragraph">もっとも基本的な使い方は、プロンプトとセル参照を1組だけ渡す形です。B2セルにある長文コメントを一行に要約するなら、次のように書きます。</p>



<pre class="wp-block-code"><code>=COPILOT(&quot;この内容を一行で要約して&quot;, B2)</code></pre>



<p class="wp-block-paragraph">参照範囲は1つのセルだけでなく、複数セルの範囲も指定できます。A2からA20までの顧客の声をまとめて1つの傾向にしたいときは、範囲をそのまま渡します。</p>



<pre class="wp-block-code"><code>=COPILOT(&quot;これらの意見の共通点を3点にまとめて&quot;, A2:A20)</code></pre>



<p class="wp-block-paragraph">公式の使用例として、A2に地域名を入れて関連イベントを調べる使い方も紹介されています。</p>



<pre class="wp-block-code"><code>=COPILOT(&quot;次の地域の今後の祝日や主要イベントを調べて&quot;, A2)</code></pre>



<h3 class="wp-block-heading"><span id="toc7">プロンプトの書き方のコツ</span></h3>



<p class="wp-block-paragraph">プロンプトは「具体的・簡潔・出力形式を指定する」の3点を意識すると、結果が安定します。「要約して」だけより「30文字以内で要約して」のほうが、毎回近い長さの回答が返ります。</p>



<p class="wp-block-paragraph">出力のばらつきを抑えたいときは、選択肢を明示するのが有効です。分類タスクなら「ポジティブ・ネガティブ・ニュートラルのいずれかで答えて」と候補を限定すると、想定外の答えが減ります。</p>



<p class="wp-block-paragraph">複数の条件を足したいときは、プロンプトを複数の引数に分けても、1つの文章に詰め込んでもかまいません。次の例は、対象データと出力条件を分けて指定した形です。</p>



<pre class="wp-block-code"><code>=COPILOT(&quot;次のレビューを要約して。&quot;, B2, &quot;出力は20文字以内、敬体で。&quot;)</code></pre>



<h2 class="wp-block-heading"><span id="toc8">コピペで使える実務活用例3選</span></h2>



<p class="wp-block-paragraph">ここからは、事務作業でそのまま役立つ3つのユースケースを、コピペできる数式付きで紹介します。いずれも「人が読んで判断していた作業」をセル1つに置き換えるものです。</p>



<p class="wp-block-paragraph">対象データが入っている列を1つ用意し、その隣のセルにCOPILOT関数を入力していくイメージです。1行目に数式を作って、あとは下方向にコピーすれば列全体に適用できます。</p>



<h3 class="wp-block-heading"><span id="toc9">テキスト要約：アンケート・コメントを1行にまとめる</span></h3>



<p class="wp-block-paragraph">自由記述のアンケートやレビューを、ひと目で把握できる一行に圧縮するパターンです。B列に元のコメントが入っているとして、C列に要約を出します。</p>



<pre class="wp-block-code"><code>=COPILOT(&quot;このコメントの要点を1行（30文字以内）で要約して&quot;, B2)</code></pre>



<p class="wp-block-paragraph">長文が並ぶ列でも、要約列を1つ用意するだけで全体の傾向がつかみやすくなります。報告資料に貼る一覧表を作るときに重宝します。</p>



<h3 class="wp-block-heading"><span id="toc10">感情分類：ポジティブ／ネガティブ／ニュートラルに仕分ける</span></h3>



<p class="wp-block-paragraph">レビューや問い合わせの感情を3区分に仕分けるパターンです。候補を明示することで、答えのブレを抑えます。</p>



<pre class="wp-block-code"><code>=COPILOT(&quot;このレビューの感情を、ポジティブ・ネガティブ・ニュートラルのいずれか1語で答えて&quot;, B2)</code></pre>



<p class="wp-block-paragraph">仕分け結果が列に並べば、あとは従来関数で集計できます。COPILOT関数の結果列に対して <code>=COUNTIF(C:C, "ネガティブ")</code> を使えば、ネガティブ件数が一発で出ます。AIで分類し、数えるのは従来関数という組み合わせが効率的です。</p>



<h3 class="wp-block-heading"><span id="toc11">タグ付け：商品カテゴリや問い合わせ種別を自動付与する</span></h3>



<p class="wp-block-paragraph">問い合わせ内容や商品説明から、種別タグを自動で付けるパターンです。社内で使っているカテゴリ名を候補として渡すと、運用ルールに沿った分類になります。</p>



<pre class="wp-block-code"><code>=COPILOT(&quot;この問い合わせを、返品・配送・不具合・その他のいずれかに分類して&quot;, B2)</code></pre>



<p class="wp-block-paragraph">候補リストが多い場合は、別セルにカテゴリ一覧を用意して範囲で渡す方法もあります。指示文とカテゴリ範囲を組み合わせれば、メンテナンスもしやすくなります。</p>



<pre class="wp-block-code"><code>=COPILOT(&quot;この商品説明に最も合うカテゴリを次の一覧から1つ選んで&quot;, B2, &quot;カテゴリ一覧:&quot;, $E$2:$E$10)</code></pre>



<h2 class="wp-block-heading"><span id="toc12">チャットパネル・通常関数との使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc13">Copilotチャットパネルとの違い・使い分け方</span></h3>



<p class="wp-block-paragraph">「それ、いつものCopilotチャットで質問すればいいのでは？」——ここが多くの人が引っかかるポイントです。Excelには、AIを使う経路が複数あります。画面横に開くチャットパネル、今回のCOPILOT関数、そして複数ステップを一括自動化するエージェントモードです。</p>



<p class="wp-block-paragraph">やりたい処理の種類によって最適な道具は変わります。迷ったら、次の3分岐フローで判断してください。</p>



<pre class="wp-block-code"><code>やりたい処理は？
├─ テキストの解釈・生成（要約・分類・タグ付け）
│    → COPILOT関数
├─ 数値計算・検索・集計（合計・平均・VLOOKUP）
│    → 従来関数（SUM / IF / VLOOKUP など）
└─ 複数ステップの繰り返し作業を丸ごと自動化
     → Copilotエージェントモード</code></pre>



<h3 class="wp-block-heading"><span id="toc14">チャットパネルとCOPILOT関数：4軸比較</span></h3>



<p class="wp-block-paragraph">チャットパネルは、人と対話しながら作業を進める「アシスタント」です。一方COPILOT関数は、セルに埋め込まれて他の関数と一緒に動く「部品」です。この違いを4つの軸で整理してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較軸</th><th>Copilotチャットパネル</th><th>COPILOT関数</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>可能（COUNTIFやIFと組み合わせられる）</td></tr><tr><td>向いている場面</td><td>その場で1回だけ相談・分析したいとき</td><td>同じ処理を列全体に一括適用したいとき</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最大の違いは「結果がシートに残るかどうか」と「他の関数とつなげられるか」です。「1件だけその場で相談したい」ならチャットパネル、「同じ処理を何十件・何百件に適用したい」ならCOPILOT関数を選んでください。</p>



<h3 class="wp-block-heading"><span id="toc15">COPILOT関数 vs 通常関数｜使い分け判断フロー</span></h3>



<h3 class="wp-block-heading"><span id="toc16">テキスト処理はCOPILOT関数、数値計算は従来関数</span></h3>



<p class="wp-block-paragraph">数値計算にCOPILOT関数を使ってはいけません。公式も不適切な用途として明示しています。AIは意味の解釈は得意でも、正確な四則演算や厳密なルックアップには向かないからです。</p>



<p class="wp-block-paragraph">実務では両者を組み合わせるのが定石です。「COPILOT関数で感情分類 → COUNTIFで件数集計」のように、判断はAI・計算は従来関数と分担させると精度も速度も両立します。</p>



<h3 class="wp-block-heading"><span id="toc17">繰り返し自動化はエージェントモードへ</span></h3>



<p class="wp-block-paragraph">「データの取り込みから集計、レポート作成まで一連の流れを自動化したい」というレベルになると、1つの関数では収まりません。そこで登場するのが、複数ステップを自動実行するエージェントモードです。</p>



<p class="wp-block-paragraph">COPILOT関数が「1つのセルで1つの仕事を頼む」のに対し、エージェントモードは「一連の作業全体をAIに任せる」イメージです。詳しい設定方法は<a href="https://mashukabu.com/excel-copilot-agent-mode-guide/">Excel Copilotエージェントモードの使い方</a>を参照してください。</p>



<p class="wp-block-paragraph">そもそもCopilotと他のAI（ChatGPT・Gemini）をどう使い分けるか迷っている方は、<a href="https://mashukabu.com/chatgpt-gemini-copilot-comparison/">ChatGPT・Gemini・Copilotの違いと使い分け</a>もあわせてどうぞ。事務職目線での選び方をまとめています。</p>



<h2 class="wp-block-heading"><span id="toc18">使うために必要なライセンスと条件</span></h2>



<p class="wp-block-paragraph">ここが「自分は使えるのか」のいちばん気になるところでしょう。結論から言うと、COPILOT関数は誰でもすぐ使えるわけではなく、特定のライセンスが必要です。以下はすべて2026年6月時点の情報です。</p>



<p class="wp-block-paragraph">職場・学校アカウントの場合は、Microsoft 365 Copilotアドオンライセンスが必須です。個人ユーザーの場合は、Microsoft 365 Premiumのサブスクライバーのみ利用できます。Personal や Family は対象外なので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc19">Microsoft 365 Personal / Business Standard / Business Premium 比較</span></h3>



<p class="wp-block-paragraph">「うちの会社のプランで使えるの？」を判断しやすいよう、主要プランの利用可否を表にまとめました（2026年6月時点）。</p>



<figure class="wp-block-table"><table><thead><tr><th>プラン</th><th>COPILOT関数の利用可否</th><th>補足</th></tr></thead><tbody><tr><td>Microsoft 365 Personal / Family</td><td>不可</td><td>Premiumへの切り替えが必要</td></tr><tr><td>Microsoft 365 Premium（個人）</td><td>可</td><td>個人で使うならこれ</td></tr><tr><td>Business Basic</td><td>要確認</td><td>Copilotアドオンの購入可否・条件は契約形態により異なる</td></tr><tr><td>Business Standard</td><td>要確認</td><td>同上。管理者または公式ページで確認</td></tr><tr><td>Business Premium</td><td>可（Copilotアドオン追加購入が必要）</td><td>アドオンなしでは不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">重要なポイントは2つあります。1つ目は、法人プランではいずれも「Microsoft 365 Copilot アドオンの追加購入」が前提になること。アドオンの価格は$30/ユーザー/月（年払い）が基本です。2つ目は、Business Basic / Standard でのアドオン購入可否や COPILOT 関数の展開状況は契約形態・テナント設定によって異なるため、自社の管理者か<a href="https://www.microsoft.com/ja-jp/microsoft-365/copilot">Microsoft公式のライセンスページ</a>で最新条件を確認してほしいことです。</p>



<p class="wp-block-paragraph">なお、AIクレジットについては、Personal/Familyが月60クレジット（Copilot全機能で共有）であるのに対し、Microsoft 365 Premiumは実質無制限です。ただし前述のとおり、Personal/FamilyではCOPILOT関数自体が現時点で利用できません。</p>



<h3 class="wp-block-heading"><span id="toc20">Insiderプログラムへの参加手順</span></h3>



<p class="wp-block-paragraph">もうひとつ重要な条件があります。2026年6月時点のCOPILOT関数は、「Frontierプログラム」および「Microsoft 365 Insiderプログラム」の参加者のみ利用可能です。正式ライセンスを持っていても、Insider設定をしないと関数が出てこない可能性があります。</p>



<p class="wp-block-paragraph">一般提供（GA）は、Excel デスクトップ版・Web版ともに2026年12月予定とされています（ロードマップID: 499658 / 499660）。今すぐ試したい場合は、Excelの[ファイル]→[アカウント]からMicrosoft 365 Insiderプログラムに参加し、最新ビルドに更新したうえで動作を確認してください。</p>



<p class="wp-block-paragraph">新機能ゆえ、提供状況は流動的です。<code>=COPILOT(</code> と入力しても候補に出ない場合は、ライセンス・Insider参加状況・Excelのバージョンを順に確認するのが近道です。</p>



<h2 class="wp-block-heading"><span id="toc21">よくある失敗パターンと対処法（FAQ）</span></h2>



<p class="wp-block-paragraph">最後に、実際に使い始めると遭遇しがちなつまずきポイントを、対処法とセットでまとめます。事前に知っておくだけで、無駄なハマりを避けられます。</p>



<h3 class="wp-block-heading"><span id="toc22">Q: 再計算のたびに結果が変わるのはなぜ？</span></h3>



<p class="wp-block-paragraph">A: COPILOT関数はAIが意味を解釈して回答するため、同じプロンプト・同じデータでも再計算のたびに表現が変わることがあります。これは仕様で、公式も非決定論的な挙動として明記しています。モデルの改善によって将来結果が変わることもあります。</p>



<p class="wp-block-paragraph">対処法は「結果を値として固定する」ことです。COPILOT関数を入れたセル範囲をコピーし、[形式を選択して貼り付け]→[値]で同じ場所に貼り付けます。AIの回答がただの文字列に変わり、以降は再計算で変動しなくなります。報告書に使う確定値は、この手順で固定しておくのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc23">Q: 100件／10分のレート制限に引っかかったら？</span></h3>



<p class="wp-block-paragraph">A: COPILOT関数には、10分間に最大100回まで、というレート制限があります（公式明記）。大量の行に一気に数式を入れると、この上限に達してエラーになることがあります。</p>



<p class="wp-block-paragraph">対処法は処理を分割することです。100行ずつブロックに分けて実行し、上限に近づいたら少し時間を空けてから次のブロックを計算します。終わったブロックから順に値貼り付けで固定すると、再計算で同じ行が無駄に消費されるのを防げます。確定したら固定するを習慣にすると安定します。</p>



<h3 class="wp-block-heading"><span id="toc24">Q: 数値計算に使ったら精度がおかしい</span></h3>



<p class="wp-block-paragraph">A: それは想定どおりの結果です。COPILOT関数は数値計算には向いておらず、公式も不適切な用途として明示しています。合計・平均・検索（VLOOKUP相当）には、必ず従来の関数を使ってください。</p>



<p class="wp-block-paragraph">「言葉の処理はCOPILOT関数、数字の処理は従来関数」と割り切るのが安全です。判断はAIに任せ、その結果をCOUNTIFやSUMで集計するという分業にすれば、AIの解釈力と関数の正確さの両方を活かせます。</p>



<p class="wp-block-paragraph">なお補足として、機密ラベル（Confidential／Highly Confidential）が付いたブックではCOPILOT関数は使用できません。社内の機密文書で動かない場合は、ラベル設定を確認してみてください。</p>



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



<p class="wp-block-paragraph">COPILOT関数は、セルに自然言語の指示を書くだけでAIが結果を返す、Excelの新しい数式です。要約・分類・タグ付けといった「人が読んで判断していたテキスト処理」を、<code>=COPILOT("指示", 範囲)</code> の一行で自動化できます。</p>



<p class="wp-block-paragraph">押さえておきたいポイントは次の3つです。第一に、テキスト処理はCOPILOT関数・数値計算は従来関数と役割分担すること。第二に、再計算で結果が変わるため、確定値は値貼り付けで固定すること。第三に、2026年6月時点では利用に特定ライセンスとInsider参加が必要で、一般提供は同年12月予定であることです。</p>



<p class="wp-block-paragraph">まずは手元のアンケートやコメントの列で、要約や分類を1行試すところから始めてみてください。「人が読む作業」がセル1つに置き換わる感覚をつかめれば、日々の事務作業の景色が変わるはずです。セルの中でPythonを実行する<a href="https://mashukabu.com/excel-python-in-excel/">Python in Excel（PY関数）の使い方</a>もあわせて知っておくと便利です。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-copilot-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python in Excel入門｜Copilotで書けるノーコード活用術</title>
		<link>https://mashukabu.com/python-in-excel-how-to-use/</link>
					<comments>https://mashukabu.com/python-in-excel-how-to-use/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 22:00:43 +0000</pubDate>
				<category><![CDATA[生成AI × Office]]></category>
		<category><![CDATA[Copilot]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[Python in Excel]]></category>
		<category><![CDATA[データ分析]]></category>
		<category><![CDATA[ノーコード]]></category>
		<category><![CDATA[初心者向け]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8015</guid>

					<description><![CDATA[Python in ExcelはMicrosoft 365のExcelでPythonコードを動かせる機能です。CopilotにプロンプトでPythonコードを生成してもらい、PYセルに貼り付けるだけのノーコード運用法を画像付きで解説。VBA・GAS・標準関数との使い分け早見表も掲載。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Excelの集計、もう関数の組み合わせだけでは限界かも」。</p>



<p class="wp-block-paragraph">そう感じたことはありませんか。数万行のデータを回すと重くなる、ピボットでは痒いところに手が届かない、VBAはメンテが怖い。そんな悩みを一気に解決してくれるのが <strong>Python in Excel</strong> です。ExcelのセルにPythonコードを書いて、その場で実行できる新機能です。</p>



<p class="wp-block-paragraph">しかも今は、Pythonの文法を一切知らなくても大丈夫。<strong>Copilot（Microsoftの生成AIアシスタント）</strong> に日本語で指示すれば、必要なPythonコードを自動生成してくれます。あとはそれをセルに貼り付けるだけです。</p>



<p class="wp-block-paragraph">この記事では、Python in Excelの使い方を「Pythonを書かない前提」で丁寧に解説します。VBA・GAS・標準関数との使い分け早見表、pandasとmatplotlibを使ったノーコード運用フローの実演も紹介します。「コードの中身を理解しなくていいのか？」という素朴な疑問にもお答えします。</p>



<p class="wp-block-paragraph">読み終わる頃には、明日からの集計作業が一段ラクになるはずです。</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">Python in Excelとは？VBAとの違いをざっくり理解する</a><ol><li><a href="#toc2" tabindex="0">セルにPythonコードを入力するだけ——仕組みの概要</a></li><li><a href="#toc3" tabindex="0">VBA・GAS・標準関数・Python in Excel の使い分け早見表</a></li><li><a href="#toc4" tabindex="0">使うのに必要な環境（Microsoft 365 サブスクリプション）</a></li></ol></li><li><a href="#toc5" tabindex="0">Copilotを使えばPythonを書かなくていい理由</a><ol><li><a href="#toc6" tabindex="0">「Copilot in Excel with Python」とは何か</a></li><li><a href="#toc7" tabindex="0">ノーコード運用フローの全体像</a></li></ol></li><li><a href="#toc8" tabindex="0">ノーコード運用フロー実演①：pandasで大量データを集計する</a><ol><li><a href="#toc9" tabindex="0">手順ステップ解説</a></li><li><a href="#toc10" tabindex="0">使えるプロンプト例</a></li></ol></li><li><a href="#toc11" tabindex="0">ノーコード運用フロー実演②：matplotlibでヒートマップを生成する</a><ol><li><a href="#toc12" tabindex="0">手順ステップ解説</a></li><li><a href="#toc13" tabindex="0">使えるプロンプト例</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></ol></li><li><a href="#toc17" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc18" tabindex="0">Python in Excelは無料で使えますか？</a></li><li><a href="#toc19" tabindex="0">Macでは使えませんか？</a></li><li><a href="#toc20" tabindex="0">VBAはもう不要になりますか？</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ：Python in Excel × Copilotで何が変わるか</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Python in Excelとは？VBAとの違いをざっくり理解する</span></h2>



<p class="wp-block-paragraph">まずは <strong>Python in Excel</strong> がどんな機能なのか、ざっくり全体像をつかみましょう。Pythonを知らない方でもイメージできるように、仕組み・他ツールとの違い・必要な環境の3点に絞って解説します。</p>



<h3 class="wp-block-heading"><span id="toc2">セルにPythonコードを入力するだけ——仕組みの概要</span></h3>



<p class="wp-block-paragraph">Python in Excelは、Excelのセルに <code>=PY(...)</code> と入力することでPythonコードを実行できる機能です。書いたコードはローカルPCではなく、Microsoftが用意した <strong>Anaconda（Pythonのデータ分析向け実行環境）</strong> のクラウド上で実行されます。結果だけがExcelのセルに返ってくる仕組みです。</p>



<p class="wp-block-paragraph">コードは数式バー上部の「Pythonエディタ」から入力します。構文はシンプルです。</p>



<pre class="wp-block-code"><code>=PY(python_code, return_type)</code></pre>



<p class="wp-block-paragraph"><code>return_type</code> は <code>0</code> でExcel値として返し、<code>1</code> でPythonオブジェクトとして返します。Excelデータを参照したいときは <code>xl()</code> というカスタム関数を使います。</p>



<pre class="wp-block-code"><code># テーブル全体を参照
df = xl(&quot;Sales[#All]&quot;, headers=True)

# セル範囲を参照
values = xl(&quot;A1:C10&quot;, headers=True)</code></pre>



<p class="wp-block-paragraph">デフォルトで <code>pandas</code>（表形式データ処理）、<code>numpy</code>（数値計算）、<code>matplotlib</code>（グラフ描画）、<code>seaborn</code>（統計可視化）、<code>statsmodels</code>（統計モデル）の5つが読み込み済みです。追加で30以上のライブラリも <code>import</code> 文で利用できます。</p>



<p class="wp-block-paragraph">なお、<code>PY関数</code> は他のExcel関数と組み合わせて使えない点だけ覚えておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc3">VBA・GAS・標準関数・Python in Excel の使い分け早見表</span></h3>



<p class="wp-block-paragraph">「結局どのツールを使えばいいの？」という疑問にお答えするため、4つのツールを4軸で比較した早見表を用意しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>標準関数</th><th>VBA</th><th>GAS</th><th>Python in Excel</th></tr></thead><tbody><tr><td>得意な処理</td><td>軽い集計・参照</td><td>Excel操作の自動化</td><td>Googleサービス連携</td><td>大量データ分析・可視化</td></tr><tr><td>処理規模</td><td>〜1万行</td><td>〜10万行</td><td>〜数万行</td><td>数十万行以上も可</td></tr><tr><td>必要スキル</td><td>関数の知識</td><td>VBA文法</td><td>JavaScript知識</td><td>Copilot使えればOK</td></tr><tr><td>環境依存</td><td>Excel全般</td><td>Excel（デスクトップ）</td><td>Googleスプレッドシート</td><td>M365有料+Win/Mac/Web</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは右端の「必要スキル」です。VBAやGASは文法習得がハードルでしたが、Python in ExcelはCopilotに丸投げできるため、事務職でも実質的に導入の壁がありません。</p>



<h3 class="wp-block-heading"><span id="toc4">使うのに必要な環境（Microsoft 365 サブスクリプション）</span></h3>



<p class="wp-block-paragraph">利用には <strong>有料のMicrosoft 365ライセンス</strong> が必要です。無料ライセンスやデバイスベースライセンスでは使えません。</p>



<p class="wp-block-paragraph">対応OSはWindows・Mac・Excel on the webです。iPad・iPhone・Androidは非対応なので注意してください。Windowsなら Current Channel Version 2408（Build 17928.20114）以降が最低ビルドです。Macなら Enterprise/Business向けは Version 16.96（Build 25041326）以降、Family/Personal向けは Beta Channel Version 16.95（Build 25021921）以降が対象です。</p>



<p class="wp-block-paragraph">2025年後半からはOffice 365 E1、Microsoft 365 Business Basic、Office 365 F3にも対応が拡大しています。以前「対象外だった」方も、一度ライセンスを確認し直してみる価値があります。</p>



<h2 class="wp-block-heading"><span id="toc5">Copilotを使えばPythonを書かなくていい理由</span></h2>



<p class="wp-block-paragraph">Python in Excelの本当の価値は、<strong>Copilot in Excel with Python</strong> という連携機能と組み合わせたときに発揮されます。ここではCopilot連携の中身と、ノーコード運用の全体像を見ていきます。</p>



<h3 class="wp-block-heading"><span id="toc6">「Copilot in Excel with Python」とは何か</span></h3>



<p class="wp-block-paragraph">Copilot in Excel with Pythonは、自然言語のプロンプトからPythonコードを自動生成してくれる機能です。「売上データをカテゴリ別に集計して」と日本語で頼むだけで、CopilotがpandasのコードとPYセルを用意してくれます。</p>



<p class="wp-block-paragraph">対応プラットフォームはWindowsとWebで、日本語にも対応済みです。2025年4月からは推論モデルを使う「Think Deeper」モードも追加されました。複雑な分析の場合は新しいワークシートに分析プランごと自動挿入してくれます。</p>



<p class="wp-block-paragraph">さらに2025年12月からは <strong>Agent Mode（エージェント型実行）</strong> がExcel for webで一般提供されました。2026年1月にはWindows/Macへも展開されています。「計画→実行→検証→修正」を自律的にループするモードで、一問一答のCopilotより踏み込んだ使い方ができます。</p>



<p class="wp-block-paragraph">なお、旧 <strong>Copilot App Skills</strong> のPython連携は2026年2月末で廃止されました。今後はAgent ModeまたはAnalystへの移行が推奨されています。</p>



<h3 class="wp-block-heading"><span id="toc7">ノーコード運用フローの全体像</span></h3>



<p class="wp-block-paragraph">Python in Excel × Copilotのノーコード運用は、次の3ステップに集約されます。</p>



<ol class="wp-block-list"><li><strong>Copilotにプロンプトを渡す</strong>（例：「このテーブルを地域別・月別に集計してほしい」）</li><li><strong>生成されたPythonコードを確認する</strong>（コードの中身は読めなくてOK）</li><li><strong>コードをPYセルに貼り付けて Ctrl+Enter で実行する</strong></li></ol>



<p class="wp-block-paragraph">このフローの良いところは、Pythonの文法を一切覚えなくていいことです。Copilotが出力したコードを「そのまま動かす」だけで結果が得られます。VBAのように「動かないときにデバッグする」という苦行も最小限で済みます。</p>



<h2 class="wp-block-heading"><span id="toc8">ノーコード運用フロー実演①：pandasで大量データを集計する</span></h2>



<p class="wp-block-paragraph">ここからは実際の操作を見ていきましょう。まずは <code>pandas</code>（表計算ライブラリ）を使った大量データの集計例です。</p>



<h3 class="wp-block-heading"><span id="toc9">手順ステップ解説</span></h3>



<p class="wp-block-paragraph">たとえば10万行の売上データ（テーブル名 <code>Sales</code>）があり、「地域別・商品カテゴリ別の売上合計」を出したいとします。</p>



<p class="wp-block-paragraph"><strong>ステップ1</strong>: Copilotアイコンをクリックし、チャットを開きます。対象のテーブルをアクティブにしておくと精度が上がります。</p>



<p class="wp-block-paragraph"><strong>ステップ2</strong>: 次のようなプロンプトを入力します。</p>



<pre class="wp-block-code"><code>Salesテーブルを「地域」と「商品カテゴリ」でグループ化して、
売上合計を降順で並べた集計表を作ってください。
Python in Excelで動くコードにしてください。</code></pre>



<p class="wp-block-paragraph"><strong>ステップ3</strong>: Copilotが次のようなコードを返してきます。</p>



<pre class="wp-block-code"><code>df = xl(&quot;Sales[#All]&quot;, headers=True)
result = (
    df.groupby([&quot;地域&quot;, &quot;商品カテゴリ&quot;])[&quot;売上&quot;]
      .sum()
      .reset_index()
      .sort_values(&quot;売上&quot;, ascending=False)
)
result</code></pre>



<p class="wp-block-paragraph"><strong>ステップ4</strong>: 任意のセルで <code>=PY(</code> と入力してPythonエディタを開き、上記コードを貼り付けます。<code>Ctrl + Enter</code> で実行すると、集計結果がExcelのテーブルとして返ってきます。</p>



<p class="wp-block-paragraph">コードの中身は読めなくても構いません。大事なのは「動いて正しい結果が返ってきたか」を確認することです。</p>



<h3 class="wp-block-heading"><span id="toc10">使えるプロンプト例</span></h3>



<p class="wp-block-paragraph">そのまま使えるpandas系プロンプトをいくつか紹介します。</p>



<ul class="wp-block-list"><li>「<code>Orders</code> テーブルから2025年の月別売上推移を集計してください」</li><li>「<code>Customers</code> テーブルから、購入回数が5回以上のリピーターだけ抽出してください」</li><li>「<code>Inventory</code> テーブルの商品別在庫回転率を計算してください」</li></ul>



<p class="wp-block-paragraph">コツは「テーブル名」「対象列」「やりたいこと」を明示することです。曖昧なプロンプトはCopilotも曖昧なコードを返します。</p>



<h2 class="wp-block-heading"><span id="toc11">ノーコード運用フロー実演②：matplotlibでヒートマップを生成する</span></h2>



<p class="wp-block-paragraph">次は <strong>matplotlib</strong>（Pythonの定番グラフ描画ライブラリ）を使った可視化です。Excelの標準グラフでは作りにくいヒートマップを例に取ります。</p>



<h3 class="wp-block-heading"><span id="toc12">手順ステップ解説</span></h3>



<p class="wp-block-paragraph">曜日×時間帯の売上ヒートマップを作る例です。</p>



<p class="wp-block-paragraph"><strong>ステップ1</strong>: Copilotを開き、次のプロンプトを入力します。</p>



<pre class="wp-block-code"><code>Salesテーブルから曜日と時間帯のクロス集計を作り、
seabornでヒートマップを描いてください。
日本語フォントが文字化けしないようにしてください。</code></pre>



<p class="wp-block-paragraph"><strong>ステップ2</strong>: Copilotから返ってきたコード例です。</p>



<pre class="wp-block-code"><code>import seaborn as sns
import matplotlib.pyplot as plt

plt.rcParams[&quot;font.family&quot;] = &quot;Meiryo&quot;

df = xl(&quot;Sales[#All]&quot;, headers=True)
pivot = df.pivot_table(
    index=&quot;曜日&quot;,
    columns=&quot;時間帯&quot;,
    values=&quot;売上&quot;,
    aggfunc=&quot;sum&quot;,
)

sns.heatmap(pivot, annot=True, fmt=&quot;.0f&quot;, cmap=&quot;YlOrRd&quot;)
plt.title(&quot;曜日×時間帯の売上ヒートマップ&quot;)
plt.gcf()</code></pre>



<p class="wp-block-paragraph"><strong>ステップ3</strong>: コードをPYセルに貼り付けて実行します。ヒートマップが画像オブジェクトとしてセルに返ります。セルを右クリックして「セル上に表示」に切り替えると、セルからはみ出して大きく表示できます。</p>



<p class="wp-block-paragraph">日本語が文字化けする場合は <code>plt.rcParams["font.family"] = "Meiryo"</code> の指定が効きます。seabornの場合は <code>sns.set(font="Meiryo")</code> も有効です。</p>



<h3 class="wp-block-heading"><span id="toc13">使えるプロンプト例</span></h3>



<ul class="wp-block-list"><li>「売上と広告費の相関を散布図で可視化してください」</li><li>「月別売上の推移を折れ線グラフにしてください。前年比も重ねてください」</li><li>「商品カテゴリ別の売上構成比を円グラフで描いてください」</li></ul>



<h2 class="wp-block-heading"><span id="toc14">コラム：コードの中身を理解しなくていいのか？</span></h2>



<p class="wp-block-paragraph">ここで多くの読者が気になる疑問にお答えします。「Copilotが生成したコードを意味もわからず使っていいの？」という点です。</p>



<h3 class="wp-block-heading"><span id="toc15">ブラックボックス利用のリスクと許容範囲</span></h3>



<p class="wp-block-paragraph">結論から言うと、<strong>社内の定型集計レベルであればブラックボックス利用でOK</strong> です。ただし、次の3つのリスクは知っておいてください。</p>



<ol class="wp-block-list"><li><strong>ハルシネーション</strong>：Copilotが存在しない列名や関数を使ったコードを出すことがあります</li><li><strong>データ送信</strong>：Python in Excelはコードと参照データがMicrosoftのクラウドで実行されます。ローカル実行ではありません</li><li><strong>結果の誤り</strong>：集計ロジックが微妙にズレていても、数字が出てしまうと気づきにくい</li></ol>



<p class="wp-block-paragraph">データセキュリティの面では、コードはハイパーバイザーで分離されたコンテナで実行されます。データは一時処理のみで保存されません。<code>xl()</code> 経由でしかExcelデータにアクセスできず、ローカルファイルへの直接アクセスもできません。</p>



<p class="wp-block-paragraph">とはいえ、機密データを扱う場合は社内の生成AI利用ルールを必ず確認しましょう。詳しくは <a href="https://mashukabu.com/generative-ai-work-checklist/">生成AIを仕事で使うときの注意点チェックリスト15</a> と <a href="https://mashukabu.com/generative-ai-company-guidelines-template/">生成AI社内ガイドラインの作り方</a> もあわせてご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc16">事務職が最低限確認すべきポイント</span></h3>



<p class="wp-block-paragraph">コードの文法まで理解する必要はありません。ただし、次の3点だけは必ず確認しましょう。</p>



<ul class="wp-block-list"><li><strong>入力データ</strong>：<code>xl("...")</code> で指定しているテーブル名・範囲は合っているか</li><li><strong>出力結果</strong>：返ってきた数字が既存集計と大きくズレていないか（抜き取りで検算）</li><li><strong>列名</strong>：コード内の列名が実際のシートと一致しているか</li></ul>



<p class="wp-block-paragraph">この3点を押さえれば、ブラックボックス利用でも大きな事故は防げます。Copilot回答の正確性検証については <a href="https://mashukabu.com/ai-hallucination-countermeasures-fact-check/">AIの回答を信じる前に確認すること</a> も参考になります。</p>



<h2 class="wp-block-heading"><span id="toc17">よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc18">Python in Excelは無料で使えますか？</span></h3>



<p class="wp-block-paragraph">いいえ。有料のMicrosoft 365ライセンス（Personal / Family / Business / Enterprise / Education）が必要です。無料ライセンスやデバイスベースライセンスでは利用できません。重い処理には有料アドオンライセンスが別途必要になる場合もあります。</p>



<h3 class="wp-block-heading"><span id="toc19">Macでは使えませんか？</span></h3>



<p class="wp-block-paragraph">使えます。Enterprise/Business向けは Version 16.96（Build 25041326）以降、Family/Personal向けは Beta Channel Version 16.95（Build 25021921）以降のMac版Excelで対応しています。ただし、iPad・iPhone・Androidは非対応です。</p>



<h3 class="wp-block-heading"><span id="toc20">VBAはもう不要になりますか？</span></h3>



<p class="wp-block-paragraph">いいえ、VBAには依然として役割があります。ファイル操作・他アプリ連携・UserForm・イベント駆動処理など、Excel操作の自動化はVBAの独壇場です。一方、Python in Excelは「大量データ分析」「高度な可視化」「統計処理」が得意です。適材適所で使い分けましょう。</p>



<h2 class="wp-block-heading"><span id="toc21">まとめ：Python in Excel × Copilotで何が変わるか</span></h2>



<p class="wp-block-paragraph">Python in Excelは、「Pythonを書ける人だけの道具」ではなくなりました。Copilotに日本語で指示するだけで、pandasやmatplotlibの力を借りた高度なデータ分析が誰でもできます。</p>



<p class="wp-block-paragraph">最後に、ポイントを整理しておきます。</p>



<ul class="wp-block-list"><li><strong>Python in Excel</strong> はセル内でPythonを動かせる機能。PY関数と <code>xl()</code> で完結する</li><li><strong>Copilot in Excel with Python</strong> に日本語プロンプトを渡せば、コードは自動生成される</li><li>事務職は <strong>コードの中身を読めなくてもOK</strong>。入力データ・出力結果・列名だけ確認する</li><li>利用には <strong>有料Microsoft 365</strong> が必要。Windows・Mac・Webに対応</li><li><strong>VBAは廃れない</strong>。大量データ分析だけPython in Excelに置き換えるのが現実的</li></ul>



<p class="wp-block-paragraph">まずは手元のExcelでCopilotを開き、「このテーブルをサマリーしてください」と話しかけてみてください。Pythonを一行も書かないまま、新しいデータ分析の世界が開けるはずです。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/python-in-excel-how-to-use/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excel Copilotエージェントモードの使い方｜3モード完全比較【2026年最新】</title>
		<link>https://mashukabu.com/excel-copilot-agent-mode-guide/</link>
					<comments>https://mashukabu.com/excel-copilot-agent-mode-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 21:55:51 +0000</pubDate>
				<category><![CDATA[生成AI × Office]]></category>
		<category><![CDATA[Copilot]]></category>
		<category><![CDATA[Excel Copilot]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[エージェントモード]]></category>
		<category><![CDATA[生成AI]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7937</guid>

					<description><![CDATA[2026年4月に一般提供が始まったExcel Copilotエージェントモードを徹底解説。従来のChatモード・アプリスキルとの違いを比較表で整理し、売上集計やデータクレンジングなど実務ユースケース3つと失敗パターン対処法まで網羅します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Excel Copilotにエージェントモードが追加されたらしいけれど、ChatモードやApp Skillsと何が違うのか分からない」——そんな声をよく聞きます。実際、2026年に入ってからExcel Copilotのモード構成は大きく変わりました。情報が錯綜していて、どれを使えば仕事が速くなるのか判断しづらい状況です。</p>



<p class="wp-block-paragraph">このまま「とりあえずChatで質問するだけ」の使い方を続けると、本来なら数分で終わる集計やクレンジング作業に何時間もかける羽目になります。エージェントモードは指示一つでマルチステップ作業を自律実行できる仕組みで、業務効率の差はモードの選び方一つで大きく開きます。</p>



<p class="wp-block-paragraph">本記事では、2026年4月22日に一般提供（GA）となったエージェントモード（Edit with Copilot）の使い方を中心に、Copilot Chat・廃止された旧App Skillsとの違いを比較表で整理します。あわせて、実務ユースケース3選とよくある失敗パターンの対処法まで網羅し、すぐに業務へ取り入れられる形でお届けします。</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 CopilotのモードはWordやTeamsとは別物</a><ol><li><a href="#toc2" tabindex="0">モード体系は2026年に変わった</a></li></ol></li><li><a href="#toc3" tabindex="0">Copilot Chatモード：会話で操作を支援</a></li><li><a href="#toc4" tabindex="0">エージェントモード（Edit with Copilot）：自律実行の新体験</a><ol><li><a href="#toc5" tabindex="0">エージェントモードでできること・できないこと</a></li><li><a href="#toc6" tabindex="0">利用に必要なライセンスと料金</a></li></ol></li><li><a href="#toc7" tabindex="0">3モード比較表（旧App Skills含む）</a></li><li><a href="#toc8" tabindex="0">実務ユースケース3選</a><ol><li><a href="#toc9" tabindex="0">売上データからレポートを一括作成</a></li><li><a href="#toc10" tabindex="0">引き継いだファイルを自動解読</a></li><li><a href="#toc11" tabindex="0">データクレンジングを自動化</a></li></ol></li><li><a href="#toc12" tabindex="0">よくある失敗パターンと対処法</a></li><li><a href="#toc13" tabindex="0">まとめ：今すぐ試すべきユースケースから始めよう</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Excel CopilotのモードはWordやTeamsとは別物</span></h2>



<p class="wp-block-paragraph">Excel Copilotには2026年現在「Copilot Chat」と「エージェントモード（Edit with Copilot）」の2つのモードが用意されています。少し前まで存在した「App Skills（アプリスキル）」を含めると合計3モードあったため、現場では今も「3モード」という呼び方が残っています。</p>



<p class="wp-block-paragraph">この記事のタイトルが「3モード完全比較」となっているのも、まさにこの背景があるからです。旧App Skillsを知らずにエージェントモードを触ると、ネット上の古い解説記事と実画面が食い違って戸惑うことになります。最初に体系を整理しておきましょう。</p>



<p class="wp-block-paragraph">WordやTeamsのCopilotとは仕様が異なります。Excel Copilotは表計算データに特化しており、関数生成・データクレンジング・複数シート横断の集計など、Excel固有の操作に最適化されています。他のOfficeアプリのCopilotで覚えた感覚をそのまま持ち込むと、できること・できないことの線引きを見誤りやすい点に注意してください。</p>



<h3 class="wp-block-heading"><span id="toc2">モード体系は2026年に変わった</span></h3>



<p class="wp-block-paragraph">2026年2月下旬にApp Skillsが廃止され、その機能はCopilot Chatとエージェントモードに統合されました。さらに2026年4月22日にエージェントモードが一般提供（GA）となり、現在の2モード体制が確立しています。</p>



<p class="wp-block-paragraph">つまり「旧3モード（Chat・App Skills・エージェントモード）」から「現在の2モード（Chat・エージェントモード）」へと変遷したわけです。古い解説記事ではいまだに3モード前提で書かれているものが多いため、本記事では旧App Skillsの位置づけも整理して紹介します。</p>



<pre class="wp-block-code"><code>【2026年2月以前】
Copilot Chat ─ App Skills ─ エージェントモード（プレビュー）

【2026年4月以降】
Copilot Chat ─────────────── エージェントモード（GA）
                ↑ App Skills の機能は両モードに統合</code></pre>



<p class="wp-block-paragraph">モバイル版やWeb版でも順次反映が進んでいますが、最も機能が揃っているのはWindows版・Mac版のデスクトップアプリです。本記事の解説もデスクトップアプリを基準にしています。</p>



<h2 class="wp-block-heading"><span id="toc3">Copilot Chatモード：会話で操作を支援</span></h2>



<p class="wp-block-paragraph">Copilot Chatは、Excelの右側ペインに表示される会話形式のアシスタントです。データの解釈・質問応答・数式候補の提示・グラフやピボットテーブルの単一ステップ挿入などができます。ChatGPTのように「教えてもらう」感覚で使うのが基本スタイルです。</p>



<p class="wp-block-paragraph">ChatモードはMicrosoft 365のビジネス・エンタープライズプランに含まれており、追加ライセンスなしで利用できます。月額899円のBusiness Basicでも使えるため、Excel CopilotデビューはまずChatモードから始めるのが現実的です。</p>



<pre class="wp-block-code"><code>【Chatモードのプロンプト例】
- このシートのA列〜D列を要約して
- =VLOOKUP の代わりに XLOOKUP で書き換えると？
- 売上が前月比10%以上落ちている商品をハイライトする数式を提案して</code></pre>



<p class="wp-block-paragraph">注意点として、Chatモードはワークブックへの直接的な変更は行いません。あくまで「提案」「説明」「単一の挿入操作」までが守備範囲で、複数手順にまたがる自動編集はできません。グラフ挿入のように一度きりの操作は実行できますが、その後の編集は人間が手で行う前提です。</p>



<p class="wp-block-paragraph">「数式の意味を聞きたい」「分析の切り口をブレストしたい」「次に何をすればよいか相談したい」といった用途であれば、Chatモードで十分役に立ちます。逆に「シート全体を整形してほしい」「複数シートに集計を作ってほしい」といった作業依頼は、次のエージェントモードの領分です。</p>



<h2 class="wp-block-heading"><span id="toc4">エージェントモード（Edit with Copilot）：自律実行の新体験</span></h2>



<p class="wp-block-paragraph">エージェントモード、正式名称「Edit with Copilot」は、ワークブック内でマルチステップタスクを自律実行できる新モードです。2026年4月22日にGAとなり、企業環境でも本番利用が可能になりました。Chatモードが「相談相手」だとすれば、エージェントモードは「作業代行者」です。</p>



<p class="wp-block-paragraph">使い方の流れは非常にシンプルで、Copilotペインで「エージェント」を選択し、自然言語で指示を出すだけです。Copilotが手順を分解し、セル編集・関数挿入・書式設定などを順番に実行していきます。実行中は各ステップが表示されるため、何が起きているかを確認しながら進められます。</p>



<pre class="wp-block-code"><code>【エージェントモードのプロンプト例】
このシートのデータをクレンジングしてください。
1. 重複行を削除
2. 「株式会社」「(株)」「㈱」の表記を「株式会社」に統一
3. 電話番号のハイフンを統一
4. 日付フォーマットを yyyy/mm/dd に揃える
完了したら、変更内容のサマリを表示してください。</code></pre>



<p class="wp-block-paragraph">このように複数手順を一度の指示にまとめると、Copilotが順序立てて処理してくれます。途中で意図と違う動作があれば「直前のステップを取り消して」と追加指示することも可能です。プログラミングのような形式でなく、業務指示書を書くような感覚で使えます。</p>



<h3 class="wp-block-heading"><span id="toc5">エージェントモードでできること・できないこと</span></h3>



<p class="wp-block-paragraph">エージェントモードの守備範囲は広い反面、明確な境界線もあります。導入前に押さえておきたい「できる・できない」を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>区分</th><th>具体例</th></tr></thead><tbody><tr><td>できる</td><td>データのクレンジングと変換、高度な数式・関数の生成とデバッグ、書式設定の自動化、複数シート・テーブルにまたがるデータ統合</td></tr><tr><td>できない</td><td>外部ウェブへのアクセス、他のMicrosoft 365アプリとの連携（Word・PowerPoint等）、ローカル保存ファイルの直接編集（M365 Copilot有料ライセンスが必要）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に注意したいのが「外部連携の不可」と「ローカルファイル制約」です。Webから最新の為替レートを取ってくる、PowerPointに自動で貼り付ける、といった連携は現時点ではできません。ExcelとOneDrive内で完結する作業に絞って指示するのが成功のコツです。</p>



<p class="wp-block-paragraph">また、エージェントモードはあくまでExcel内で動く存在です。ChatGPTのように知識ベースから推論するわけではなく、開いているワークブックのデータを根拠に動作します。「先月の業界平均は？」のような外部情報を必要とする質問には、Chatモードと組み合わせるか、別途調査が必要です。</p>



<h3 class="wp-block-heading"><span id="toc6">利用に必要なライセンスと料金</span></h3>



<p class="wp-block-paragraph">エージェントモードは無料では使えません。必要なライセンスは大きく2系統に分かれます。</p>



<figure class="wp-block-table"><table><thead><tr><th>プラン</th><th>月額（円・税込）</th><th>エージェントモード</th></tr></thead><tbody><tr><td>Microsoft 365 Family / Personal</td><td>1,490〜2,100円</td><td>利用可能</td></tr><tr><td>Microsoft 365 Business Basic</td><td>899円</td><td>不可</td></tr><tr><td>Microsoft 365 Business Standard</td><td>1,874円</td><td>不可</td></tr><tr><td>Microsoft 365 Copilot（法人アドオン）</td><td>3,808円/ユーザー</td><td>利用可能</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">個人ユーザーであれば、Microsoft 365 PersonalまたはFamilyのサブスクで利用できます。月額1,490〜2,100円という比較的手の届く価格帯で試せるのは魅力的です。</p>



<p class="wp-block-paragraph">一方、企業利用の場合はMicrosoft 365 Copilot（月額3,808円/ユーザー、年間契約が前提）の追加ライセンスが必要です。Business Standardだけではエージェントモードは使えない点に注意してください。情報システム部門と協議のうえ、まずはパワーユーザー数名にライセンスを付与してPoC（実証実験）を始めるのが現実的です。</p>



<h2 class="wp-block-heading"><span id="toc7">3モード比較表（旧App Skills含む）</span></h2>



<p class="wp-block-paragraph">ここまで解説してきたモードの違いを、廃止済みのApp Skillsも含めて一覧で整理します。古いマニュアルや解説記事を読む際の対応表としてご活用ください。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Copilot Chat</th><th>App Skills（廃止）</th><th>エージェントモード</th></tr></thead><tbody><tr><td>提供状況</td><td>提供中</td><td>2026年2月下旬に廃止</td><td>2026年4月22日GA</td></tr><tr><td>主な役割</td><td>会話による提案・質問応答</td><td>データ整形の単一機能群</td><td>マルチステップ自律実行</td></tr><tr><td>直接編集</td><td>ほぼなし（提案中心）</td><td>あり（限定的）</td><td>あり（複数手順）</td></tr><tr><td>数式生成</td><td>候補提示</td><td>解説のみ</td><td>生成・デバッグ可</td></tr><tr><td>グラフ挿入</td><td>単一ステップ可</td><td>一部可</td><td>自動配置可</td></tr><tr><td>データクレンジング</td><td>不可</td><td>部分的に可</td><td>フル対応</td></tr><tr><td>必要ライセンス</td><td>M365ビジネス/エンタープライズ</td><td>（旧）M365 Copilot</td><td>M365 Personal/FamilyまたはM365 Copilot</td></tr><tr><td>月額（最低）</td><td>899円〜</td><td>—</td><td>1,490円〜</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">App Skillsで使えた機能（インポート・エクスポート、強調表示、並べ替え、フィルター、分析、数式解説）はすべてChatとエージェントモードに統合されました。廃止されたとはいえ、機能が消えたわけではない点を覚えておいてください。</p>



<p class="wp-block-paragraph">エージェントモードのコストパフォーマンスは、個人向けM365 Personalの月額1,490円から始められる点が大きな魅力です。法人向けの月額3,808円は決して安くありませんが、月10時間以上のExcel作業を自動化できれば人件費換算で十分元が取れる計算になります。</p>



<h2 class="wp-block-heading"><span id="toc8">実務ユースケース3選</span></h2>



<p class="wp-block-paragraph">ここからは、エージェントモードが特に威力を発揮する3つの実務シーンを紹介します。いずれもプロンプトの例を載せているので、そのまま社内Excelで試せます。</p>



<h3 class="wp-block-heading"><span id="toc9">売上データからレポートを一括作成</span></h3>



<p class="wp-block-paragraph">毎月の定型レポート作成は、エージェントモードの最も典型的な活用シーンです。生データのシートを開いた状態で、次のように指示します。</p>



<pre class="wp-block-code"><code>先月の売上データを集計して、レポートを作成してください。
- 商品カテゴリ別の売上合計と前月比
- 地域別（北海道・東北・関東・中部・関西・中国・四国・九州）の売上合計
- 上位10商品のランキング
それぞれを別シートに分けて作成し、地域別はピボットテーブル、ランキングは棒グラフも添えてください。</code></pre>



<p class="wp-block-paragraph">このような指示一つで、複数のシートに集計表・ピボットテーブル・グラフが生成されます。従来であればピボットテーブルを手動で作成し、グラフを挿入し、レイアウトを整える、という3〜4工程が必要でした。エージェントモードならその工程をまとめて任せられます。</p>



<p class="wp-block-paragraph">レポートの「型」が決まっている定例業務であれば、最初に作ってもらった構成をテンプレートとして残しておくとさらに効率的です。翌月以降は「先月分のデータでこのレポートを更新して」と指示するだけで済みます。モダンExcel全体の効率化については<a href="https://mashukabu.com/modern-excel-explanation/">モダンExcelとは？Power Query・Power Pivot・DAXで実現するデータ分析基盤</a>もあわせてご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc10">引き継いだファイルを自動解読</span></h3>



<p class="wp-block-paragraph">転職や異動で引き継いだExcelファイルの「謎の数式」「使われていないシート」「壊れた参照」を解読するのも、エージェントモードの得意分野です。</p>



<pre class="wp-block-code"><code>このワークブックの構造を解説してください。
- 各シートの役割と関係性
- 主要な計算式の意図と、その式が参照しているセル
- 循環参照や壊れたリンクがあれば一覧化
- 使われていない可能性が高いシート・列の指摘
結果は新しいシート「README」にまとめてください。</code></pre>



<p class="wp-block-paragraph">複数シートをまたいで参照関係を読み解いてくれるため、「とりあえず触れない」まま放置されがちな前任者のファイルを、半日で理解できる状態にできます。属人化したExcelの引き継ぎコストを大幅に下げられる効果は、組織にとって極めて大きい価値があります。</p>



<p class="wp-block-paragraph">引き継ぎ時の心理的負担は想像以上に重く、放置すれば月次業務全体の停滞につながります。エージェントモードを「ファイルの翻訳家」として位置づけると、活用イメージが湧きやすいはずです。</p>



<h3 class="wp-block-heading"><span id="toc11">データクレンジングを自動化</span></h3>



<p class="wp-block-paragraph">リスト型データの整形作業は、エージェントモードに任せれば一瞬で片付きます。代表的なのが顧客リスト・取引先リスト・名簿の整備です。</p>



<pre class="wp-block-code"><code>A列〜H列に顧客リストがあります。以下のクレンジングを実行してください。
1. 完全重複行を削除
2. 「株式会社」「(株)」「㈱」「KK」を「株式会社」に統一（前後どちらでも対応）
3. 電話番号のハイフン位置を「03-XXXX-XXXX」形式に統一
4. メールアドレスを小文字に変換
5. 郵便番号を「XXX-XXXX」形式に統一（ハイフンなし入力にも対応）
6. 全角英数字を半角に変換
変更したセル数をサマリ表示してください。</code></pre>



<p class="wp-block-paragraph">このプロンプト一つで、これまで関数とVBAを駆使していたクレンジング作業が自動化できます。表記ゆれの統一は地味ながら時間がかかる作業の代表格ですが、エージェントモードなら数百行のリストでも数分で完了します。</p>



<p class="wp-block-paragraph">クレンジング後は必ず差分を目視確認することをお勧めします。「変更したセル数」のサマリと一緒に、サンプル抽出で10件ほどビフォーアフターを確認すれば、誤変換の見落としを防げます。生成AIを業務に取り入れる際の安全運用のポイントは<a href="https://mashukabu.com/generative-ai-work-checklist/">生成AI活用で押さえるべきチェックリスト：ビジネス利用の安全確認項目</a>でも詳しく解説しています。</p>



<h2 class="wp-block-heading"><span id="toc12">よくある失敗パターンと対処法</span></h2>



<p class="wp-block-paragraph">エージェントモードは強力ですが、使い始めの段階でつまずきやすいポイントがいくつかあります。代表的な4つの失敗パターンと、その対処法を紹介します。</p>



<p class="wp-block-paragraph"><strong>1. ローカルファイルが開けない</strong></p>



<p class="wp-block-paragraph">最も多いつまずきが、PC内に保存したExcelファイルを開いた状態でエージェントモードが動作しないケースです。これはMicrosoft 365 Copilot（法人プラン）のライセンスがないと発生します。</p>



<p class="wp-block-paragraph">対処法は2つあります。個人プランの場合は、ファイルをOneDriveにアップロードしてからクラウド経由で開き直してください。法人利用でローカルファイルを直接編集したい場合は、情報システム部門にM365 Copilotライセンスの付与を依頼する必要があります。</p>



<p class="wp-block-paragraph"><strong>2. 変更が意図と違ってしまう</strong></p>



<p class="wp-block-paragraph">エージェントモードはマルチステップで自律実行する性質上、Ctrl+Zで元に戻せないケースがあります。特に複数シートにまたがる変更は、後から取り消すのが困難です。</p>



<p class="wp-block-paragraph">対処法は「実行前に必ずファイルのコピーを保存する」ことです。<code>元ファイル名_backup_20260519.xlsx</code> のようにバックアップを取ってからエージェントを動かすルールを徹底すれば、万一の事故にも対応できます。バージョン履歴が有効なOneDrive保存ファイルなら、過去バージョンへの巻き戻しも可能です。</p>



<p class="wp-block-paragraph"><strong>3. 複雑な指示が一度に通らない</strong></p>



<p class="wp-block-paragraph">「全部やって」と一度に大量の指示を投げると、途中でエラーになったり精度が落ちたりすることがあります。エージェントモードにも処理の限界があるため、人間と同じく段階的に依頼するのが基本です。</p>



<p class="wp-block-paragraph">対処法は「タスクをフェーズに分ける」ことです。たとえば「①データクレンジング → 確認 → ②集計シート作成 → 確認 → ③グラフ作成」のように、フェーズごとに区切って指示してください。各フェーズで結果を確認すれば、誤った方向への暴走を防げます。</p>



<p class="wp-block-paragraph"><strong>4. 英語で返ってきてしまう</strong></p>



<p class="wp-block-paragraph">設定や入力内容によっては、回答が英語で返ってくることがあります。Excelの表示言語が英語に設定されている、または指示文に英単語が多い場合に起きやすい現象です。</p>



<p class="wp-block-paragraph">対処法はシンプルで、プロンプトの冒頭に「日本語で回答してください」と明示することです。あわせてExcelの言語設定を日本語にしておくと、UIメッセージも含めて統一されます。</p>



<h2 class="wp-block-heading"><span id="toc13">まとめ：今すぐ試すべきユースケースから始めよう</span></h2>



<p class="wp-block-paragraph">Excel Copilotのモード体系は、2026年に入って「旧3モード」から「現在の2モード」へと整理されました。会話による相談役のCopilot Chatと、自律実行による作業代行のエージェントモード、この2つを使い分けるのが新しいスタンダードです。</p>



<p class="wp-block-paragraph">エージェントモードは個人向けM365 Personal（月額1,490円〜）または法人向けM365 Copilot（月額3,808円/ユーザー）で利用可能です。コスト面のハードルはあるものの、月次レポート作成・引き継ぎファイル解読・データクレンジングといった「重い作業」を任せられる効果は絶大です。</p>



<p class="wp-block-paragraph">最初の一歩としておすすめなのは、本記事で紹介した「データクレンジングの自動化」から試すことです。リスト整備は失敗しても被害が小さく、効果がすぐに体感できるため、エージェントモードの感覚をつかむのに最適です。慣れてきたら月次レポート作成や引き継ぎファイル解読へと適用範囲を広げ、業務全体の自動化を進めていきましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-copilot-agent-mode-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのLET・LAMBDA関数の使い方｜数式を自分の関数に変える方法</title>
		<link>https://mashukabu.com/excel-let-lambda-function-guide/</link>
					<comments>https://mashukabu.com/excel-let-lambda-function-guide/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 16 May 2026 23:15:08 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[LAMBDA関数]]></category>
		<category><![CDATA[LET関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[カスタム関数]]></category>
		<category><![CDATA[名前定義]]></category>
		<category><![CDATA[数式整理]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6825</guid>

					<description><![CDATA[ExcelのLET関数とLAMBDA関数の使い方を実務例8パターンで解説。変数定義で数式を整理するLETと、VBA不要でカスタム関数を自作できるLAMBDAを組み合わせれば、数式のメンテナンスコストが大幅に下がります。FAQ・エラー対処付き。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「このVLOOKUPの数式、ネストが深すぎて自分でも何を書いたか分からない…」。Excelで複雑な数式を扱う方なら、一度はそんな経験があるのではないでしょうか。</p>



<p class="wp-block-paragraph">同じ計算式を複数のセルや別のシートにコピペした後、参照範囲を1か所だけ変えたいとき。気づくと10か所も同じ修正を繰り返し、1つでも直し忘れると <code>#N/A</code> の嵐です。VBAでカスタム関数を作れば解決するとは分かっていても、「マクロは怖い」「セキュリティ警告が嫌だ」と踏み切れない方も多いはずです。</p>



<p class="wp-block-paragraph">そこで本記事では、<strong>LET関数</strong> と <strong>LAMBDA関数</strong> の使い方を解説します。この2つを使えば、VBAを一切書かずに「数式の中で名前を付ける」「自分専用の関数を登録する」ことが可能です。読み終えたとき、長い数式は驚くほどスッキリし、コピペ地獄から解放されているはずです。</p>



<p class="wp-block-paragraph">実務例は全部で8パターン用意しました。LET実務例4つ、LAMBDA実務例3つ、組み合わせ実務例3つです。社内の請求書テンプレートや勤怠データ、評価ランク判定などすぐに転用できるものばかりです。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">LET関数とLAMBDA関数、どう違う？1分でわかる役割整理</a><ol><li><a href="#toc2" tabindex="0">LET関数＝「セル内で変数を定義する」関数</a></li><li><a href="#toc3" tabindex="0">LAMBDA関数＝「ブック内で再利用できる関数を定義する」関数</a></li><li><a href="#toc4" tabindex="0">LETとLAMBDAの使い分け早見表</a></li></ol></li><li><a href="#toc5" tabindex="0">なぜ今LETとLAMBDAなのか｜従来のExcel数式が抱えていた3つの痛み</a><ol><li><a href="#toc6" tabindex="0">痛み①：同じ式の二度書き地獄</a></li><li><a href="#toc7" tabindex="0">痛み②：参照範囲の一括変更が漏れる</a></li><li><a href="#toc8" tabindex="0">痛み③：VBA UDFのセキュリティ警告</a></li></ol></li><li><a href="#toc9" tabindex="0">LET関数の基本：変数に名前をつけて数式をスッキリさせる</a><ol><li><a href="#toc10" tabindex="0">LET関数の基本構文</a></li><li><a href="#toc11" tabindex="0">実務例①：VLOOKUP+IFERRORを変数化してメンテナンスコストを削減</a></li><li><a href="#toc12" tabindex="0">実務例②：FILTER+SORTを段階的に書いてデバッグしやすくする</a></li><li><a href="#toc13" tabindex="0">実務例③：複雑な条件分岐の途中結果に名前を付ける</a></li><li><a href="#toc14" tabindex="0">実務例④：経理の累進計算をLETで段階分解</a></li><li><a href="#toc15" tabindex="0">Before / After 比較</a></li></ol></li><li><a href="#toc16" tabindex="0">LAMBDA関数の基本：名前定義で「自分の関数」を登録する手順</a><ol><li><a href="#toc17" tabindex="0">LAMBDA関数の基本構文</a></li><li><a href="#toc18" tabindex="0">名前の管理へ登録する手順</a></li><li><a href="#toc19" tabindex="0">実務例⑤：消費税計算をLAMBDA関数化して毎月使い回す</a></li><li><a href="#toc20" tabindex="0">実務例⑥：営業日換算LAMBDAで週末カウントを統一</a></li><li><a href="#toc21" tabindex="0">実務例⑦：評価ランクLAMBDAで成績判定を関数化</a></li></ol></li><li><a href="#toc22" tabindex="0">LAMBDA + ヘルパー関数で配列処理を一気に書く</a><ol><li><a href="#toc23" tabindex="0">MAP関数との連携（要素ごとにLAMBDAを適用）</a></li><li><a href="#toc24" tabindex="0">BYROW/BYCOLとの連携（行・列ごとの一括処理）</a></li></ol></li><li><a href="#toc25" tabindex="0">LET + LAMBDA を組み合わせる：実務頻出3パターン</a><ol><li><a href="#toc26" tabindex="0">パターン1：LETで中間変数を整理してからLAMBDAに渡す</a></li><li><a href="#toc27" tabindex="0">パターン2：FILTER+SORTの組み合わせをLET変数で段階的に書く</a></li><li><a href="#toc28" tabindex="0">パターン3：LAMBDA内部でLETを使ってロジックを可読化する</a></li></ol></li><li><a href="#toc29" tabindex="0">LET/LAMBDA vs VBA Function｜使い分けの判断基準</a></li><li><a href="#toc30" tabindex="0">こんなエラーが出たら：つまずきポイントと対処法</a><ol><li><a href="#toc31" tabindex="0">#NAME?エラーが出る原因と解決策</a></li><li><a href="#toc32" tabindex="0">#CALC!エラーが出る原因と解決策</a></li><li><a href="#toc33" tabindex="0">変数名にセル参照と同名を使ったときの挙動</a></li><li><a href="#toc34" tabindex="0">LAMBDAの再帰呼び出しでスタックオーバーフロー</a></li></ol></li><li><a href="#toc35" tabindex="0">よくある質問（FAQ）</a></li><li><a href="#toc36" tabindex="0">まとめ：LETは今日から、LAMBDAは次のステップで</a><ol><li><a href="#toc37" tabindex="0">関連記事で次のステップに進む</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">LET関数とLAMBDA関数、どう違う？1分でわかる役割整理</span></h2>



<p class="wp-block-paragraph">LET関数とLAMBDA関数は、どちらも「数式に名前を付けて整理する」ための関数です。ただし、名前を付ける対象とスコープが大きく異なります。まずは両者の役割を1分で押さえましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">LET関数＝「セル内で変数を定義する」関数</span></h3>



<p class="wp-block-paragraph">LET関数は、<strong>1つのセルの中だけで通用する「変数」</strong> を定義できる関数です。Excelの文脈では「数式の途中で計算結果に名前を付けておき、後で参照できる仕組み」と理解してください。プログラミング経験者なら「ローカル変数」のイメージです。</p>



<p class="wp-block-paragraph">たとえば <code>VLOOKUP(A2, $D:$E, 2, 0)</code> を <code>result</code> という名前で保存しておけば、後の式で <code>result</code> と書くだけで再利用できます。同じ式を2回書く必要がなく、計算も1回しか走らないのでパフォーマンスも向上します。</p>



<p class="wp-block-paragraph">ただしLET関数のスコープは <strong>「そのセル内のみ」</strong> に限定されます。他のセルや他のシートから <code>result</code> を参照することはできません。あくまで「そのセルを書くときの一時メモ帳」というイメージです。</p>



<h3 class="wp-block-heading"><span id="toc3">LAMBDA関数＝「ブック内で再利用できる関数を定義する」関数</span></h3>



<p class="wp-block-paragraph">LAMBDA関数は、<strong>ブック全体で使い回せる「自分専用の関数」</strong> を定義できる関数です。LAMBDA式を「名前の管理」に登録すると、ブックのどのシート・どのセルからも <code>=MY_FUNC(引数)</code> の形式で呼び出せます。</p>



<p class="wp-block-paragraph">これまでカスタム関数を作るにはVBAでユーザー定義関数（UDF）を書く必要がありました。LAMBDAなら <strong>VBAを一切使わずに、数式だけでカスタム関数を作成できます</strong>。マクロのセキュリティ警告も出ません。まるでプログラムのようですが、あくまでセルに書く数式の延長です。</p>



<p class="wp-block-paragraph">xlsx形式のまま配布できるため、メール添付やSharePoint共有もマクロ警告で止まらないという大きな利点もあります。</p>



<h3 class="wp-block-heading"><span id="toc4">LETとLAMBDAの使い分け早見表</span></h3>



<p class="wp-block-paragraph">両者の違いを「スコープ」と「役割」の2軸で整理すると、次の表になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>LET関数</th><th>LAMBDA関数</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><tr><td>主な用途</td><td>1つの長い数式の整理・可読性向上</td><td>複数箇所で繰り返す計算ロジックの関数化</td></tr><tr><td>対応バージョン</td><td>Microsoft 365 / Excel 2021以降</td><td>Microsoft 365のみ（Excel 2021非対応）</td></tr><tr><td>VBAの必要性</td><td>不要</td><td>不要</td></tr><tr><td>配布形式</td><td>xlsx</td><td>xlsx</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ここで重要なのが <strong>バージョン差分</strong> です。LET関数はExcel 2021でも使えますが、LAMBDA関数はMicrosoft 365専用です。自分のバージョンを確認するには「ファイル」→「アカウント」→「製品情報」を見てください。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/excel-let-lambda-function-guide/01_data_let-lambda-comparison.png/">_images/excel-let-lambda-function-guide/01_data_let-lambda-comparison.png</a></p>



<h2 class="wp-block-heading"><span id="toc5">なぜ今LETとLAMBDAなのか｜従来のExcel数式が抱えていた3つの痛み</span></h2>



<p class="wp-block-paragraph">LETとLAMBDAの説明に入る前に、「なぜこの2関数が必要になったのか」を整理しておきます。従来のExcel数式には、慣れた人ほど直面する3つの痛みがありました。</p>



<h3 class="wp-block-heading"><span id="toc6">痛み①：同じ式の二度書き地獄</span></h3>



<p class="wp-block-paragraph">最も典型的なのが「条件分岐の中で同じ計算を2回書く」パターンです。たとえばVLOOKUPで取得した値が空欄なら「未登録」、そうでなければそのまま表示したい場合、こう書くしかありませんでした。</p>



<pre class="wp-block-code"><code>'--- 二度書きが避けられない従来の数式 ---
=IF(VLOOKUP(A2,$D:$E,2,0)=&quot;&quot;, &quot;未登録&quot;, VLOOKUP(A2,$D:$E,2,0))</code></pre>



<p class="wp-block-paragraph">VLOOKUP部分が2か所に出てきます。参照範囲を変えたいときは2か所同時に修正しなければなりません。1か所でも直し忘れると <code>#N/A</code> が混ざる悲劇が起こります。さらに同じVLOOKUPが2回実行されるため、データが大きいときは計算速度も無駄になります。</p>



<p class="wp-block-paragraph">条件分岐の基本については <a href="https://mashukabu.com/excel-function-howto-use-if/">ExcelのIF関数の使い方</a> で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc7">痛み②：参照範囲の一括変更が漏れる</span></h3>



<p class="wp-block-paragraph">数式を100セルにコピーした後で「参照範囲を <code>$D:$E</code> から <code>$D:$F</code> に変えたい」と思ったときが地獄です。すべての数式を編集モードで開き、置換ダイアログか手作業で書き換えるしかありません。</p>



<p class="wp-block-paragraph">VLOOKUPを多用している方は <a href="https://mashukabu.com/excel-function-howto-use-vlookup/">ExcelのVLOOKUP関数の使い方</a> も合わせてご覧ください。参照範囲の管理が一気に楽になります。</p>



<h3 class="wp-block-heading"><span id="toc8">痛み③：VBA UDFのセキュリティ警告</span></h3>



<p class="wp-block-paragraph">「だったらVBAでカスタム関数を作ればいい」と考える方もいるでしょう。実際 <a href="https://mashukabu.com/excel-vba-howto-use-function/">VBAのFunctionプロシージャ</a> を使えばカスタム関数（UDF）が作れます。しかし配布時に問題が起きます。</p>



<p class="wp-block-paragraph">VBA入りのブックは「マクロ有効ブック（xlsm）」になり、開いた人に「マクロを有効にしますか？」というセキュリティ警告が必ず出ます。社内ポリシーで「不明なマクロは無効化」が設定されている会社では、せっかくのUDFが動きません。</p>



<p class="wp-block-paragraph">LET/LAMBDAなら <strong>xlsxのまま</strong> カスタム関数を作れるため、この壁を完全に回避できます。</p>



<h2 class="wp-block-heading"><span id="toc9">LET関数の基本：変数に名前をつけて数式をスッキリさせる</span></h2>



<p class="wp-block-paragraph">LET関数は、長くてネストが深い数式を「段階的に名前を付けながら組み立てる」イメージで使います。難しく考える必要はなく、「途中の計算結果に名前を付けておく」だけです。</p>



<h3 class="wp-block-heading"><span id="toc10">LET関数の基本構文</span></h3>



<p class="wp-block-paragraph">LET関数の構文は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>構文</td><td><code>=LET(name1, value1, [name2, value2, …,] calculation)</code></td></tr><tr><td>必須引数</td><td>最低1組の「名前・値」と、最後に必ず計算式</td></tr><tr><td>最大ペア数</td><td>126個の名前/値ペア</td></tr><tr><td>変数名の制約</td><td>文字で始まる／スペース不可／セル参照（A1等）と同名不可／TRUE・FALSE等の予約語不可</td></tr><tr><td>対応バージョン</td><td>Microsoft 365 / Excel 2021以降</td></tr><tr><td>出典</td><td><a href="https://support.microsoft.com/en-us/office/let-function-34842dd8-b92b-4d3f-b325-b8b8f9908999">Microsoft公式: LET関数</a></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最もシンプルな例を見てみましょう。</p>



<pre class="wp-block-code"><code>'--- LET関数の最小サンプル ---
=LET(x, 5, SUM(x, 1))</code></pre>



<p class="wp-block-paragraph">この式は「<code>x</code> に <code>5</code> を代入し、<code>SUM(x, 1)</code> を計算する」という意味で、結果は <code>6</code> になります。Excelの文脈では「数式の中で名前付きの一時変数を作れる」と理解すれば十分です。</p>



<p class="wp-block-paragraph">ここからは実務で本当に役立つLETの使い方を、4つの実例で解説していきます。</p>



<h3 class="wp-block-heading"><span id="toc11">実務例①：VLOOKUP+IFERRORを変数化してメンテナンスコストを削減</span></h3>



<p class="wp-block-paragraph">LETが最も威力を発揮するのは、<strong>同じ式を複数回書かなければならない場面</strong> です。代表例が「VLOOKUPの結果をIFERRORで包む」パターンです。</p>



<p class="wp-block-paragraph">通常の書き方では、VLOOKUPを2回書く必要があります。</p>



<pre class="wp-block-code"><code>'--- LETなしの従来パターン（VLOOKUPが2回登場） ---
=IF(VLOOKUP(A2, $D:$E, 2, 0)=&quot;&quot;, &quot;未登録&quot;, VLOOKUP(A2, $D:$E, 2, 0))</code></pre>



<p class="wp-block-paragraph">参照範囲を <code>$D:$F</code> に変えたいとき、2か所すべてを直さないと結果が狂います。これをLETで書き換えるとこうなります。</p>



<pre class="wp-block-code"><code>'--- LETあり：1か所修正で済む新パターン ---
=LET(
  result, VLOOKUP(A2, $D:$E, 2, 0),
  IF(result=&quot;&quot;, &quot;未登録&quot;, result)
)</code></pre>



<p class="wp-block-paragraph">VLOOKUP部分が <code>result</code> という変数1か所だけになりました。参照範囲を変更したいときは <code>result</code> の定義行だけ直せばよく、メンテナンスコストが半分以下になります。さらにVLOOKUPは1回しか実行されないため、計算速度の面でも有利です。</p>



<p class="wp-block-paragraph">VLOOKUPの基本的な使い方を再確認したい方は <a href="https://mashukabu.com/excel-function-howto-use-vlookup/">ExcelのVLOOKUP関数の使い方</a> を参照してください。エラー処理を厚くしたい方は <a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方</a> も合わせてご覧ください。</p>



<h3 class="wp-block-heading"><span id="toc12">実務例②：FILTER+SORTを段階的に書いてデバッグしやすくする</span></h3>



<p class="wp-block-paragraph">動的配列関数（FILTER, SORT, UNIQUE等）を組み合わせると、1セルに長い式が並びがちです。LETを使うと「フィルタしてからソート」という処理を段階的に書けます。</p>



<pre class="wp-block-code"><code>'--- 動的配列関数を段階化したサンプル ---
=LET(
  filtered, FILTER(A2:C100, B2:B100=&quot;東京&quot;),
  sorted,   SORT(filtered, 3, -1),
  sorted
)</code></pre>



<p class="wp-block-paragraph"><code>filtered</code> の段階だけ表示すれば「フィルタが正しいか」を確認できます。次に <code>sorted</code> を返せば「ソートも正しいか」が見えます。長い数式を1行ずつデバッグできる構造になるのが利点です。</p>



<p class="wp-block-paragraph">慣れてくれば、最後の <code>sorted</code> を <code>INDEX(sorted, 1, 3)</code> などに差し替えて「ソート後の1行目の3列目だけ抜く」という応用にもつなげられます。</p>



<h3 class="wp-block-heading"><span id="toc13">実務例③：複雑な条件分岐の途中結果に名前を付ける</span></h3>



<p class="wp-block-paragraph">「売上が100万円以上、かつ達成率が80%以上ならA評価」のような複合条件は、IF/IFSの入れ子で書くと読みにくくなりがちです。LETで条件を変数化すると意図が明確になります。</p>



<pre class="wp-block-code"><code>'--- 複合条件をLETで整理した例 ---
=LET(
  sales,      B2,
  rate,       C2,
  isHighSale, sales &gt;= 1000000,
  isHighRate, rate  &gt;= 0.8,
  IF(AND(isHighSale, isHighRate), &quot;A評価&quot;,
   IF(isHighSale, &quot;B評価&quot;,
   IF(isHighRate, &quot;C評価&quot;, &quot;D評価&quot;)))
)</code></pre>



<p class="wp-block-paragraph"><code>isHighSale</code> <code>isHighRate</code> という変数名のおかげで、後から読み返したときに「何を判定しているか」が一目で分かります。半年後の自分にも親切な数式です。</p>



<p class="wp-block-paragraph">条件分岐の組み合わせをさらに深掘りしたい方は <a href="https://mashukabu.com/excel-function-howto-use-if/">ExcelのIF関数の使い方</a> で基本パターンを確認してください。</p>



<h3 class="wp-block-heading"><span id="toc14">実務例④：経理の累進計算をLETで段階分解</span></h3>



<p class="wp-block-paragraph">経理処理で「税抜金額 → 消費税 → 端数処理 → 税込金額」という多段階計算は、LETの段階分解と相性が抜群です。</p>



<pre class="wp-block-code"><code>'--- 経理の段階計算を可視化 ---
=LET(
  taxRate,   0.1,
  netPrice,  B2,
  tax,       ROUND(netPrice * taxRate, 0),
  gross,     netPrice + tax,
  gross
)</code></pre>



<p class="wp-block-paragraph">消費税率が変わったときも、最初の <code>taxRate</code> の値だけを直せば全体に反映されます。各ステップに変数名が付いているため、デバッグで「途中の <code>tax</code> の値が想定と違う」と気づきやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc15">Before / After 比較</span></h3>



<p class="wp-block-paragraph">LETを導入する前と後で、数式の見た目がどう変わるかを比較します。</p>



<p class="wp-block-paragraph"><strong>Before（LETなし）</strong></p>



<pre class="wp-block-code"><code>'--- 従来：氏名と部署を1セルに連結する力技 ---
=IFERROR(VLOOKUP(A2,$D:$E,2,0),&quot;該当なし&quot;)&amp;&quot; / &quot;&amp;IFERROR(VLOOKUP(A2,$D:$F,3,0),&quot;該当なし&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>After（LETあり）</strong></p>



<pre class="wp-block-code"><code>'--- After：1行ずつ意味が読み取れる ---
=LET(
  name,  IFERROR(VLOOKUP(A2,$D:$E,2,0),&quot;該当なし&quot;),
  dept,  IFERROR(VLOOKUP(A2,$D:$F,3,0),&quot;該当なし&quot;),
  name &amp; &quot; / &quot; &amp; dept
)</code></pre>



<p class="wp-block-paragraph">After版は1行ずつ「何を計算しているか」が読み取れます。半年後に自分が見直しても、別の担当者が引き継いでも理解しやすくなります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/05/02_result_let-before-after.png" alt="02 result let before after" /></figure>



<p class="wp-block-paragraph">LET関数のもっと詳しい仕様や応用例については <a href="https://mashukabu.com/excel-function-howto-use-let/">ExcelのLET関数の使い方｜変数定義で数式を短く整理する方法</a> で個別に解説しています。深掘りしたい方はそちらもご参照ください。</p>



<h2 class="wp-block-heading"><span id="toc16">LAMBDA関数の基本：名前定義で「自分の関数」を登録する手順</span></h2>



<p class="wp-block-paragraph">LAMBDA関数は、LETの一歩先にある「数式を関数化して使い回す」ための仕組みです。冒頭で触れたとおり <strong>Microsoft 365専用</strong> なので、Excel 2021ユーザーは利用できない点にご注意ください。</p>



<h3 class="wp-block-heading"><span id="toc17">LAMBDA関数の基本構文</span></h3>



<p class="wp-block-paragraph">LAMBDA関数の構文は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>構文</td><td><code>=LAMBDA([parameter1, parameter2, …,] calculation)</code></td></tr><tr><td>必須引数</td><td>最後の計算式（パラメータは省略可）</td></tr><tr><td>最大パラメータ数</td><td>253個</td></tr><tr><td>即時呼び出し</td><td><code>=LAMBDA(temp, (5/9)*(temp-32))(100)</code> のように末尾に引数を渡す</td></tr><tr><td>名前定義への登録</td><td>「数式」タブ→「名前の管理」→「新規」から登録</td></tr><tr><td>対応バージョン</td><td>Microsoft 365専用（Excel 2021は非対応）</td></tr><tr><td>出典</td><td><a href="https://support.microsoft.com/en-us/office/lambda-function-bd212d27-1cd1-4321-a34a-ccbf254b8b67">Microsoft公式: LAMBDA関数</a></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">LAMBDAを単独でセルに書くだけでは関数の「定義」しかできません。末尾に引数を渡さないと <code>#CALC!</code> エラーが出ます。本来の使い方は「名前の管理」に登録してから呼び出す形です。</p>



<h3 class="wp-block-heading"><span id="toc18">名前の管理へ登録する手順</span></h3>



<p class="wp-block-paragraph">LAMBDA関数を実用するには「名前の管理」への登録が必須です。Windows版Excelでの手順は以下のとおりです。</p>



<ol class="wp-block-list"><li><strong>「数式」タブ</strong> をクリックする</li><li><strong>「名前の管理」</strong> をクリック（ショートカット: <code>Ctrl + F3</code>）</li><li>ダイアログ右上の <strong>「新規」</strong> をクリック</li><li>「新しい名前」ダイアログで以下を入力する</li></ol>



<ul class="wp-block-list"><li><strong>名前</strong>: 関数名（例: <code>TAX_CALC</code>）。Excelの既存関数名と被らないようにする</li><li><strong>範囲</strong>: 通常は「ブック」を選択（シートを選ぶと他シートから呼び出せない）</li><li><strong>コメント</strong>: 関数の説明（後で見返したときに役立つ）</li><li><strong>参照範囲</strong>: LAMBDA式を貼り付ける（例: <code>=LAMBDA(price, price*1.1)</code>）</li></ul>



<ol class="wp-block-list"><li><strong>「OK」</strong> をクリックして登録完了</li></ol>



<p class="wp-block-paragraph">登録が成功すると、そのブック内のどのセルでも <code>=TAX_CALC(1000)</code> のようにネイティブ関数と同じ感覚で呼び出せるようになります。</p>



<p class="wp-block-paragraph">※ 名前の管理ダイアログの操作画面は、デスクトップ版Excel（Windows）でご確認ください。</p>



<h3 class="wp-block-heading"><span id="toc19">実務例⑤：消費税計算をLAMBDA関数化して毎月使い回す</span></h3>



<p class="wp-block-paragraph">毎月の請求書で「税抜価格 × 1.1」の式を何十か所にも書いているなら、LAMBDA化の絶好のチャンスです。次のLAMBDA式を <code>TAX_INCLUDED</code> という名前で登録してみましょう。</p>



<pre class="wp-block-code"><code>'--- 名前の管理に登録するLAMBDA式 ---
=LAMBDA(price, ROUND(price*1.1, 0))</code></pre>



<p class="wp-block-paragraph">登録後はどのセルでも次のように使えます。</p>



<pre class="wp-block-code"><code>'--- 通常の関数として呼び出し可能 ---
=TAX_INCLUDED(B2)</code></pre>



<p class="wp-block-paragraph">将来、消費税率が変わったり端数処理を「切り捨て」に変えたいときは、<strong>「名前の管理」のLAMBDA式を1か所書き換えるだけ</strong> で全体に反映されます。コピペした数式を100か所修正する必要は一切ありません。</p>



<h3 class="wp-block-heading"><span id="toc20">実務例⑥：営業日換算LAMBDAで週末カウントを統一</span></h3>



<p class="wp-block-paragraph">「ある日付からN営業日後の日付を返す」という処理は、社内の勤怠管理や納期計算で頻出です。NETWORKDAYSやWORKDAYを毎回書くのではなく、LAMBDA化すると統一できます。</p>



<pre class="wp-block-code"><code>'--- WORKDAY_AFTER として名前登録 ---
=LAMBDA(startDate, days, WORKDAY(startDate, days))</code></pre>



<p class="wp-block-paragraph">呼び出し例:</p>



<pre class="wp-block-code"><code>'--- 5営業日後の日付を取得 ---
=WORKDAY_AFTER(TODAY(), 5)</code></pre>



<p class="wp-block-paragraph">祝日リストも引数に加えたければ、次のように拡張できます。</p>



<pre class="wp-block-code"><code>'--- 祝日対応版 WORKDAY_AFTER ---
=LAMBDA(startDate, days, holidays, WORKDAY(startDate, days, holidays))</code></pre>



<p class="wp-block-paragraph">このようにLAMBDAは「あとから引数を増やす」拡張も柔軟にできます。</p>



<h3 class="wp-block-heading"><span id="toc21">実務例⑦：評価ランクLAMBDAで成績判定を関数化</span></h3>



<p class="wp-block-paragraph">「点数からA/B/C/D評価を返す」というような判定ロジックは、複数のシートで同じ閾値を使うことが多く、LAMBDA向きです。</p>



<pre class="wp-block-code"><code>'--- RANK_GRADE として名前登録 ---
=LAMBDA(score,
  IF(score &gt;= 80, &quot;A&quot;,
   IF(score &gt;= 60, &quot;B&quot;,
    IF(score &gt;= 40, &quot;C&quot;, &quot;D&quot;)))
)</code></pre>



<p class="wp-block-paragraph">呼び出し:</p>



<pre class="wp-block-code"><code>'--- セルB2の点数から評価を取得 ---
=RANK_GRADE(B2)</code></pre>



<p class="wp-block-paragraph">評価基準が「80→85」に変わったとしても、名前の管理にあるLAMBDA式の1か所を直すだけで、社内の全シートに反映されます。担当者ごとの判定ブレも防げます。</p>



<h2 class="wp-block-heading"><span id="toc22">LAMBDA + ヘルパー関数で配列処理を一気に書く</span></h2>



<p class="wp-block-paragraph">LAMBDA関数の真価は、<strong>MAP/BYROW/BYCOL/REDUCE等のヘルパー関数と組み合わせたとき</strong> に現れます。これらは「LAMBDA式を受け取って、配列の各要素に適用する」高階関数です。</p>



<h3 class="wp-block-heading"><span id="toc23">MAP関数との連携（要素ごとにLAMBDAを適用）</span></h3>



<p class="wp-block-paragraph">MAP関数は、配列の各要素に対してLAMBDAを実行し、結果を配列で返します。たとえば「A2:A10 の全ての値に税込計算を適用したい」とき、次のように書けます。</p>



<pre class="wp-block-code"><code>'--- A2:A10の全要素にTAX_INCLUDEDを適用 ---
=MAP(A2:A10, LAMBDA(x, ROUND(x*1.1, 0)))</code></pre>



<p class="wp-block-paragraph">これでスピル動作により、隣の列に税込価格が9行分一気に展開されます。LAMBDAを毎セルにコピーする必要はありません。</p>



<p class="wp-block-paragraph">MAP関数の詳しい使い方は <a href="https://mashukabu.com/excel-function-howto-use-map/">ExcelのMAP関数の使い方</a> で個別解説しています。</p>



<h3 class="wp-block-heading"><span id="toc24">BYROW/BYCOLとの連携（行・列ごとの一括処理）</span></h3>



<p class="wp-block-paragraph">BYROW関数は「行ごと」に処理をかけ、BYCOL関数は「列ごと」に処理をかけます。たとえば「各行の最大値を取り出す」ならBYROWが便利です。</p>



<pre class="wp-block-code"><code>'--- 各行の最大値を取得 ---
=BYROW(A2:D10, LAMBDA(row, MAX(row)))</code></pre>



<p class="wp-block-paragraph">3列の合計を行単位で出したいなら次のとおりです。</p>



<pre class="wp-block-code"><code>'--- 各行の合計を取得 ---
=BYROW(A2:C10, LAMBDA(row, SUM(row)))</code></pre>



<p class="wp-block-paragraph">集計関数（SUM/MAX/MIN/AVERAGE）をLAMBDA経由で渡すだけで、行・列単位の一括処理が完了します。SUMPRODUCTや配列数式の代わりに使えるシーンが多く、慣れると手放せません。</p>



<h2 class="wp-block-heading"><span id="toc25">LET + LAMBDA を組み合わせる：実務頻出3パターン</span></h2>



<p class="wp-block-paragraph">LETとLAMBDAは単独でも便利ですが、<strong>組み合わせると真価を発揮します</strong>。ここでは実務頻出の3パターンを紹介します。</p>



<h3 class="wp-block-heading"><span id="toc26">パターン1：LETで中間変数を整理してからLAMBDAに渡す</span></h3>



<p class="wp-block-paragraph">外側の数式でLETを使ってデータを整え、整えた結果をLAMBDAベースのカスタム関数に渡す書き方です。</p>



<pre class="wp-block-code"><code>'--- LETでデータ整形→LAMBDA関数を呼び出す ---
=LET(
  raw,    FILTER(A2:C100, B2:B100=&quot;東京&quot;),
  sorted, SORT(raw, 3, -1),
  TAX_INCLUDED(INDEX(sorted, 1, 3))
)</code></pre>



<p class="wp-block-paragraph">中間結果に名前を付けることで「フィルタ→ソート→税込変換」という処理の流れが明確になります。</p>



<h3 class="wp-block-heading"><span id="toc27">パターン2：FILTER+SORTの組み合わせをLET変数で段階的に書く</span></h3>



<p class="wp-block-paragraph">LAMBDAを使わなくても、LET単体で動的配列関数を段階的に書けます。</p>



<pre class="wp-block-code"><code>'--- 動的配列関数を段階化 ---
=LET(
  filtered, FILTER(A2:C10, B2:B10=&quot;東京&quot;),
  SORT(filtered, 3, -1)
)</code></pre>



<p class="wp-block-paragraph">東京のデータだけを抽出し、3列目で降順ソートする処理を「2段階」で書いています。中間結果の <code>filtered</code> だけを表示すれば動作確認ができるため、デバッグも容易です。</p>



<h3 class="wp-block-heading"><span id="toc28">パターン3：LAMBDA内部でLETを使ってロジックを可読化する</span></h3>



<p class="wp-block-paragraph">LAMBDAで複雑な計算をするとき、内部にLETを入れ子にして中間変数を整理できます。</p>



<pre class="wp-block-code"><code>'--- LAMBDA内部にLETを入れ子で書く ---
=LAMBDA(price,
  LET(
    base, price * 1.1,
    tax,  base * 0.1,
    base + tax
  )
)</code></pre>



<p class="wp-block-paragraph">この式を <code>TAX_DETAIL</code> として登録すれば、<code>=TAX_DETAIL(1000)</code> で呼び出せます。LAMBDAの引数 <code>price</code> を受け取り、LETで段階的に <code>base</code> と <code>tax</code> を計算してから合計を返す構造です。</p>



<h2 class="wp-block-heading"><span id="toc29">LET/LAMBDA vs VBA Function｜使い分けの判断基準</span></h2>



<p class="wp-block-paragraph">「カスタム関数を作るならLAMBDAとVBA UDF、どちらを選ぶべきか」は多くの方が悩む点です。両者を実務観点で比較します。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>LAMBDA関数</th><th>VBA Functionプロシージャ</th></tr></thead><tbody><tr><td>作成手段</td><td>数式のみ</td><td>VBAコード（VBE）</td></tr><tr><td>配布形式</td><td>xlsx</td><td>xlsm（マクロ有効ブック）</td></tr><tr><td>セキュリティ警告</td><td>出ない</td><td>出る</td></tr><tr><td>計算速度</td><td>数式と同等</td><td>やや遅い場合あり</td></tr><tr><td>対応バージョン</td><td>Microsoft 365のみ</td><td>VBA対応のExcel全般</td></tr><tr><td>可能な処理</td><td>数式で書ける範囲</td><td>ファイル操作・API呼出・複雑制御も可</td></tr><tr><td>デバッグ</td><td>LETの中間変数で確認</td><td>ブレークポイント・イミディエイト</td></tr><tr><td>学習コスト</td><td>Excelの数式知識のみ</td><td>VBA文法を学ぶ必要あり</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">判断基準を実務シーン別に整理すると次のとおりです。</p>



<ul class="wp-block-list"><li><strong>xlsxのまま配布したい・社内のマクロ警告を回避したい</strong> → LAMBDA</li><li><strong>計算式の延長で済む処理（税込・営業日・評価判定など）</strong> → LAMBDA</li><li><strong>Excel 2021や旧バージョンのユーザーがいる</strong> → VBA Function（LAMBDAは使えない）</li><li><strong>ファイル操作・正規表現・WEB API呼び出しが必要</strong> → VBA Function</li><li><strong>長年VBA UDFで運用していて移行コストが高い</strong> → VBA Functionを継続</li></ul>



<p class="wp-block-paragraph">VBAのFunctionプロシージャの基本については <a href="https://mashukabu.com/excel-vba-howto-use-function/">VBA Functionプロシージャの使い方</a> で詳しく解説しています。両者の使い分けを社内で標準化したい方は、まずLAMBDAで実装してみて、できない処理だけVBAに移すアプローチが現実的です。</p>



<h2 class="wp-block-heading"><span id="toc30">こんなエラーが出たら：つまずきポイントと対処法</span></h2>



<p class="wp-block-paragraph">LET/LAMBDAは強力ですが、慣れないうちはエラーに遭遇します。代表的な4つのケースと対処法をまとめます。</p>



<h3 class="wp-block-heading"><span id="toc31">#NAME?エラーが出る原因と解決策</span></h3>



<p class="wp-block-paragraph"><code>#NAME?</code> エラーは、Excelが関数名や変数名を認識できないときに発生します。主な原因は3つです。</p>



<ol class="wp-block-list"><li><strong>バージョン非対応</strong>: Excel 2019以前でLETを使うと出ます。LAMBDAはExcel 2021でも非対応なので注意してください</li><li><strong>関数名のスペルミス</strong>: <code>=LET</code> を <code>=LTE</code> などとタイプミスしている</li><li><strong>名前定義の未登録</strong>: <code>=TAX_CALC(100)</code> と呼んでも、「名前の管理」に未登録なら認識されません</li></ol>



<p class="wp-block-paragraph">対処は「バージョン確認 → スペル確認 → 名前の管理で登録状態を確認」の順で切り分けます。エラー処理を厚くしたいなら <a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方</a> を組み合わせてください。</p>



<h3 class="wp-block-heading"><span id="toc32">#CALC!エラーが出る原因と解決策</span></h3>



<p class="wp-block-paragraph"><code>#CALC!</code> エラーは、LAMBDAをセルに書いた際に <strong>末尾の引数渡しを忘れた</strong> ときの典型エラーです。たとえば次の式はエラーになります。</p>



<pre class="wp-block-code"><code>'--- これは#CALC!エラーになる ---
=LAMBDA(temp, (5/9)*(temp-32))</code></pre>



<p class="wp-block-paragraph">セル内で即時呼び出しするには末尾に <code>(100)</code> のように引数を付けます。</p>



<pre class="wp-block-code"><code>'--- 末尾に引数を渡せば正常動作 ---
=LAMBDA(temp, (5/9)*(temp-32))(100)</code></pre>



<p class="wp-block-paragraph">なお、名前定義に登録したLAMBDAを呼び出す場合は <code>=MY_FUNC(100)</code> の形で問題ありません。</p>



<h3 class="wp-block-heading"><span id="toc33">変数名にセル参照と同名を使ったときの挙動</span></h3>



<p class="wp-block-paragraph">LETの変数名に <code>A1</code> や <code>B2</code> のような「セル参照と同名」を使うと、Excelは予期しない動作をする可能性があります。たとえば以下の式は本来意図した動作にならない恐れがあります。</p>



<pre class="wp-block-code"><code>'--- セル参照と同名はNG ---
=LET(A1, 10, A1*2)</code></pre>



<p class="wp-block-paragraph">LETの仕様上「変数名はセル参照と同名にしない」というルールがあります。<code>price</code> や <code>taxRate</code> のように <strong>意味のある名前</strong> を必ず付けてください。可読性の面でも重要です。</p>



<h3 class="wp-block-heading"><span id="toc34">LAMBDAの再帰呼び出しでスタックオーバーフロー</span></h3>



<p class="wp-block-paragraph">LAMBDAは自分自身を呼び出す「再帰」が可能ですが、停止条件を書き忘れるとExcelがフリーズします。階乗計算の例で見てみましょう。</p>



<pre class="wp-block-code"><code>'--- FACT_LAMBDA として登録するイメージ ---
=LAMBDA(n, IF(n&lt;=1, 1, n * FACT_LAMBDA(n-1)))</code></pre>



<p class="wp-block-paragraph"><code>n<=1</code> という停止条件を抜くと無限ループになり、最悪Excelが応答不能になります。再帰LAMBDAを書くときは必ず停止条件を最初に書く癖を付けてください。</p>



<h2 class="wp-block-heading"><span id="toc35">よくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph">[faq q="LET関数とLAMBDA関数の最大の違いは何ですか？" a="スコープと役割が違います。LET関数は「1つのセル内だけで使える変数」を作るためのもの、LAMBDA関数は「ブック全体で使い回せるカスタム関数」を作るためのものです。LETは長い数式を整理する用途、LAMBDAは複数箇所で同じ計算ロジックを再利用する用途で使い分けます。"]<br>[faq q="Excel 2019や2016ではLET・LAMBDAは使えますか？" a="使えません。LET関数はExcel 2021 / Microsoft 365以降が必須、LAMBDA関数はMicrosoft 365専用です。Excel 2019以前のバージョンで開くと#NAME?エラーになります。社外に共有する場合は、相手のExcelバージョンを必ず確認してください。"]<br>[faq q="LAMBDA関数で作ったカスタム関数は他のブックでも使えますか？" a="そのままでは使えません。LAMBDA関数は「名前の管理」に登録するため、登録したブック内でのみ有効です。他のブックでも使うには、各ブックで同じLAMBDA式を再登録するか、テンプレートブックを共有して全員にコピーしてもらう運用が一般的です。"]<br>[faq q="LAMBDA関数にマクロのセキュリティ警告は出ますか？" a="出ません。LAMBDAは数式の延長なので、ファイル形式もxlsxのままで配布できます。VBAのユーザー定義関数（UDF）と違い、開いた人にマクロ警告が出ないため、社内ポリシーでマクロが制限されている環境でも安心して配布できます。"]<br>[faq q="LET関数の変数名に使ってはいけないものはありますか？" a="4つの制約があります。1. 数字や記号で始まる名前（例: 1stValue）、2. スペースを含む名前、3. A1やB2などのセル参照と同じ名前、4. TRUE・FALSE・NULLなどの予約語、これらは使えません。安全な命名は「英小文字で始まる意味のある名前（例: result, taxRate, totalPrice）」です。"]<br>[faq q="LAMBDAとVBAのユーザー定義関数(UDF)はどちらを使うべきですか？" a="数式で書ける範囲ならLAMBDAを優先するのがおすすめです。xlsxのまま配布でき、セキュリティ警告も出ないからです。ただしファイル操作・正規表現・WEB API呼び出しなど数式で書けない処理はVBA UDFが必要です。Microsoft 365が使えない環境ではVBA UDFを選びましょう。"]</p>



<h2 class="wp-block-heading"><span id="toc36">まとめ：LETは今日から、LAMBDAは次のステップで</span></h2>



<p class="wp-block-paragraph">LET関数とLAMBDA関数は、ExcelをVBAなしで「自分仕様」にカスタマイズできる強力な仕組みです。最後に本記事の要点を整理します。</p>



<ul class="wp-block-list"><li><strong>LET関数</strong>: セル内で変数を定義し、長い数式を整理する。Excel 2021以降で利用可</li><li><strong>LAMBDA関数</strong>: ブック全体で再利用できるカスタム関数を定義する。Microsoft 365専用</li><li><strong>使い分け</strong>: 1セル完結ならLET、複数箇所で繰り返すならLAMBDA</li><li><strong>組み合わせ</strong>: LAMBDA内部でLETを使えば、関数の内部ロジックを段階的に書けて可読性が大幅向上</li><li><strong>エラー対処</strong>: <code>#NAME?</code> はバージョン・スペル・名前登録、<code>#CALC!</code> はLAMBDA末尾の引数渡し忘れ</li><li><strong>VBAとの違い</strong>: xlsxのまま配布可・セキュリティ警告なし・ただしMicrosoft 365専用</li></ul>



<p class="wp-block-paragraph">まずは今日からLETを試してみてください。長いVLOOKUP+IFERRORの数式を <code>result</code> という変数1つで括るだけで、メンテナンス性が大きく変わります。LETの操作に慣れたら、次のステップとしてLAMBDA関数を1つだけ「名前の管理」に登録してみましょう。消費税計算でも単価計算でもかまいません。1つでも自作の関数がブックに登録できると、Excelとの付き合い方そのものが変わります。</p>



<p class="wp-block-paragraph">VBAに踏み込まなくても、数式だけでここまで自動化できる時代になりました。<strong>「数式に名前を付ける」</strong> という小さな一歩から、メンテナンスしやすく再利用可能なExcel運用を始めていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc37">関連記事で次のステップに進む</span></h3>



<p class="wp-block-paragraph">LET/LAMBDAを使いこなすうえで、合わせて押さえておきたい関数記事を紹介します。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">ExcelのVLOOKUP関数の使い方</a>：LET実務例①で必須の検索関数</li><li><a href="https://mashukabu.com/excel-function-howto-use-if/">ExcelのIF関数の使い方</a>：複合条件をLETで整理する前に基礎を確認</li><li><a href="https://mashukabu.com/excel-function-howto-use-iferror/">ExcelのIFERROR関数の使い方</a>：エラー処理の標準パターン</li><li><a href="https://mashukabu.com/excel-function-howto-use-map/">ExcelのMAP関数の使い方</a>：LAMBDAとの相棒、配列一括処理の要</li><li><a href="https://mashukabu.com/excel-vba-howto-use-function/">VBA Functionプロシージャの使い方</a>：LAMBDAで足りないケースの代替手段</li><li><a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数一覧【機能別】</a>：他の便利関数を機能別に俯瞰</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-let-lambda-function-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google KeepとOneNote、どっちを使うべき？｜事務職のメモアプリ選び方ガイド</title>
		<link>https://mashukabu.com/google-keep-vs-onenote/</link>
					<comments>https://mashukabu.com/google-keep-vs-onenote/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 21:29:27 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Google Keep]]></category>
		<category><![CDATA[Google Workspace]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[OneNote]]></category>
		<category><![CDATA[ツール比較]]></category>
		<category><![CDATA[メモアプリ]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6634</guid>

					<description><![CDATA[Google KeepとOneNoteのどちらを選ぶべきか、事務職の業務シーン別に比較しました。料金・連携・同期・共同編集の4観点で違いを整理し、6つの実務シーンでの推奨判定、3つの質問で決まる選び方フローチャート、両方併用するコツや移行時の注意点まで実践的に解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「会社のPCにOneNoteは入っているけど、私用のスマホではGoogle Keepの方が便利そう」——事務職の方なら一度はそんな迷いを経験しているのではないでしょうか。</p>



<p class="wp-block-paragraph">メモアプリは毎日触れるツールなので、最初に選ぶアプリ次第で1日の業務効率がずいぶん変わるんですよね。この記事では、<strong>Google Keep</strong> と <strong>Microsoft OneNote</strong> のどちらが自分の仕事に向くかを、事務職の業務シーンに落とし込んで判定できるようにまとめました。</p>



<p class="wp-block-paragraph">読み終わるころには「自分はこっち」と10秒で決められる状態になっているはずですよ。</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">Google KeepとOneNoteの違い【30秒で判定できる早見表】</a></li><li><a href="#toc2" tabindex="0">Google Keepの特徴｜こんな事務職に向いている</a><ol><li><a href="#toc3" tabindex="0">Google Keepのメリット</a></li><li><a href="#toc4" tabindex="0">Google Keepの弱点</a></li></ol></li><li><a href="#toc5" tabindex="0">OneNoteの特徴｜こんな事務職に向いている</a><ol><li><a href="#toc6" tabindex="0">OneNoteのメリット</a></li><li><a href="#toc7" tabindex="0">OneNoteの弱点</a></li></ol></li><li><a href="#toc8" tabindex="0">業務シーン別 ベスト選択表｜事務職の6シーンで比較</a></li><li><a href="#toc9" tabindex="0">失敗しない選び方フローチャート｜3つの質問で決まる</a></li><li><a href="#toc10" tabindex="0">両方併用するという選択肢｜実は事務職の現実解</a></li><li><a href="#toc11" tabindex="0">移行・乗り換え時の注意点</a></li><li><a href="#toc12" tabindex="0">まとめ｜あなたに合うメモアプリはこれ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Google KeepとOneNoteの違い【30秒で判定できる早見表】</span></h2>



<p class="wp-block-paragraph">まず結論から先に、4つの観点で比較した早見表を見てください。「ざっくりどっちが何に強いか」がこれだけでつかめますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>Google Keep</th><th>OneNote</th></tr></thead><tbody><tr><td>料金</td><td>無料</td><td>無料版あり / Microsoft 365に含まれる</td></tr><tr><td>ノート構造</td><td>フラット（メモ単位、ラベル整理）</td><td>階層（ノートブック>セクション>ページ）</td></tr><tr><td>メモの長さ</td><td>短文向き（実用上は約2万字まで）</td><td>長文OK（議事録・ナレッジに最適）</td></tr><tr><td>添付ファイル</td><td>画像・音声のみ</td><td>画像・PDF・Excel・Wordなど可</td></tr><tr><td>手書き対応</td><td>スマホアプリのみ</td><td>PC・タブレット両方で本格対応</td></tr><tr><td>同期速度</td><td>速い（数秒）</td><td>やや遅い（数十秒〜数分）</td></tr><tr><td>共同編集</td><td>メモ単位</td><td>ノートブック単位</td></tr><tr><td>連携先</td><td>Google Workspace全般</td><td>Microsoft 365全般（Teams/Outlook含む）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ここから先は、それぞれの特徴と業務シーン別の向き不向きを、もう少し具体的に見ていきます。</p>



<h2 class="wp-block-heading"><span id="toc2">Google Keepの特徴｜こんな事務職に向いている</span></h2>



<p class="wp-block-paragraph">Google Keep は Google が提供する無料のメモアプリです。Googleアカウントさえあれば誰でもすぐ使えて、Web版（keep.google.com）・Android・iOS で動きます。</p>



<p class="wp-block-paragraph">「思いついた瞬間にメモして、すぐ見返せる」という軽さが最大の強みなんですよね。</p>



<h3 class="wp-block-heading"><span id="toc3">Google Keepのメリット</span></h3>



<ul class="wp-block-list"><li><strong>起動が速くて軽い</strong>: ブラウザでブックマークから keep.google.com を開くだけ。アプリのインストールも不要です</li><li><strong>スマホ↔PC同期がほぼリアルタイム</strong>: 電車内でスマホからメモを追加すると、オフィス着席時にはPCにも反映済みです</li><li><strong>チェックリストへの変換が1クリック</strong>: テキストメモを「＋」アイコンからチェックリストに切り替えできます</li><li><strong>ラベル＋色分けで整理が直感的</strong>: 案件名や業務種別でラベルを作って、色を変えるだけで一覧性が上がります</li><li><strong>Google Workspace との連携が自然</strong>: Gmail やカレンダー、ドキュメント、スプレッドシートのサイドパネルから直接呼び出せます</li><li><strong>完全無料</strong>: GWS の有料プランを契約していても追加課金なしで使えます</li></ul>



<p class="wp-block-paragraph">Keepの基本操作と活用術は、別記事の <a href="https://mashukabu.com/google-keep-guide/">Google Keepの使い方完全ガイド｜事務職が仕事で使える7つの活用術</a> で詳しく解説しています。Keepを選んだ方はあわせてチェックしてみてください。</p>



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



<ul class="wp-block-list"><li><strong>長文・大量情報には不向き</strong>: 1メモあたり実用上は2万字程度が上限。30分以上の会議の議事録には厳しいです</li><li><strong>添付ファイルは画像と音声のみ</strong>: ExcelやPDFの添付ができないので、ファイル付きのナレッジ管理には使えません</li><li><strong>構造化された整理ができない</strong>: ノートブックやフォルダの階層はなく、ラベルでの平面整理だけです</li><li><strong>オフライン編集はほぼ不可</strong>: 電波がない場所では基本使えません</li></ul>



<p class="wp-block-paragraph">「短くて即座に書いて消す」用途には強いけれど、「ためこんで整理する」用途には向かないのが Keep の特徴ですね。</p>



<h2 class="wp-block-heading"><span id="toc5">OneNoteの特徴｜こんな事務職に向いている</span></h2>



<p class="wp-block-paragraph">OneNote は Microsoft が提供するノートアプリです。Microsoft 365 に標準で入っており、無料版も配布されています。会社の標準環境が Microsoft 365 なら、追加導入なしで使い始められるのが強みなんですよね。</p>



<p class="wp-block-paragraph">「あらゆる情報をひとつのノートブックに集約して整理する」という思想が根本にあります。</p>



<h3 class="wp-block-heading"><span id="toc6">OneNoteのメリット</span></h3>



<ul class="wp-block-list"><li><strong>3階層で情報を整理できる</strong>: ノートブック>セクション>ページの階層で、紙のバインダーに近い感覚で切り分けられます</li><li><strong>長文・大容量に強い</strong>: 1ページに大量のテキスト・画像・添付を詰め込んでも動作します</li><li><strong>ファイル添付・印刷イメージ埋め込みが可能</strong>: Excel・PDF・Wordをページ内に貼り付けて見せられます</li><li><strong>手書きメモが本格的</strong>: タッチペン対応のPCやタブレットでフリーフォーム描画ができ、図形認識・数式認識まで対応します</li><li><strong>画像内のテキストも検索対象</strong>: 撮影したホワイトボード画像の中の文字までヒットします</li><li><strong>オフライン完全対応</strong>: デスクトップアプリは電波がなくても編集でき、後で自動同期されます</li><li><strong>Microsoft 365 連携が充実</strong>: Outlookからのメール送付、Teamsへのタブ埋め込み、Excelとの貼り付けなど業務での使い回しが効きます</li></ul>



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



<ul class="wp-block-list"><li><strong>起動・ページ作成がやや重い</strong>: Keepのような「思いついて30秒で書く」用途にはオーバースペックです</li><li><strong>同期速度がKeepほど速くない</strong>: 複数端末で編集すると同期エラーが発生することがあります</li><li><strong>「個人用」と「組織アカウント」の使い分けに注意</strong>: 業務利用なら必ず組織アカウントの OneNote を使ってください</li><li><strong>アプリの系統が分かりづらい</strong>: 「OneNote for Windows 10」と Microsoft 365 版の OneNote が混在していた時期があり、戸惑うことがあります（現在は Microsoft 365 版に統合される方向）</li></ul>



<p class="wp-block-paragraph">「腰を据えて情報を蓄積する」用途には強いけれど、「軽くサッと書く」用途には少しもたつくのが OneNote の特徴です。</p>



<h2 class="wp-block-heading"><span id="toc8">業務シーン別 ベスト選択表｜事務職の6シーンで比較</span></h2>



<p class="wp-block-paragraph">ここからは事務職の実務シーンに落として、6つの場面でどちらが向くかを判定します。○△×で見てくださいね。</p>



<figure class="wp-block-table"><table><thead><tr><th>業務シーン</th><th>Google Keep</th><th>OneNote</th><th>おすすめ理由</th></tr></thead><tbody><tr><td>朝の当日TODOチェックリスト</td><td>◎</td><td>△</td><td>Keepはチェックリスト化が一瞬。日々の習慣にしやすい</td></tr><tr><td>短い電話メモ（30秒で書いて保存）</td><td>◎</td><td>△</td><td>起動・同期速度ともにKeepが圧勝</td></tr><tr><td>議事録（30分〜1時間の会議）</td><td>△</td><td>◎</td><td>OneNoteの階層と長文対応が有利</td></tr><tr><td>経費精算のレシートメモ（写真付き）</td><td>◎</td><td>○</td><td>スマホで写真→即PCで参照する流れがKeepはスムーズ</td></tr><tr><td>案件引き継ぎナレッジ（添付ファイルあり）</td><td>×</td><td>◎</td><td>ファイル添付不可のKeepでは厳しい</td></tr><tr><td>プロジェクト全体の情報集約</td><td>×</td><td>◎</td><td>ノートブック階層で大規模整理が可能</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ざっくりまとめると、<strong>「軽いメモはKeep、ためこむナレッジはOneNote」</strong> という棲み分けが事務職の現実的な使い分けですね。</p>



<h2 class="wp-block-heading"><span id="toc9">失敗しない選び方フローチャート｜3つの質問で決まる</span></h2>



<p class="wp-block-paragraph">「どっちを使うか」を3つの質問で決めるフローチャートを用意しました。順番に答えてみてください。</p>



<p class="wp-block-paragraph"><strong>質問1: 職場の標準ツールはどちら？</strong></p>



<ul class="wp-block-list"><li>Microsoft 365が中心 → <strong>OneNote候補</strong> に進む</li><li>Google Workspaceが中心 → <strong>Google Keep候補</strong> に進む</li><li>両方使う環境 → 質問2へ</li></ul>



<p class="wp-block-paragraph"><strong>質問2: 主に書きたいのはどんなメモ？</strong></p>



<ul class="wp-block-list"><li>短い気づき・チェックリスト・電話メモ中心 → <strong>Google Keep</strong></li><li>議事録・添付資料込みの長い記録中心 → <strong>OneNote</strong></li></ul>



<p class="wp-block-paragraph"><strong>質問3: スマホで書いてすぐPCで見ることが多い？</strong></p>



<ul class="wp-block-list"><li>とても多い（外出が多い職種） → <strong>Google Keep</strong>（同期速度が速い）</li><li>それほど多くない（席メイン） → どちらでも可</li></ul>



<p class="wp-block-paragraph">この3問だけで、自分に合うアプリが決まりますよ。「迷ったらKeep、情報を貯め込みたいならOneNote」という大原則も覚えておいてください。</p>



<h2 class="wp-block-heading"><span id="toc10">両方併用するという選択肢｜実は事務職の現実解</span></h2>



<p class="wp-block-paragraph">実は、事務職の現場では <strong>「両方を併用する」</strong> のがベストアンサーになるケースがけっこうあります。1つに絞らず役割で使い分けると、それぞれの強みだけを取り出せるんですよね。</p>



<p class="wp-block-paragraph">おすすめの併用パターンはこんな感じです。</p>



<ul class="wp-block-list"><li><strong>Google Keep</strong>: 当日のTODOリスト、電話メモ、思いつきメモ、買い物リストなど「短くて軽いもの」専用</li><li><strong>OneNote</strong>: 議事録、案件ナレッジ、引き継ぎ資料、プロジェクト管理ノートなど「長くて整理が必要なもの」専用</li></ul>



<p class="wp-block-paragraph">Keepに書いた重要メモのうち「これは保存版」となったものを、OneNoteの該当ページに転記する流れにします。こうすると「メモが散らばらない」「すぐ書ける」が両立しますよ。</p>



<p class="wp-block-paragraph">費用面も、Google Keepは完全無料、OneNoteはMicrosoft 365や無料版でカバーできるので、追加コストなしで両方使える点も併用しやすいポイントです。</p>



<h2 class="wp-block-heading"><span id="toc11">移行・乗り換え時の注意点</span></h2>



<p class="wp-block-paragraph">「今は片方を使っているけど、もう片方に移行したい」という方向けの注意点をまとめます。</p>



<ul class="wp-block-list"><li><strong>Google Keep → OneNote</strong>: Keep単体のエクスポートは Google Takeout から .html 形式で取り出せます。ただしOneNoteへの自動インポートツールは存在しないので、重要メモのみ手動でコピペが現実解です</li><li><strong>OneNote → Google Keep</strong>: ページごとの一括移行は非推奨。Keepの容量・添付制約に引っかかります。「短くまとめ直して残したいメモだけ」転記する形が安全です</li><li><strong>共有設定の引き継ぎ</strong>: Keepの共同編集者とOneNoteのリンク共有は仕組みが違います。乗り換え後は権限を必ず再設定してください</li><li><strong>ラベル・タグの構造</strong>: KeepのラベルとOneNoteのセクション/ページ構造は1対1で対応しないので、移行のタイミングで整理し直すのがおすすめです</li></ul>



<p class="wp-block-paragraph">「全部移行する」より「両方併用しながら少しずつ移し替える」のがストレスが少ないですよ。</p>



<h2 class="wp-block-heading"><span id="toc12">まとめ｜あなたに合うメモアプリはこれ</span></h2>



<p class="wp-block-paragraph">Google KeepとOneNoteの違いを、事務職の業務シーンに落として比較してきました。最後にもう一度ポイントを整理します。</p>



<ul class="wp-block-list"><li><strong>Google Keep</strong> は「軽くて速い、短いメモ」に強い。起動・同期が速く、Google Workspaceと相性抜群</li><li><strong>OneNote</strong> は「長くて整理が必要な情報」に強い。ノートブック階層・添付ファイル・手書き対応で Microsoft 365と一体化</li><li>6つの業務シーン別では「TODO・電話メモ・経費レシート」はKeep、「議事録・引き継ぎ・案件集約」はOneNote</li><li>3つの質問（職場の標準・メモの種類・モバイル度）で自分の選択肢が決まる</li><li>迷うなら <strong>両方併用</strong> が事務職の現実解。短いメモはKeep、長いナレッジはOneNoteと役割分担</li></ul>



<p class="wp-block-paragraph">まずは今日の業務で、自分の典型的なメモシーンを思い出してみてください。短い箇条書きが多いなら Google Keep、添付資料込みの長文が多いなら OneNote から試すと失敗しませんよ。</p>



<p class="wp-block-paragraph">Google Keepの活用術をもっと知りたい方は <a href="https://mashukabu.com/google-keep-guide/">Google Keepの使い方完全ガイド｜事務職が仕事で使える7つの活用術</a> を、Microsoft 365とGoogle Workspaceの使い分けが気になる方は <a href="https://mashukabu.com/excel-vs-spreadsheet/">ExcelとGoogleスプレッドシートの違い｜どっちを選ぶべきか徹底比較</a> もあわせてどうぞ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/google-keep-vs-onenote/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのISOMITTED関数の使い方｜LAMBDAの省略引数を判定して既定値を返す</title>
		<link>https://mashukabu.com/excel-function-howto-use-isomitted/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-isomitted/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:43:18 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[LAMBDA]]></category>
		<category><![CDATA[LET]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[関数自作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6584</guid>

					<description><![CDATA[ExcelのISOMITTED関数は、LAMBDAで定義した引数が省略されたかをTRUE/FALSEで返す関数です。基本構文、IFと組み合わせて省略可能引数つきカスタム関数を作る方法、LET・MAP・REDUCEとの連携、ISBLANKとの違い、対応バージョンや#CALC!エラーの原因まで実務目線で丁寧に解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「ExcelのISOMITTED関数って何ができるの？」「LAMBDAで作った自作関数の引数を省略できるようにしたい」。そんな疑問はありませんか？</p>



<p class="wp-block-paragraph">ISOMITTED関数（読み方：イズオミッティッド）は、<a href="https://mashukabu.com/excel-function-howto-use-lambda/">LAMBDA関数</a>の引数が省略されたかを判定する関数です。関数名は「IS（〜である）+ OMITTED(省略された)」に由来します。IFと組み合わせれば、引数を省略したときに既定値を返す「省略可能引数つきカスタム関数」をVBAなしで作れます。</p>



<p class="wp-block-paragraph">この記事では、ISOMITTED関数の基本構文と使い方を解説します。LAMBDA + IF を使った省略引数の実装、複数引数の省略チェック、<a href="https://mashukabu.com/excel-function-howto-use-let/">LET関数</a>との組み合わせ、名前付き関数としての保存、<a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数</a>との違い、<a href="https://mashukabu.com/excel-function-howto-use-map/">MAP関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-reduce/">REDUCE関数</a>との組み合わせ、対応バージョンやよくあるエラーの対処法、実務でよくある質問までカバーします。</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">ISOMITTED関数とは？LAMBDAの引数省略を判定するExcel関数</a><ol><li><a href="#toc2" tabindex="0">構文</a></li><li><a href="#toc3" tabindex="0">戻り値</a></li><li><a href="#toc4" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc5" tabindex="0">ISOMITTED関数の基本的な使い方｜IFと組み合わせて既定値を返す</a><ol><li><a href="#toc6" tabindex="0">例: 税込価格を計算するカスタム関数</a></li><li><a href="#toc7" tabindex="0">例: 税率を明示的に渡す場合</a></li><li><a href="#toc8" tabindex="0">結果の比較</a></li></ol></li><li><a href="#toc9" tabindex="0">複数の引数を省略可能にする実務パターン</a><ol><li><a href="#toc10" tabindex="0">例: 文字列を結合するカスタム関数（区切り文字と接頭辞をオプションに）</a></li><li><a href="#toc11" tabindex="0">引数を一部だけ指定する場合</a></li><li><a href="#toc12" tabindex="0">LET と組み合わせる利点</a></li></ol></li><li><a href="#toc13" tabindex="0">実務で使える応用パターン3選</a><ol><li><a href="#toc14" tabindex="0">パターン1: 端数処理の方法を選べる丸め関数</a></li><li><a href="#toc15" tabindex="0">パターン2: 範囲の合計に「条件」と「割引率」を後付けできる関数</a></li><li><a href="#toc16" tabindex="0">パターン3: MAP・REDUCEと組み合わせて配列処理を柔軟にする</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></ol></li><li><a href="#toc21" tabindex="0">ISOMITTED関数とISBLANK関数の違い・使い分け</a><ol><li><a href="#toc22" tabindex="0">機能の比較</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">ISOMITTED関数のよくあるエラーと対処法</a><ol><li><a href="#toc26" tabindex="0">#NAME? エラー</a></li><li><a href="#toc27" tabindex="0">#CALC! エラー</a></li><li><a href="#toc28" tabindex="0">#VALUE! エラー</a></li></ol></li><li><a href="#toc29" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc30" tabindex="0">Q1. ISOMITTEDは省略できる引数の「位置」に制限はありますか？</a></li><li><a href="#toc31" tabindex="0">Q2. ISOMITTEDをIFS関数やSWITCH関数と組み合わせても問題ありませんか？</a></li><li><a href="#toc32" tabindex="0">Q3. ISOMITTEDで判定したあと、未指定の引数に「セルの値」を既定値として使うことはできますか？</a></li></ol></li><li><a href="#toc33" tabindex="0">まとめ｜ISOMITTED関数で省略可能引数つきカスタム関数を作る</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ISOMITTED関数とは？LAMBDAの引数省略を判定するExcel関数</span></h2>



<p class="wp-block-paragraph">ISOMITTED関数は、LAMBDA関数の引数が省略されたかどうかを <code>TRUE</code> / <code>FALSE</code> で返す関数です。LAMBDA関数の中でしか意味を持たない、特殊な用途の関数です。</p>



<h3 class="wp-block-heading"><span id="toc2">構文</span></h3>



<pre class="wp-block-code"><code>=ISOMITTED(argument)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>説明</th></tr></thead><tbody><tr><td>argument</td><td>LAMBDA関数の引数。チェックしたい引数名をそのまま渡す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc3">戻り値</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>状態</th><th>戻り値</th></tr></thead><tbody><tr><td>引数が省略されている</td><td><code>TRUE</code></td></tr><tr><td>引数が指定されている</td><td><code>FALSE</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポイントは、ISOMITTEDは <strong>LAMBDA関数の引数に対してのみ</strong> 動作することです。通常のセル参照（例: <code>=ISOMITTED(A1)</code>）に対して使っても、正しい結果は返りません。<code>#CALC!</code> エラーや <code>FALSE</code> 固定になります。</p>



<h3 class="wp-block-heading"><span id="toc4">対応バージョン</span></h3>



<ul class="wp-block-list"><li>Microsoft 365（Windows / Mac / Web）</li><li>Excel 2024（永続ライセンス版）</li><li>Excel for the web</li></ul>



<p class="wp-block-paragraph">Excel 2021 以前のバージョンでは使えません。<code>#NAME?</code> エラーになります。LAMBDA関数自体が Microsoft 365 と Excel 2024 で導入された機能です。ISOMITTEDもそれに準じます。LAMBDAやLETの基礎から学びたい方は、<a href="https://mashukabu.com/excel-let-lambda-function-guide/">LET・LAMBDA関数で自作関数を作る完全ガイド</a>も参考になります。</p>



<h2 class="wp-block-heading"><span id="toc5">ISOMITTED関数の基本的な使い方｜IFと組み合わせて既定値を返す</span></h2>



<p class="wp-block-paragraph">ISOMITTED関数の最も基本的な使い方は、IF関数との組み合わせです。「引数が省略されたら既定値を使う」というパターンを実装します。</p>



<h3 class="wp-block-heading"><span id="toc6">例: 税込価格を計算するカスタム関数</span></h3>



<p class="wp-block-paragraph">税込価格を計算するLAMBDA関数を作ります。第2引数の税率を省略したら自動で 10% を適用する仕様にします。</p>



<pre class="wp-block-code"><code>=LAMBDA(price,rate,
  IF(ISOMITTED(rate), price*1.10, price*(1+rate))
)(1000)</code></pre>



<p class="wp-block-paragraph">第2引数 <code>rate</code> を省略しているので、<code>ISOMITTED(rate)</code> が <code>TRUE</code> を返します。IFの分岐により <code>1000*1.10 = 1100</code> が結果として返ります。</p>



<h3 class="wp-block-heading"><span id="toc7">例: 税率を明示的に渡す場合</span></h3>



<pre class="wp-block-code"><code>=LAMBDA(price,rate,
  IF(ISOMITTED(rate), price*1.10, price*(1+rate))
)(1000, 0.08)</code></pre>



<p class="wp-block-paragraph">第2引数に <code>0.08</code>（8%）を渡しています。<code>ISOMITTED(rate)</code> は <code>FALSE</code> を返すため、IFの偽の側 <code>1000*1.08 = 1080</code> が結果になります。</p>



<h3 class="wp-block-heading"><span id="toc8">結果の比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th></tr></thead><tbody><tr><td><code>=LAMBDA(price,rate, IF(ISOMITTED(rate), price<em>1.10, price</em>(1+rate)))(1000)</code></td><td>1100</td></tr><tr><td><code>=LAMBDA(price,rate, IF(ISOMITTED(rate), price<em>1.10, price</em>(1+rate)))(1000, 0.08)</code></td><td>1080</td></tr><tr><td><code>=LAMBDA(price,rate, IF(ISOMITTED(rate), price<em>1.10, price</em>(1+rate)))(1000, 0.05)</code></td><td>1050</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このように、引数の省略可否をISOMITTEDで判定し、IFで既定値と明示値を切り替えるのが基本パターンです。</p>



<h2 class="wp-block-heading"><span id="toc9">複数の引数を省略可能にする実務パターン</span></h2>



<p class="wp-block-paragraph">複数の引数をそれぞれ独立して省略可能にすることもできます。各引数ごとにISOMITTEDで個別にチェックし、IFで分岐します。</p>



<h3 class="wp-block-heading"><span id="toc10">例: 文字列を結合するカスタム関数（区切り文字と接頭辞をオプションに）</span></h3>



<pre class="wp-block-code"><code>=LAMBDA(text1,text2,sep,prefix,
  LET(
    s, IF(ISOMITTED(sep), &quot; &quot;, sep),
    p, IF(ISOMITTED(prefix), &quot;&quot;, prefix),
    p &amp; text1 &amp; s &amp; text2
  )
)(&quot;Excel&quot;,&quot;関数&quot;)</code></pre>



<p class="wp-block-paragraph">第3引数 <code>sep</code>（区切り文字）と第4引数 <code>prefix</code>（接頭辞）を両方省略すると、半角スペース区切り・接頭辞なしで結合されます。結果は <code>Excel 関数</code> になります。</p>



<h3 class="wp-block-heading"><span id="toc11">引数を一部だけ指定する場合</span></h3>



<pre class="wp-block-code"><code>=LAMBDA(text1,text2,sep,prefix,
  LET(
    s, IF(ISOMITTED(sep), &quot; &quot;, sep),
    p, IF(ISOMITTED(prefix), &quot;&quot;, prefix),
    p &amp; text1 &amp; s &amp; text2
  )
)(&quot;Excel&quot;,&quot;関数&quot;,&quot;-&quot;)</code></pre>



<p class="wp-block-paragraph">第3引数だけ <code>-</code> を指定します。結果は <code>Excel-関数</code> になります。第4引数は省略のままなので、接頭辞は付きません。</p>



<h3 class="wp-block-heading"><span id="toc12">LET と組み合わせる利点</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-let/">LET関数</a>で中間変数（<code>s</code>, <code>p</code>）を定義することで、IFの分岐結果を一度だけ計算して再利用できます。可読性も上がるため、LAMBDA + ISOMITTEDの組み合わせではLETを併用するのが定石です。</p>



<h2 class="wp-block-heading"><span id="toc13">実務で使える応用パターン3選</span></h2>



<p class="wp-block-paragraph">ISOMITTEDは、ちょっとした自作関数を「使いやすく」するのに非常に有効です。実務でよく使う応用パターンを3つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン1: 端数処理の方法を選べる丸め関数</span></h3>



<p class="wp-block-paragraph">金額計算で「四捨五入・切り上げ・切り捨て」を切り替えたい場面は多いです。第2引数を省略したら四捨五入、<code>"up"</code> / <code>"down"</code> を指定したらそれぞれ切り上げ・切り捨てにする関数を作ります。</p>



<pre class="wp-block-code"><code>=LAMBDA(value,mode,
  LET(
    m, IF(ISOMITTED(mode), &quot;round&quot;, mode),
    IF(m=&quot;up&quot;, ROUNDUP(value,0),
      IF(m=&quot;down&quot;, ROUNDDOWN(value,0), ROUND(value,0)))
  )
)(1234.5,&quot;up&quot;)</code></pre>



<p class="wp-block-paragraph"><code>1234.5</code> を切り上げて <code>1235</code> を返します。省略時は四捨五入になるので、普段使いは <code>=丸め(1234.5)</code> で済みます。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン2: 範囲の合計に「条件」と「割引率」を後付けできる関数</span></h3>



<p class="wp-block-paragraph">販売データから合計金額を出すとき、「特定の商品だけ集計したい」「割引率を後から差し込みたい」というニーズがあります。両方を省略可能にしておくと、1つの関数で複数のレポートに使い回せます。</p>



<pre class="wp-block-code"><code>=LAMBDA(amounts,product_col,product_name,discount,
  LET(
    base, IF(ISOMITTED(product_col), SUM(amounts),
              SUMIF(product_col, product_name, amounts)),
    rate, IF(ISOMITTED(discount), 0, discount),
    base * (1 - rate)
  )
)(B2:B100, A2:A100, &quot;Excel本&quot;, 0.1)</code></pre>



<p class="wp-block-paragraph">商品列・商品名を省略すれば全合計、指定すれば商品別合計、さらに割引率を渡せば適用後の金額が出ます。</p>



<h3 class="wp-block-heading"><span id="toc16">パターン3: MAP・REDUCEと組み合わせて配列処理を柔軟にする</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-map/">MAP関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-reduce/">REDUCE関数</a>に渡すLAMBDA内でもISOMITTEDは使えます。たとえば「配列の各要素に係数をかけるが、係数を省略したら何もしない」関数です。</p>



<pre class="wp-block-code"><code>=LAMBDA(arr,factor,
  MAP(arr, LAMBDA(x,
    IF(ISOMITTED(factor), x, x*factor)
  ))
)(A1:A5, 2)</code></pre>



<p class="wp-block-paragraph"><code>A1:A5</code> の各値を2倍にして返します。第2引数を省略すれば元の値をそのまま返すので、テスト用と本番用で同じ関数が使えます。配列全体をスキャンするなら<a href="https://mashukabu.com/excel-function-howto-use-scan/">SCAN関数</a>、行・列単位で処理するなら<a href="https://mashukabu.com/excel-function-howto-use-byrow/">BYROW関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-bycol/">BYCOL関数</a>と組み合わせるのも有効です。</p>



<h2 class="wp-block-heading"><span id="toc17">名前付き関数として保存して再利用する</span></h2>



<p class="wp-block-paragraph">LAMBDA + ISOMITTEDで作った関数は、Excelの「名前の管理」機能で名前を付けて保存できます。保存後は普通の関数のように使えます。</p>



<h3 class="wp-block-heading"><span id="toc18">保存手順</span></h3>



<ol class="wp-block-list"><li>リボンの「数式」タブ →「名前の管理」→「新規作成」をクリック</li><li>「名前」欄に関数名を入力（例: <code>税込価格</code>）</li><li>「参照範囲」欄に LAMBDA 式を入力</li></ol>



<pre class="wp-block-code"><code>   =LAMBDA(price,rate, IF(ISOMITTED(rate), price*1.10, price*(1+rate)))</code></pre>



<ol class="wp-block-list"><li>「OK」をクリックして保存</li></ol>



<h3 class="wp-block-heading"><span id="toc19">使い方</span></h3>



<p class="wp-block-paragraph">保存後は、ワークブック全体で次のように使えます。</p>



<pre class="wp-block-code"><code>=税込価格(1000)
=税込価格(1000, 0.08)</code></pre>



<p class="wp-block-paragraph">第2引数は省略可能です。省略時は 10%、指定時はその税率が使われます。VBAでユーザー定義関数を作る場合と比べて、配布が簡単です。ファイルに埋め込まれるため、セキュリティ警告も出ません。</p>



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



<ul class="wp-block-list"><li>名前付き関数はワークブック単位で保存されます。別ファイルでは使えません</li><li>共有する場合はテンプレートとして配布するか、相手にも同じ名前付き関数を作成してもらう必要があります</li><li>名前付き関数の作り方の全体像は<a href="https://mashukabu.com/excel-let-lambda-function-guide/">LET・LAMBDA関数で自作関数を作る完全ガイド</a>で詳しく紹介しています</li></ul>



<h2 class="wp-block-heading"><span id="toc21">ISOMITTED関数とISBLANK関数の違い・使い分け</span></h2>



<p class="wp-block-paragraph">ISOMITTEDと似た判定をする関数に<a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK関数</a>があります。役割がまったく異なるため、混同しないよう整理しておきます。</p>



<h3 class="wp-block-heading"><span id="toc22">機能の比較</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>判定対象</th><th>使える場所</th></tr></thead><tbody><tr><td>ISOMITTED</td><td>LAMBDAの引数が省略されたか</td><td>LAMBDA関数の本体内のみ</td></tr><tr><td>ISBLANK</td><td>セルが空白（未入力）か</td><td>通常の数式すべて</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">動作の違い（具体例）</span></h3>



<p class="wp-block-paragraph">セル A1 が空白の状態で、次の自作関数を呼び出します。</p>



<pre class="wp-block-code"><code>=LAMBDA(x, IF(ISOMITTED(x), &quot;省略&quot;, &quot;指定あり&quot;))(A1)</code></pre>



<p class="wp-block-paragraph">引数 <code>x</code> には A1 の参照が渡されています。そのためISOMITTEDは <code>FALSE</code>（指定あり）を返します。A1 が空白セルでも、引数として渡されている以上「省略されていない」と判定されます。</p>



<p class="wp-block-paragraph">一方、ISBLANKで同じ判定をすると次のようになります。</p>



<pre class="wp-block-code"><code>=LAMBDA(x, IF(ISBLANK(x), &quot;空セル&quot;, &quot;値あり&quot;))(A1)</code></pre>



<p class="wp-block-paragraph">A1 が空白なら ISBLANKは <code>TRUE</code>（空セル）を返します。</p>



<h3 class="wp-block-heading"><span id="toc24">使い分けの基準</span></h3>



<ul class="wp-block-list"><li>「引数自体が渡されたか」を判定したい → ISOMITTED</li><li>「渡された引数の中身が空白か」を判定したい → ISBLANK</li></ul>



<p class="wp-block-paragraph">両方を組み合わせて「省略 or 空セルなら既定値」とすることもできます。</p>



<pre class="wp-block-code"><code>=LAMBDA(x,
  IF(OR(ISOMITTED(x), ISBLANK(x)), &quot;デフォルト値&quot;, x)
)</code></pre>



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



<p class="wp-block-paragraph">ISOMITTEDでエラーが出やすいケースと対処法をまとめます。</p>



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



<p class="wp-block-paragraph"><strong>原因</strong>: ExcelのバージョンがISOMITTEDに対応していない</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: Microsoft 365 または Excel 2024 にアップグレードします。Excel 2021 以前では使用できません。会社の環境でアップグレードできない場合は、VBAでユーザー定義関数を作る方法を検討してください。</p>



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



<p class="wp-block-paragraph"><strong>原因</strong>: ISOMITTEDをLAMBDAの外で使った、またはLAMBDA引数以外の値に対して使った</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: ISOMITTEDは必ずLAMBDA関数の本体内で使ってください。対象は、そのLAMBDAで定義した引数名に限定されます。</p>



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



<p class="wp-block-paragraph">このような書き方は動作しません（A1はLAMBDAの引数ではないため）。</p>



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



<p class="wp-block-paragraph"><strong>原因</strong>: LAMBDA本体の処理が、省略された引数を計算に使ってしまっている</p>



<p class="wp-block-paragraph"><strong>対処法</strong>: ISOMITTEDで先に分岐させ、省略時は引数を直接参照しないようにします。次の例ではエラーになります。</p>



<pre class="wp-block-code"><code>=LAMBDA(price,rate, price*(1+rate))(1000)</code></pre>



<p class="wp-block-paragraph">第2引数 <code>rate</code> を省略しているのに、本体で <code>rate</code> を計算に使っているためエラーになります。ISOMITTEDで先にチェックする形に書き換えてください。</p>



<pre class="wp-block-code"><code>=LAMBDA(price,rate, IF(ISOMITTED(rate), price*1.10, price*(1+rate)))(1000)</code></pre>



<h2 class="wp-block-heading"><span id="toc29">よくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc30">Q1. ISOMITTEDは省略できる引数の「位置」に制限はありますか？</span></h3>



<p class="wp-block-paragraph">第1引数だけ省略して第2引数を指定する、といった「途中省略」はできません。Excelの関数呼び出しは位置引数のため、後ろから順に省略するのが基本です。<code>=関数(値1,,値3)</code> のように途中の引数だけ空にすると、<code>#VALUE!</code> エラーや想定外の挙動になることがあります。実務的には「省略可能にしたい引数は末尾に並べる」のが安全な設計です。</p>



<h3 class="wp-block-heading"><span id="toc31">Q2. ISOMITTEDをIFS関数やSWITCH関数と組み合わせても問題ありませんか？</span></h3>



<p class="wp-block-paragraph">問題ありません。IFを多段にネストすると可読性が落ちるため、分岐が3つ以上ある場合はIFSやSWITCHのほうがすっきり書けます。たとえば「引数が省略 → A、<code>"high"</code> → B、<code>"low"</code> → C」のような分岐は、<code>IFS(ISOMITTED(x), A, x="high", B, x="low", C)</code> の形で素直に表現できます。</p>



<h3 class="wp-block-heading"><span id="toc32">Q3. ISOMITTEDで判定したあと、未指定の引数に「セルの値」を既定値として使うことはできますか？</span></h3>



<p class="wp-block-paragraph">できます。LAMBDA本体で、IFの真側に直接セル参照を書けば、省略時にそのセル値が使われます。たとえば <code>IF(ISOMITTED(rate), Sheet1!$B$1, rate)</code> のように書くと、<code>Sheet1!$B$1</code> に入っている既定税率が省略時の値になります。設定値を1か所にまとめておくと、後からの変更が楽になります。</p>



<h2 class="wp-block-heading"><span id="toc33">まとめ｜ISOMITTED関数で省略可能引数つきカスタム関数を作る</span></h2>



<p class="wp-block-paragraph">ExcelのISOMITTED関数は、LAMBDA関数で定義した引数が省略されたかを <code>TRUE</code> / <code>FALSE</code> で返す関数です。IF関数と組み合わせれば、引数を省略したときに既定値を返す「省略可能引数つきカスタム関数」をVBAなしで作れます。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>ISOMITTEDはLAMBDAの引数に対してのみ動作する（通常セル参照には使えない）</li><li>基本パターンは <code>IF(ISOMITTED(引数), 既定値, 通常処理)</code></li><li>複数の引数を独立して省略チェックできる（<a href="https://mashukabu.com/excel-function-howto-use-let/">LET</a>と組み合わせるのが定石）</li><li><a href="https://mashukabu.com/excel-function-howto-use-map/">MAP</a>・<a href="https://mashukabu.com/excel-function-howto-use-reduce/">REDUCE</a>・<a href="https://mashukabu.com/excel-function-howto-use-scan/">SCAN</a>など配列処理関数とも相性がよい</li><li>「名前の管理」で<a href="https://mashukabu.com/excel-function-howto-use-lambda/">LAMBDA</a>に名前を付ければ、再利用可能なカスタム関数になる</li><li><a href="https://mashukabu.com/excel-function-howto-use-isblank/">ISBLANK</a>との違い: ISOMITTEDは「引数が渡されたか」、ISBLANKは「中身が空白か」を判定する</li><li>対応バージョンはMicrosoft 365とExcel 2024のみ</li></ul>



<p class="wp-block-paragraph">LAMBDA関数でカスタム関数を作るとき、ISOMITTEDを使えば実用性が一段上がります。VBAに頼らずExcelだけで柔軟な自作関数を組みたい場面で活躍する関数です。ぜひ一度試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-isomitted/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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 2024]]></category>
		<category><![CDATA[IMAGE関数]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[画像表示]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6002</guid>

					<description><![CDATA[ExcelのIMAGE関数の使い方を実例5パターンで解説。基本構文・サイズ指定4モード・VLOOKUP/IF/IFERROR連携から#CONNECT!/#VALUE!エラーの対処法まで、Microsoft 365対応の新関数を完全ガイドします。]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">ExcelのIMAGE関数の使い方｜セルに画像を表示する方法</h1>



<p class="wp-block-paragraph">ExcelのIMAGE関数を使うと、セルの中に画像を表示できます。商品カタログや社員名簿で「画像も一覧と一緒に並べ替えたい」というときに便利な関数です。</p>



<p class="wp-block-paragraph">ただし、Excel IMAGE関数には対応バージョンの制約があります。使えるのは<strong>Microsoft 365</strong>と<strong>Excel 2024</strong>だけです。Excel 2021以前では使えないので、まずは環境を確認してから読み進めてくださいね。</p>



<p class="wp-block-paragraph">この記事では、ExcelのIMAGE関数の基本構文から、引数5つの使い方、サイズモードの違い、商品カタログ・名簿への応用、VLOOKUP関数との組み合わせ、よくあるエラーの対処法までまとめて解説します。他のExcel関数全体の地図を先に確認したい方は<a href="https://mashukabu.com/excel-function-list-by-function/">Excel関数一覧【機能別】まとめ</a>もあわせてどうぞ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"></li><li><a href="#toc1" tabindex="0">ExcelのIMAGE関数とは？セルに画像を表示できる新関数</a><ol><li><a href="#toc2" tabindex="0">IMAGE関数と「画像の挿入」機能の違い</a></li><li><a href="#toc3" tabindex="0">対応バージョン（Microsoft 365 / Excel 2024）</a></li><li><a href="#toc4" tabindex="0">自分のExcelが対応しているか確認する手順</a></li></ol></li><li><a href="#toc5" tabindex="0">IMAGE関数の書き方｜構文と5つの引数</a><ol><li><a href="#toc6" tabindex="0">基本構文</a></li><li><a href="#toc7" tabindex="0">各引数の役割</a></li><li><a href="#toc8" tabindex="0">対応する画像フォーマット</a></li></ol></li><li><a href="#toc9" tabindex="0">IMAGE関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">画像URLを指定してセルに表示する</a></li><li><a href="#toc11" tabindex="0">代替テキスト（alt_text）でアクセシビリティを高める</a></li><li><a href="#toc12" tabindex="0">サイズ指定の4つのモード（sizing 0〜3）</a></li><li><a href="#toc13" tabindex="0">画像URLはどこから取得する？運用のヒント</a></li></ol></li><li><a href="#toc14" tabindex="0">IMAGE関数の実践的な使い方・応用例</a><ol><li><a href="#toc15" tabindex="0">【実例1】商品カタログに商品画像を並べる</a></li><li><a href="#toc16" tabindex="0">【実例2】社員名簿に顔写真を表示する</a></li><li><a href="#toc17" tabindex="0">【実例3】IF関数と組み合わせて条件で画像を切り替える</a></li><li><a href="#toc18" tabindex="0">【実例4】VLOOKUP関数と組み合わせて商品コードから画像を引く</a></li><li><a href="#toc19" tabindex="0">【実例5】IFERROR関数でエラー画像をフォールバック表示する</a></li></ol></li><li><a href="#toc20" tabindex="0">IMAGE関数のよくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#CONNECT! エラー（画像URLに接続できない）</a></li><li><a href="#toc22" tabindex="0">#VALUE! エラー（引数の指定ミス）</a></li><li><a href="#toc23" tabindex="0">#NAME? エラー（バージョン非対応）</a></li><li><a href="#toc24" tabindex="0">#CALC! エラー（読み込みタイムアウト）</a></li><li><a href="#toc25" tabindex="0">エラーが出たときの切り分け手順</a></li></ol></li><li><a href="#toc26" tabindex="0">GoogleスプレッドシートのIMAGE関数との違い</a><ol><li><a href="#toc27" tabindex="0">引数順序の違い早見表</a></li><li><a href="#toc28" tabindex="0">移行するときの注意点</a></li></ol></li><li><a href="#toc29" tabindex="0">ExcelのIMAGE関数に関するよくある質問（FAQ）</a></li><li><a href="#toc30" tabindex="0">まとめ｜ExcelのIMAGE関数で一覧表を見やすくしよう</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのIMAGE関数とは？セルに画像を表示できる新関数</span></h2>



<p class="wp-block-paragraph">ExcelのIMAGE関数は、URLで指定した画像をセル内に表示するための関数です。2023年にMicrosoft 365で一般提供が始まりました。</p>



<p class="wp-block-paragraph">最大の特徴は、<strong>画像がセルに紐づく</strong>ことです。並べ替えやフィルタの操作で、画像もセルと一緒に動きます。商品リストや名簿のように「行ごとに画像を1枚ずつ並べたい」というレイアウトにぴったりです。</p>



<h3 class="wp-block-heading"><span id="toc2">IMAGE関数と「画像の挿入」機能の違い</span></h3>



<p class="wp-block-paragraph">従来からある「画像の挿入」（「挿入」タブの「画像」）との違いをまとめます。</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><tr><td>一括設定</td><td>数式コピーで簡単</td><td>1枚ずつ手作業</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「画像の挿入」機能はローカルファイルから直接配置できますが、並べ替えやフィルタには連動しません。一方IMAGE関数はURL指定が前提ですが、セルと一体で動いてくれます。<strong>一覧表に画像を入れたいときはIMAGE関数、単発の装飾なら画像の挿入</strong>と覚えておくと使い分けが楽です。</p>



<h3 class="wp-block-heading"><span id="toc3">対応バージョン（Microsoft 365 / Excel 2024）</span></h3>



<p class="wp-block-paragraph">ExcelのIMAGE関数を使えるのは次の環境です。</p>



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



<p class="wp-block-paragraph">Excel 2021・2019・2016 以前は非対応です。これらのバージョンで開くと#NAME?エラーが表示されます。</p>



<h3 class="wp-block-heading"><span id="toc4">自分のExcelが対応しているか確認する手順</span></h3>



<p class="wp-block-paragraph">バージョンの確認はとてもシンプルです。次の手順で確認してみましょう。</p>



<ol class="wp-block-list"><li>Excelを起動する</li><li>「ファイル」タブをクリックする</li><li>左メニューの「アカウント」を選ぶ</li><li>「製品情報」の欄に「Microsoft 365」または「Excel 2024」と表示されていればOK</li></ol>



<p class="wp-block-paragraph">「Excel 2021」「Excel 2019」「Excel 2016」と表示される場合はIMAGE関数を使えません。この場合は従来の「画像の挿入」機能で代替してください。</p>



<h2 class="wp-block-heading"><span id="toc5">IMAGE関数の書き方｜構文と5つの引数</span></h2>



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



<p class="wp-block-paragraph">ExcelのIMAGE関数の構文は次のとおりです。</p>



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



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



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



<p class="wp-block-paragraph">URLを「&#8221;」（ダブルクォーテーション）で囲んで入力するだけで、セル内に画像が表示されます。</p>



<h3 class="wp-block-heading"><span id="toc7">各引数の役割</span></h3>



<p class="wp-block-paragraph">5つの引数の役割をまとめました。</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 class="wp-block-paragraph">第1引数の source には<strong>HTTPSのURL</strong>が必要です。HTTPは使えません。URLを直接書く代わりに、セル参照（例：<code>A1</code>）も指定できます。</p>



<p class="wp-block-paragraph">第4引数の height と第5引数の width はポイント（pt）単位で指定します。1ポイントは約0.353ミリで、Excelの標準的なセル高さが15ptです。</p>



<h3 class="wp-block-heading"><span id="toc8">対応する画像フォーマット</span></h3>



<p class="wp-block-paragraph">IMAGE関数で読み込める画像フォーマットは次の8種類です。</p>



<ul class="wp-block-list"><li>BMP</li><li>JPG / JPEG</li><li>GIF（静止画として表示。アニメーションはしません）</li><li>PNG（透過対応）</li><li>TIFF</li><li>ICO</li><li>WEBP</li><li>SVG（ベクター画像）</li></ul>



<p class="wp-block-paragraph">WEBPやSVGにも対応しているのは、Excelの新しい関数ならではですね。</p>



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



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



<p class="wp-block-paragraph">最も基本的な使い方は、画像URLを直接指定するパターンです。セルに次の数式を入力してみましょう。</p>



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



<p class="wp-block-paragraph">これだけでセル内に画像が表示されます。セルの高さや幅を広げると、画像も大きく表示されます。</p>



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



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



<p class="wp-block-paragraph">セル参照を使うとURLの管理がぐっと楽になります。URLの差し替えもA1セルを書き換えるだけで済みます。</p>



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



<p class="wp-block-paragraph">また、計算モードが「手動」のときは画像が自動更新されません。その場合はCtrl+Shift+F9（全再計算のショートカット）で再計算してみてください。</p>



<h3 class="wp-block-heading"><span id="toc11">代替テキスト（alt_text）でアクセシビリティを高める</span></h3>



<p class="wp-block-paragraph">第2引数の alt_text で、画像に説明文を付けられます。</p>



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



<p class="wp-block-paragraph">代替テキストにはアクセシビリティ向上の役割があります。スクリーンリーダー（画面読み上げソフト）が画像の内容を読み上げてくれます。</p>



<p class="wp-block-paragraph">業務用ファイルでも代替テキストを付ける習慣はおすすめです。あとで「この画像なんだっけ？」と迷わずに済みますし、画像URLが失効したときの手がかりにもなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">サイズ指定の4つのモード（sizing 0〜3）</span></h3>



<p class="wp-block-paragraph">第3引数の sizing で表示サイズの動きを4種類から選べます。</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 class="wp-block-paragraph">通常はデフォルトの0で十分です。<strong>アスペクト比（縦横比）が崩れないので、見た目が破綻しません</strong>。</p>



<p class="wp-block-paragraph">カスタムサイズを使う場合は次のように書きます。</p>



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



<p class="wp-block-paragraph">alt_textを省略して（カンマを2回続けるとそのまま省略）、sizing=3、height=100、width=150（ポイント）を指定しています。</p>



<p class="wp-block-paragraph">なお、sizing に 0〜3 以外の値（4 や -1 など）を指定すると #VALUE! エラーになります。指定値は厳密に守ってくださいね。</p>



<h3 class="wp-block-heading"><span id="toc13">画像URLはどこから取得する？運用のヒント</span></h3>



<p class="wp-block-paragraph">「IMAGE関数の構文はわかったけど、肝心の画像URLはどこから手に入れるの？」という疑問もよく聞かれます。代表的な取得方法をまとめます。</p>



<ul class="wp-block-list"><li><strong>自社サーバー / CDN</strong>: 認証なしの公開ディレクトリにアップロードして固定URLを使う。最も安定</li><li><strong>OneDrive / SharePoint</strong>: 企業向け SharePoint の直接URLは利用できるケースあり（OneDrive の共有リンクは形式によっては不可）</li><li><strong>Google Drive</strong>: 共有設定を「リンクを知っている全員」にして、<code>uc?id=ファイルID&export=download</code> 形式のURLに変換すると使えることがあります</li><li><strong>Dropbox</strong>: 共有リンクの末尾を <code>?dl=1</code> または <code>?raw=1</code> に変更すると直接画像URLとして機能する場合があります</li><li><strong>画像ホスティング</strong>: Imgur、Cloudinary などのサービスを利用する</li></ul>



<p class="wp-block-paragraph">業務利用では<strong>長期安定した固定URLを選ぶ</strong>のがコツです。一時URL（数時間〜数日で失効するもの）を使うと、後で #CONNECT! エラーになって慌てることになります。</p>



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



<h3 class="wp-block-heading"><span id="toc15">【実例1】商品カタログに商品画像を並べる</span></h3>



<p class="wp-block-paragraph">商品リストに画像を表示するパターンを見てみましょう。A列に商品コード、B列に商品名、C列に画像URLを入れた表を準備します。D2セルに次の数式を入力します。</p>



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



<p class="wp-block-paragraph">C2のURLから画像を表示し、B2の商品名を代替テキストに設定しています。この数式をD列の各行にコピーすれば、商品ごとに画像が並びます。</p>



<p class="wp-block-paragraph">フィルタで絞り込んでも画像はセルと一緒に動きます。在庫管理や商品カタログで重宝するはずです。</p>



<p class="wp-block-paragraph">行の高さは80〜120ポイント程度に広げると見やすくなります。sizingは0（デフォルト）のままで、セルサイズに合わせて自動調整されます。</p>



<h3 class="wp-block-heading"><span id="toc16">【実例2】社員名簿に顔写真を表示する</span></h3>



<p class="wp-block-paragraph">名簿に顔写真を並べる使い方も便利です。社員番号・氏名・所属に加えて、画像URL列を用意します。</p>



<pre class="wp-block-code"><code>=IMAGE(D2, B2&amp;&quot;の顔写真&quot;)</code></pre>



<p class="wp-block-paragraph">D2の画像URLから写真を表示し、B2の氏名と「の顔写真」を連結して代替テキストに設定しています。代替テキストは&#038;演算子で文字列を組み合わせると、行ごとに自動で適切な説明文を作れます。</p>



<p class="wp-block-paragraph">行の高さは80〜100ポイント、画像列の幅は60〜80ポイント程度がおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc17">【実例3】IF関数と組み合わせて条件で画像を切り替える</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-if/">IF関数</a>と組み合わせれば、条件によって画像を切り替えられます。検査結果に応じて○×マークを出すパターンを作ってみましょう。</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 class="wp-block-paragraph">D2が「合格」なら○の画像、それ以外は×の画像を表示します。検査表やステータス管理表で活用できます。</p>



<p class="wp-block-paragraph">3つ以上の条件で切り替えたい場合は IFS 関数や SWITCH 関数を組み合わせると、ネストが深くならず読みやすくなります。</p>



<pre class="wp-block-code"><code>=SWITCH(D2,
  &quot;高&quot;, IMAGE(&quot;https://example.com/priority-high.png&quot;),
  &quot;中&quot;, IMAGE(&quot;https://example.com/priority-mid.png&quot;),
  &quot;低&quot;, IMAGE(&quot;https://example.com/priority-low.png&quot;),
  IMAGE(&quot;https://example.com/unknown.png&quot;))</code></pre>



<p class="wp-block-paragraph">優先度（高・中・低）に応じて異なるアイコンを表示する例です。最後の引数は該当しないときの既定値です。</p>



<h3 class="wp-block-heading"><span id="toc18">【実例4】VLOOKUP関数と組み合わせて商品コードから画像を引く</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-vlookup/">VLOOKUP関数</a>と組み合わせると、商品コードから画像URLを検索して表示できます。実務でとても重宝する応用パターンです。</p>



<p class="wp-block-paragraph">商品マスタ（別シート）に次のような表があるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列：商品コード</th><th>B列：商品名</th><th>C列：画像URL</th></tr></thead><tbody><tr><td>P001</td><td>コーヒー豆</td><td>https://example.com/coffee.png</td></tr><tr><td>P002</td><td>紅茶葉</td><td>https://example.com/tea.png</td></tr><tr><td>P003</td><td>緑茶</td><td>https://example.com/greentea.png</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">注文一覧表のA列に商品コードを入力すると、画像が自動で出てくる仕組みを作ります。B2セルに次の数式を入れます。</p>



<pre class="wp-block-code"><code>=IMAGE(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE))</code></pre>



<p class="wp-block-paragraph">VLOOKUPで商品マスタの3列目（画像URL）を引いて、IMAGE関数で表示しています。商品マスタを更新すれば、注文一覧表の画像も自動で変わります。<strong>マスタ一元管理</strong>の運用がそのままIMAGE関数にも適用できるわけです。</p>



<h3 class="wp-block-heading"><span id="toc19">【実例5】IFERROR関数でエラー画像をフォールバック表示する</span></h3>



<p class="wp-block-paragraph">VLOOKUP連携や画像URL指定でURLが見つからなかった場合、#N/A や #CONNECT! エラーが出てしまいます。<a href="https://mashukabu.com/excel-function-howto-use-iferror/">IFERROR関数</a>を組み合わせると、エラー時に代替画像を表示できます。</p>



<pre class="wp-block-code"><code>=IFERROR(
  IMAGE(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE)),
  IMAGE(&quot;https://example.com/no-image.png&quot;))</code></pre>



<p class="wp-block-paragraph">VLOOKUPで画像URLが見つからない場合や、URLからの画像取得に失敗した場合に「No Image」画像を表示します。一覧表でエラー記号が混ざらず、見た目が崩れません。</p>



<p class="wp-block-paragraph">このパターンは商品マスタの整備が間に合っていない時期や、URL差し替えのタイミングで特に役立ちます。</p>



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



<p class="wp-block-paragraph">ExcelのIMAGE関数で発生する代表的なエラーは4種類です。それぞれの原因と対処法を見ていきましょう。</p>



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



<p class="wp-block-paragraph">画像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><li><strong>社内ファイアウォール</strong>: 外部画像URLが企業ネットワークでブロックされていないか確認する</li></ul>



<p class="wp-block-paragraph">URLをブラウザで開いて画像が見えれば、URL自体は正しいです。それでもエラーが出るときは通信環境や社内ネットワークの制限を確認してみてください。</p>



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



<p class="wp-block-paragraph">引数の指定に問題があると#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><li><strong>データ型の不一致</strong>: 数値が必要な箇所に文字列を渡していないか確認</li></ul>



<p class="wp-block-paragraph">引数を一つずつ見直せば原因が特定できます。特に sizing と height/width の組み合わせはミスしやすいので注意です。</p>



<h3 class="wp-block-heading"><span id="toc23">#NAME? エラー（バージョン非対応）</span></h3>



<p class="wp-block-paragraph">#NAME?エラーが出る場合は、Excelのバージョンが非対応です。「ファイル」→「アカウント」で確認してみましょう。</p>



<p class="wp-block-paragraph">Excel 2021以前のバージョンを使っている場合は、「挿入」→「画像」で画像を配置できます。ただし、セルに紐づかないため並べ替え時に画像がずれる可能性があります。一覧表で並べ替えやフィルタを使うなら、Microsoft 365 へのアップグレードを検討するのもひとつの選択肢です。</p>



<p class="wp-block-paragraph">IMAGE関数を使ったブックを他の人に共有するときも注意です。相手のExcelが非対応だと#NAME?エラーになります。共有先の環境もあわせて確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc24">#CALC! エラー（読み込みタイムアウト）</span></h3>



<p class="wp-block-paragraph">まれに#CALC!エラーが出ることがあります。画像の読み込み中にタイムアウトした場合などが原因です。</p>



<p class="wp-block-paragraph">時間を置いてから再計算（Ctrl+Shift+F9 で全再計算、F9 で部分再計算）を試してみてください。それでも改善しない場合は、画像のファイルサイズが大きすぎる可能性があります。Web 用に圧縮した画像（300KB 以下が目安）に差し替えるとスムーズに表示できます。</p>



<h3 class="wp-block-heading"><span id="toc25">エラーが出たときの切り分け手順</span></h3>



<p class="wp-block-paragraph">複数のエラー原因が重なる場合は、次の順番でチェックすると早いです。</p>



<ol class="wp-block-list"><li><strong>#NAME? が出る</strong> → Excelバージョンを確認（「ファイル」→「アカウント」）</li><li><strong>#CONNECT! が出る</strong> → URLをブラウザで開いて画像が見えるか確認</li><li><strong>#VALUE! が出る</strong> → 引数を1つずつ確認（特に sizing と height/width）</li><li><strong>#CALC! が出る</strong> → 再計算（Ctrl+Shift+F9）と画像の軽量化</li></ol>



<p class="wp-block-paragraph">それでも解決しない場合は、最小限の数式（<code>=IMAGE("テスト用の確実なURL")</code>）で試して、原因をIMAGE関数自体に絞り込めるか確認してみてください。</p>



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



<p class="wp-block-paragraph">ExcelのIMAGE関数は、GoogleスプレッドシートにあるIMAGE関数とよく似ていますが、<strong>引数の順序とサイズモードの番号が異なります</strong>。</p>



<h3 class="wp-block-heading"><span id="toc27">引数順序の違い早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel IMAGE</th><th>Google Sheets IMAGE</th></tr></thead><tbody><tr><td>構文</td><td><code>=IMAGE(source, alt_text, sizing, height, width)</code></td><td><code>=IMAGE(URL, mode, height, width)</code></td></tr><tr><td>第2引数</td><td>alt_text（代替テキスト）</td><td>mode（サイズモード）</td></tr><tr><td>サイズモード</td><td>0〜3</td><td>1〜4</td></tr><tr><td>デフォルト動作</td><td>0（セルに収める）</td><td>1（セルに収める）</td></tr><tr><td>サイズ単位</td><td>ポイント（pt）</td><td>ピクセル（px）</td></tr><tr><td>対応バージョン</td><td>Microsoft 365 / Excel 2024</td><td>全バージョン</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc28">移行するときの注意点</span></h3>



<p class="wp-block-paragraph">最大の違いは<strong>第2引数の意味が違う</strong>ことです。Excelでは alt_text（代替テキスト）、Googleスプレッドシートでは mode（サイズモード）です。</p>



<p class="wp-block-paragraph">例えばGoogleスプレッドシートで <code>=IMAGE(URL, 2)</code> と書いていたものをそのままExcelに持ち込むと、<code>"2"</code> が代替テキストとして扱われ、サイズモードはデフォルトの0が適用されます。動作が変わってしまうので、移行時は引数の置換が必須です。</p>



<p class="wp-block-paragraph">また、サイズモードの番号自体もずれています。スプレッドシートの mode=1〜4 と Excel の sizing=0〜3 は1つずつずれているので注意してください。</p>



<p class="wp-block-paragraph">Googleスプレッドシート版の詳しい使い方は、<a href="https://mashukabu.com/spreadsheet-image-function/">GoogleスプレッドシートのIMAGE関数の使い方</a>の記事もあわせてどうぞ。</p>



<h2 class="wp-block-heading"><span id="toc29">ExcelのIMAGE関数に関するよくある質問（FAQ）</span></h2>



<p class="wp-block-paragraph">[faq q=&#8221;IMAGE関数が#NAME?エラーになります。なぜですか？&#8221; a=&#8221;お使いのExcelのバージョンがIMAGE関数に対応していないためです。IMAGE関数は Microsoft 365 と Excel 2024 でのみ利用できます。Excel 2021・2019・2016 以前では使えません。「ファイル」→「アカウント」で「Microsoft 365」または「Excel 2024」と表示されるか確認してください。Excel 2021以前を使っている場合は、「挿入」→「画像」機能で画像を配置する代替手段があります。&#8221;]<br>[faq q=&#8221;ローカルにあるファイル（Cドライブの画像など）をIMAGE関数で表示できますか？&#8221; a=&#8221;できません。IMAGE関数の source 引数はHTTPSのURLのみ受け付けます。ローカルファイルパス（<code>C:image.png</code> 等）は使えません。社内サーバーや OneDrive・Google Drive・Dropbox などのクラウドストレージにアップロードして、公開URLを取得してから指定してください。&#8221;]<br>[faq q=&#8221;IMAGE関数で表示した画像を、別のExcelブックに貼り付けても表示されますか？&#8221; a=&#8221;数式ごとコピーすれば、貼り付け先のExcelも対応バージョン（Microsoft 365 / Excel 2024）であれば表示されます。ただし「値のみ貼り付け」だとIMAGE関数の数式が消えるので、通常の貼り付けかコピー&#038;ペーストを使ってください。共有先のExcelが非対応バージョンだと#NAME?エラーになります。&#8221;]<br>[faq q=&#8221;VLOOKUP関数と組み合わせて、商品コードから画像を表示できますか？&#8221; a=&#8221;できます。<code>=IMAGE(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE))</code> のように、VLOOKUP関数で画像URLを検索して、その結果をIMAGE関数に渡す形が定番のパターンです。商品マスタの画像URLを更新すれば、参照側の画像も自動で切り替わります。エラー対策として IFERROR 関数を外側に重ねるとさらに堅牢になります。&#8221;]<br>[faq q=&#8221;IMAGE関数を使うとファイルが重くなります。対策はありますか？&#8221; a=&#8221;大量の画像や大サイズ画像を使うとブックの動作が重くなります。対策としては、（1）画像をWeb用に圧縮する（300KB 以下が目安）、（2）必要なときだけIMAGE関数を使う列を表示する、（3）計算モードを「手動」に切り替えて意図したタイミングだけ再計算する、などが有効です。CDN や画像ホスティングサービスを使って画像配信を最適化するのもおすすめです。&#8221;]</p>



<h2 class="wp-block-heading"><span id="toc30">まとめ｜ExcelのIMAGE関数で一覧表を見やすくしよう</span></h2>



<p class="wp-block-paragraph">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>引数は5つ（source / alt_text / sizing / height / width）。必須は source のみ</li><li>sizing で4つのサイズモード（0:セルに収める / 1:引き伸ばす / 2:元サイズ / 3:カスタム）を選べる</li><li>セルに紐づくため、並べ替え・フィルタで画像も一緒に動く</li><li>VLOOKUP・IFERROR・IF・SWITCH と組み合わせて実務応用ができる</li><li>主なエラーは #CONNECT!（接続失敗）/ #VALUE!（引数ミス）/ #NAME?（バージョン非対応）/ #CALC!（タイムアウト）</li><li>Googleスプレッドシート版とは引数順序とサイズモード番号が異なる</li></ul>



<p class="wp-block-paragraph">商品カタログや社員名簿、検査表、ステータス管理表など、<strong>画像入りの一覧表を作るとき</strong>に大活躍する関数です。ぜひ自分のデータで試してみてください。</p>



<p class="wp-block-paragraph">セルにリンクを設定して画像と組み合わせたい方は<a href="https://mashukabu.com/excel-function-howto-use-hyperlink/">ExcelのHYPERLINK関数の使い方</a>もあわせてどうぞ。</p>



<p class="wp-block-paragraph">Excel 365 の他の新関数が気になる方は、重複を除去する<a href="https://mashukabu.com/excel-function-howto-use-unique/">UNIQUE関数</a>、条件で絞り込める<a href="https://mashukabu.com/excel-function-howto-use-filter/">FILTER関数</a>、連続値を生成する<a href="https://mashukabu.com/excel-function-howto-use-sequence/">SEQUENCE関数</a>もチェックしてみてください。</p>



<p class="wp-block-paragraph">さらに高度な画像処理（Pythonライブラリを使った画像解析や自動生成）に挑戦したい方は、<a href="https://mashukabu.com/python-in-excel-how-to-use/">Python in Excel の使い方</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のWRAPCOLS関数の使い方｜1列を指定列数の配列に折り返す</title>
		<link>https://mashukabu.com/excel-wrapcols-function/</link>
					<comments>https://mashukabu.com/excel-wrapcols-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 16:09:16 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel中級]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[WRAPCOLS関数]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[動的配列]]></category>
		<category><![CDATA[配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5924</guid>

					<description><![CDATA[ExcelのWRAPCOLS関数の使い方を丁寧に解説。1列データを指定列数の配列に折り返す構文・引数・WRAPROWS使い分け・エラー対処を実務例付きで紹介。Microsoft 365専用。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「1列のリストを、3列に並べ直したい」──そんな場面、ありませんか？</p>



<p class="wp-block-paragraph">商品リストをカタログ形式に整形するとき、手作業でコピペすると時間がかかります。<br>更新のたびに並べ直すのも、地味に手間ですよね。</p>



<p class="wp-block-paragraph">ExcelのWRAPCOLS関数を使えば、この作業を数式1つで自動化できます。<br>データが増えても更新不要で、常に最新の状態を保てますよ。</p>



<p class="wp-block-paragraph">この記事では、WRAPCOLS関数の構文・引数・使い方から、実務ユースケース・エラー対処まで解説します。</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">WRAPCOLS関数とは？Excelでのバージョン確認</a><ol><li><a href="#toc2" tabindex="0">Microsoft 365 / Excel 2024以降のみ使用可能</a></li><li><a href="#toc3" tabindex="0">Excel 2021以前では代替方法が必要</a></li></ol></li><li><a href="#toc4" tabindex="0">WRAPCOLS関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の詳細</a></li><li><a href="#toc7" tabindex="0">第1引数 vector（必須）：折り返す元データ</a></li><li><a href="#toc8" tabindex="0">第2引数 wrap_count（必須）：各列の行数を指定</a></li><li><a href="#toc9" tabindex="0">第3引数 pad_with（省略可）：端数セルの埋め方</a></li></ol></li><li><a href="#toc10" tabindex="0">基本的な使い方：1列データを複数列に折り返す</a><ol><li><a href="#toc11" tabindex="0">縦1列リストを3列配列に変換する例</a></li><li><a href="#toc12" tabindex="0">端数が出る場合（pad_withの活用）</a></li><li><a href="#toc13" tabindex="0">横1行データを折り返す場合</a></li></ol></li><li><a href="#toc14" tabindex="0">WRAPROWS関数との違いと使い分け</a><ol><li><a href="#toc15" tabindex="0">折り返し方向の違い（列 vs 行）</a></li><li><a href="#toc16" tabindex="0">結果の形状と典型用途の比較表</a></li></ol></li><li><a href="#toc17" tabindex="0">実務ユースケース3選</a><ol><li><a href="#toc18" tabindex="0">ユースケース①：商品リストを3列カタログ形式に自動整形</a></li><li><a href="#toc19" tabindex="0">ユースケース②：日次データを週単位（4列）に折り返す</a></li><li><a href="#toc20" tabindex="0">ユースケース③：SEQUENCE+WRAPCOLSで連番グリッドを自動生成</a></li></ol></li><li><a href="#toc21" tabindex="0">TOCOL関数と組み合わせた応用テクニック</a><ol><li><a href="#toc22" tabindex="0">2次元データを1次元化してWRAPCOLSで再配置するレシピ</a></li></ol></li><li><a href="#toc23" tabindex="0">エラーの原因と対処法まとめ</a><ol><li><a href="#toc24" tabindex="0">#N/A エラー：端数が出る場合の対処</a></li><li><a href="#toc25" tabindex="0">#VALUE! エラー：2次元配列を渡した場合</a></li><li><a href="#toc26" tabindex="0">#NUM! エラー：wrap_countの値が不正</a></li><li><a href="#toc27" tabindex="0">#REF! エラー：スピル先に値が入っている</a></li></ol></li><li><a href="#toc28" tabindex="0">関連記事</a></li><li><a href="#toc29" tabindex="0">まとめ：WRAPCOLS関数でリスト整形を自動化しよう</a><ol><li><a href="#toc30" tabindex="0">関連関数</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">WRAPCOLS関数とは？Excelでのバージョン確認</span></h2>



<p class="wp-block-paragraph">WRAPCOLS関数は、1次元の配列を「列方向に折り返す」関数です。<br>縦1列や横1行のデータを、指定した列数の2次元配列に変換できます。</p>



<p class="wp-block-paragraph">読み方は「ラップコルズ」です。<br>&#8220;WRAP&#8221;（折り返す）と &#8220;COLS&#8221;（列、複数形）を組み合わせた名前です。</p>



<p class="wp-block-paragraph">たとえば、A列に12個のデータがあるとします。<br><code>=WRAPCOLS(A1:A12, 4)</code> と入力すると、4行×3列の配列が自動生成されます。<br>元のリストを更新すると、出力も自動で再整形されますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">Microsoft 365 / Excel 2024以降のみ使用可能</span></h3>



<p class="wp-block-paragraph">WRAPCOLS関数は、以下の環境でのみ動作します。</p>



<figure class="wp-block-table"><table><thead><tr><th>環境</th><th>対応</th></tr></thead><tbody><tr><td>Microsoft 365（Windows / Mac / Web）</td><td>○</td></tr><tr><td>Excel 2024（Windows / Mac）</td><td>○</td></tr><tr><td>Excel 2021</td><td>×</td></tr><tr><td>Excel 2019 / 2016</td><td>×</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スピル（数式の結果が複数セルに自動展開される機能）に対応した環境が必要です。<br>バージョンが古い場合は使えませんので、事前に確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc3">Excel 2021以前では代替方法が必要</span></h3>



<p class="wp-block-paragraph">Excel 2021以前では、WRAPCOLS関数は使えません。<br>INDEX関数やOFFSET関数の組み合わせで同様の処理は可能です。<br>ただし数式が複雑になるため、可能ならMicrosoft 365への移行を検討してみてください。</p>



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



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



<pre class="wp-block-code"><code>=WRAPCOLS(vector, wrap_count, [pad_with])</code></pre>



<p class="wp-block-paragraph">引数は3つで、3つ目のみ省略できます。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>vector</td><td>必須</td><td>折り返す元の1次元配列またはセル参照</td></tr><tr><td>wrap_count</td><td>必須</td><td>各列の最大行数（1以上の整数）</td></tr><tr><td>pad_with</td><td>省略可</td><td>端数セルに入れる値。省略時は #N/A</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">第1引数 vector（必須）：折り返す元データ</span></h3>



<p class="wp-block-paragraph">vectorには、1次元の配列またはセル参照を指定します。<br>A1:A12のような縦1列でも、A1:L1のような横1行でも使えます。</p>



<p class="wp-block-paragraph">注意点があります。<br>A1:C5のような複数行×複数列の2次元範囲を渡すと、#VALUE! エラーになります。<br>vectorは必ず1次元（1行または1列）で指定してください。</p>



<p class="wp-block-paragraph">2次元データを渡したい場合はTOCOL関数（2次元配列を縦1列に変換する関数）と組み合わせます。<br>この活用法は後述の「TOCOL関数との組み合わせ」で解説します。</p>



<h3 class="wp-block-heading"><span id="toc8">第2引数 wrap_count（必須）：各列の行数を指定</span></h3>



<p class="wp-block-paragraph">wrap_countには、各列に何行分のデータを並べるかを指定します。</p>



<p class="wp-block-paragraph">たとえば wrap_count=4 なら、各列に4行分のデータが入ります。<br>12個のデータなら 12÷4=3 なので、4行×3列の配列になります。</p>



<p class="wp-block-paragraph">0以下の値を指定すると #NUM! エラーになります。<br>必ず1以上の整数を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc9">第3引数 pad_with（省略可）：端数セルの埋め方</span></h3>



<p class="wp-block-paragraph">データ件数がwrap_countで割り切れない場合、最終列に空きセルが生じます。<br>pad_withには、その空きセルに表示する値を指定できます。</p>



<ul class="wp-block-list"><li>省略した場合：空きセルに #N/A が表示される</li><li><code>""</code> を指定した場合：空白セルになる</li><li><code>0</code> を指定した場合：0で埋まる</li></ul>



<p class="wp-block-paragraph">端数が出る場面では、<code>pad_with=""</code> を指定するのが見た目にきれいですよ。</p>



<h2 class="wp-block-heading"><span id="toc10">基本的な使い方：1列データを複数列に折り返す</span></h2>



<h3 class="wp-block-heading"><span id="toc11">縦1列リストを3列配列に変換する例</span></h3>



<p class="wp-block-paragraph">A列に果物名が12個あるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列</th></tr></thead><tbody><tr><td>りんご</td></tr><tr><td>みかん</td></tr><tr><td>ぶどう</td></tr><tr><td>もも</td></tr><tr><td>なし</td></tr><tr><td>いちご</td></tr><tr><td>すいか</td></tr><tr><td>メロン</td></tr><tr><td>バナナ</td></tr><tr><td>キウイ</td></tr><tr><td>マンゴー</td></tr><tr><td>パイナップル</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セルC1に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A1:A12, 4)</code></pre>



<p class="wp-block-paragraph">結果は次のような4行×3列の配列になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</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><tr><td>もも</td><td>メロン</td><td>パイナップル</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">データが列の上から順に詰め込まれています。<br>12個がwrap_count=4で割り切れるため、端数は発生しません。</p>



<h3 class="wp-block-heading"><span id="toc12">端数が出る場合（pad_withの活用）</span></h3>



<p class="wp-block-paragraph">データが13個で、wrap_count=4の場合を見てみましょう。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A1:A13, 4, &quot;&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th><th>列4</th></tr></thead><tbody><tr><td>1番目</td><td>5番目</td><td>9番目</td><td>13番目</td></tr><tr><td>2番目</td><td>6番目</td><td>10番目</td><td>（空白）</td></tr><tr><td>3番目</td><td>7番目</td><td>11番目</td><td>（空白）</td></tr><tr><td>4番目</td><td>8番目</td><td>12番目</td><td>（空白）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">13÷4は割り切れないため、4列目が1行分だけになります。<br><code>pad_with=""</code> を指定しているので、残り3セルが空白になります。</p>



<p class="wp-block-paragraph">pad_withを省略した場合、空白の代わりに #N/A が表示されますよ。<br>表示をすっきりさせたい場合は、忘れずに <code>""</code> を指定してみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">横1行データを折り返す場合</span></h3>



<p class="wp-block-paragraph">WRAPCOLSはA1:L1のような横並びのデータにも使えます。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A1:L1, 4)</code></pre>



<p class="wp-block-paragraph">横1行の12個のデータが、4行×3列の配列に変換されます。<br>縦リストを渡したときと結果の形状は同じです。<br>入力データの向きに関わらず、同じように使えるのが便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc14">WRAPROWS関数との違いと使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc15">折り返し方向の違い（列 vs 行）</span></h3>



<p class="wp-block-paragraph">WRAPCOLS関数と対になる関数に、WRAPROWS（ラップロウズ）があります。<br>構文はほぼ同じです。</p>



<pre class="wp-block-code"><code>=WRAPROWS(vector, wrap_count, [pad_with])</code></pre>



<p class="wp-block-paragraph">2つの違いは「折り返す方向」だけです。</p>



<ul class="wp-block-list"><li><strong>WRAPCOLS</strong>：列方向（縦）に折り返す → 縦長の配列</li><li><strong>WRAPROWS</strong>：行方向（横）に折り返す → 横長の配列</li></ul>



<p class="wp-block-paragraph">たとえば <code>{a, b, c, d, e, f}</code> の6要素を、wrap_count=3 で折り返すとします。</p>



<p class="wp-block-paragraph"><strong>WRAPCOLS（各列3行）の結果：</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th></tr></thead><tbody><tr><td>a</td><td>d</td></tr><tr><td>b</td><td>e</td></tr><tr><td>c</td><td>f</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>WRAPROWS（各行3列）の結果：</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th></tr></thead><tbody><tr><td>a</td><td>b</td><td>c</td></tr><tr><td>d</td><td>e</td><td>f</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">WRAPCOLSは縦長の配列、WRAPROWSは横長の配列になります。<br>どちらも「折り返す」ことに変わりはありませんが、方向が逆になります。</p>



<h3 class="wp-block-heading"><span id="toc16">結果の形状と典型用途の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>WRAPCOLS</th><th>WRAPROWS</th></tr></thead><tbody><tr><td>折り返し方向</td><td>列方向（縦に詰める）</td><td>行方向（横に詰める）</td></tr><tr><td>wrap_countの意味</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 class="wp-block-paragraph">「縦に整形したい」ならWRAPCOLS、「横に展開したい」ならWRAPROWSと覚えておくと選びやすいですよ。</p>



<h2 class="wp-block-heading"><span id="toc17">実務ユースケース3選</span></h2>



<h3 class="wp-block-heading"><span id="toc18">ユースケース①：商品リストを3列カタログ形式に自動整形</span></h3>



<p class="wp-block-paragraph">販売管理システムからエクスポートした商品名が縦1列に並んでいます。<br>これを3列のカタログ形式に整形してみましょう。</p>



<p class="wp-block-paragraph">A列（A2:A10）に商品名が9個あるとします。<br>セルC1に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A2:A10, 3)</code></pre>



<p class="wp-block-paragraph"><strong>変換前（A列の縦リスト）：</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>A列</th></tr></thead><tbody><tr><td>商品A</td></tr><tr><td>商品B</td></tr><tr><td>商品C</td></tr><tr><td>商品D</td></tr><tr><td>商品E</td></tr><tr><td>商品F</td></tr><tr><td>商品G</td></tr><tr><td>商品H</td></tr><tr><td>商品I</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>変換後（3行×3列の配列）：</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th></tr></thead><tbody><tr><td>商品A</td><td>商品D</td><td>商品G</td></tr><tr><td>商品B</td><td>商品E</td><td>商品H</td></tr><tr><td>商品C</td><td>商品F</td><td>商品I</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">9個をwrap_count=3で割ると3列になります。<br>商品が追加・削除されても、A列を更新するだけです。<br>カタログの再整形は数式が自動でやってくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">ユースケース②：日次データを週単位（4列）に折り返す</span></h3>



<p class="wp-block-paragraph">28日分の日次売上データがD2:D29にあるとします。<br>これを7行×4列（週単位）に折り返すと、週ごとの比較がしやすくなります。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(D2:D29, 7)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>第1週</th><th>第2週</th><th>第3週</th><th>第4週</th></tr></thead><tbody><tr><td>1日目</td><td>8日目</td><td>15日目</td><td>22日目</td></tr><tr><td>2日目</td><td>9日目</td><td>16日目</td><td>23日目</td></tr><tr><td>3日目</td><td>10日目</td><td>17日目</td><td>24日目</td></tr><tr><td>4日目</td><td>11日目</td><td>18日目</td><td>25日目</td></tr><tr><td>5日目</td><td>12日目</td><td>19日目</td><td>26日目</td></tr><tr><td>6日目</td><td>13日目</td><td>20日目</td><td>27日目</td></tr><tr><td>7日目</td><td>14日目</td><td>21日目</td><td>28日目</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">各列が1週間分のデータになります。<br>SUM関数やAVERAGE関数を週ごとに適用するのも簡単になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">ユースケース③：SEQUENCE+WRAPCOLSで連番グリッドを自動生成</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数（連続した数値を生成する関数）と組み合わせると、連番グリッドが1つの数式で作れます。</p>



<p class="wp-block-paragraph">たとえば、1〜16の連番を4行×4列のグリッドにするには：</p>



<pre class="wp-block-code"><code>=WRAPCOLS(SEQUENCE(16), 4)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th><th>列4</th></tr></thead><tbody><tr><td>1</td><td>5</td><td>9</td><td>13</td></tr><tr><td>2</td><td>6</td><td>10</td><td>14</td></tr><tr><td>3</td><td>7</td><td>11</td><td>15</td></tr><tr><td>4</td><td>8</td><td>12</td><td>16</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SEQUENCE(16) が {1, 2, &#8230;, 16} の連番を生成します。<br>WRAPCOLSがそれを4行ずつの列に変換し、4×4のグリッドになります。<br>座席番号の振り方や番号管理表の自動生成に活用できますよ。</p>



<p class="wp-block-paragraph">SEQUENCE関数の詳細は <a href="https://biz-tactics.net/excel-function-howto-use-sequence">ExcelのSEQUENCE関数の使い方</a> も参照してみてください。</p>



<h2 class="wp-block-heading"><span id="toc21">TOCOL関数と組み合わせた応用テクニック</span></h2>



<h3 class="wp-block-heading"><span id="toc22">2次元データを1次元化してWRAPCOLSで再配置するレシピ</span></h3>



<p class="wp-block-paragraph">WRAPCOLSのvectorには1次元配列しか渡せません。<br>しかし実務では、複数列のデータをまとめて再配置したいことがあります。</p>



<p class="wp-block-paragraph">そこで活用するのがTOCOL関数です。<br>TOCOLは2次元配列を縦1列に変換する関数です。<br>TOCOLとWRAPCOLSを組み合わせることで、柔軟な再配置が可能になります。</p>



<p class="wp-block-paragraph"><strong>例：2列×4行のデータを再配置する</strong></p>



<p class="wp-block-paragraph">A1:B4に2列×4行（計8セル）のデータがあるとします。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(TOCOL(A1:B4), 4)</code></pre>



<p class="wp-block-paragraph"><strong>処理の流れ：</strong></p>



<p class="wp-block-paragraph">① <code>TOCOL(A1:B4)</code> → 2次元データを8要素の縦1列に変換<br>② <code>WRAPCOLS(..., 4)</code> → 4行×2列の配列に再配置</p>



<p class="wp-block-paragraph">2次元データを一度1次元に「ならして」から、好きな列数で再配置できます。<br>「複数列のリストをまとめて並べ替えたい」という場面で特に便利なテクニックです。</p>



<p class="wp-block-paragraph">TOCOL関数の詳細は <a href="https://biz-tactics.net/excel-function-howto-use-tocol">ExcelのTOCOL関数の使い方</a> で解説しています。<br>TOROW関数（2次元配列を横1行に変換する関数）を使ったパターンは <a href="https://biz-tactics.net/excel-function-howto-use-torow">ExcelのTOROW関数の使い方</a> を参照してみてください。</p>



<h2 class="wp-block-heading"><span id="toc23">エラーの原因と対処法まとめ</span></h2>



<p class="wp-block-paragraph">WRAPCOLS関数で発生しうるエラーは4種類です。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>pad_withを省略していて端数セルがある</td><td><code>pad_with=""</code> や <code>pad_with=0</code> を指定する</td></tr><tr><td>#VALUE!</td><td>vectorに2次元配列を指定した</td><td>TOCOLで1次元化してからWRAPCOLSに渡す</td></tr><tr><td>#NUM!</td><td>wrap_countに0以下の値を指定した</td><td>1以上の整数を指定する</td></tr><tr><td>#REF!</td><td>スピル先のセルに値が入っている</td><td>出力先の範囲を空にしてから入力し直す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc24">#N/A エラー：端数が出る場合の対処</span></h3>



<p class="wp-block-paragraph">データ件数がwrap_countで割り切れないと、最終列の末尾に #N/A が出ます。<br>#N/A（エヌエー）は &#8220;Not Available&#8221;（利用不可）の略で、値がないことを示します。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A1:A10, 3)  ' 10÷3=3余り1 → 最終列の末尾2セルに#N/A</code></pre>



<p class="wp-block-paragraph">空白にしたい場合：</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A1:A10, 3, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">0で埋めたい場合：</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A1:A10, 3, 0)</code></pre>



<p class="wp-block-paragraph">端数が出る可能性があるときは、最初からpad_withを指定しておくと安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc25">#VALUE! エラー：2次元配列を渡した場合</span></h3>



<p class="wp-block-paragraph">vectorに2次元範囲（複数行×複数列）を渡すと #VALUE! になります。</p>



<pre class="wp-block-code"><code>' NG: 2次元配列を直接渡す
=WRAPCOLS(A1:C5, 3)  ' → #VALUE!

' OK: TOCOLで1次元化してから渡す
=WRAPCOLS(TOCOL(A1:C5), 3)</code></pre>



<p class="wp-block-paragraph">vectorに渡しているセル範囲が2次元になっていないか確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc26">#NUM! エラー：wrap_countの値が不正</span></h3>



<p class="wp-block-paragraph">wrap_countに0以下の値を指定すると #NUM! になります。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A1:A12, 0)   ' → #NUM!
=WRAPCOLS(A1:A12, -1)  ' → #NUM!</code></pre>



<p class="wp-block-paragraph">1以上の整数を指定してください。<br>セル参照でwrap_countを指定している場合は、そのセルの値を確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc27">#REF! エラー：スピル先に値が入っている</span></h3>



<p class="wp-block-paragraph">WRAPCOLS関数はスピルを使って結果を複数セルに展開します。<br>出力先の範囲に他のデータが入っていると、#REF! エラーになります。</p>



<p class="wp-block-paragraph">出力先となるセル範囲を空にしてから、数式を入力し直してください。<br>スピルに必要な範囲が広い場合は、周囲のデータを別の場所に移動してみてください。</p>



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



<p class="wp-block-paragraph">WRAPCOLS関数とあわせて覚えておきたい配列操作の関数を紹介します。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-wraprows-function/">ExcelのWRAPROWS関数の使い方</a>：WRAPCOLSと対になる、行方向に折り返す関数です。</li><li><a href="https://mashukabu.com/excel-function-howto-use-tocol/">ExcelのTOCOL関数の使い方</a>：2次元配列を縦1列に変換する関数で、WRAPCOLSの前段処理に使えます。</li><li><a href="https://mashukabu.com/excel-function-howto-use-torow/">ExcelのTOROW関数の使い方</a>：2次元配列を横1行に変換する関数です。</li><li><a href="https://mashukabu.com/excel-function-howto-use-sequence/">ExcelのSEQUENCE関数の使い方</a>：連番を自動生成する関数で、WRAPCOLSと組み合わせるとグリッドを作れます。</li></ul>



<h2 class="wp-block-heading"><span id="toc29">まとめ：WRAPCOLS関数でリスト整形を自動化しよう</span></h2>



<p class="wp-block-paragraph">この記事の要点を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>できること</td><td>1次元リストを列方向に折り返して2次元配列に変換</td></tr><tr><td>構文</td><td>=WRAPCOLS(vector, wrap_count, [pad_with])</td></tr><tr><td>対応環境</td><td>Microsoft 365 / Excel 2024以降のみ</td></tr><tr><td>WRAPROWSとの違い</td><td>縦長配列（WRAPCOLS）vs 横長配列（WRAPROWS）</td></tr><tr><td>主なエラー</td><td>#N/A / #VALUE! / #NUM! / #REF!</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">WRAPCOLS関数を使えば、手作業で並べ替えていたリストが数式1つで自動化できます。<br>データが増えても更新不要なので、メンテナンスの手間もなくなりますよ。</p>



<p class="wp-block-paragraph">ぜひ実務で試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc30">関連関数</span></h3>



<p class="wp-block-paragraph">配列操作の関連記事もあわせてどうぞ。</p>



<ul class="wp-block-list"><li><a href="https://biz-tactics.net/excel-function-howto-use-tocol">ExcelのTOCOL関数の使い方</a>（2次元配列を縦1列に変換）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-torow">ExcelのTOROW関数の使い方</a>（2次元配列を横1行に変換）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-sequence">ExcelのSEQUENCE関数の使い方</a>（連番を自動生成）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-hstack">ExcelのHSTACK関数の使い方</a>（配列を横方向に結合）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-vstack">ExcelのVSTACK関数の使い方</a>（配列を縦方向に結合）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-choosecols">ExcelのCHOOSECOLS関数の使い方</a>（指定列を抽出）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-chooserows">ExcelのCHOOSEROWS関数の使い方</a>（指定行を抽出）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-take">ExcelのTAKE関数の使い方</a>（先頭・末尾を抽出）</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-wrapcols-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのWRAPROWS関数の使い方｜1行を指定列数の配列に折り返す</title>
		<link>https://mashukabu.com/excel-wraprows-function/</link>
					<comments>https://mashukabu.com/excel-wraprows-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 12 Apr 2026 16:09:13 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel中級]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[WRAPROWS関数]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[動的配列]]></category>
		<category><![CDATA[配列関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5922</guid>

					<description><![CDATA[ExcelのWRAPROWS関数の使い方を丁寧に解説。1次元データを指定列数の配列に行方向で折り返す構文・引数・WRAPCOLS使い分け・エラー対処を実務例付きで紹介。Microsoft 365専用。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「データを横並びに整形したい」──そんな場面、ありませんか？</p>



<p class="wp-block-paragraph">縦1列のリストを、一定の列数で横に並べ直すとき、手作業でコピペすると時間がかかります。<br>更新のたびに並べ直すのも、地味に手間ですよね。</p>



<p class="wp-block-paragraph">ExcelのWRAPROWS関数を使えば、この作業を数式1つで自動化できます。<br>データが増えても更新不要で、常に最新の状態を保てますよ。</p>



<p class="wp-block-paragraph">この記事では、WRAPROWS関数の構文・引数・使い方から、実務ユースケース・エラー対処まで解説します。</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">WRAPROWS関数とは？Excelでのバージョン確認</a><ol><li><a href="#toc2" tabindex="0">Microsoft 365 / Excel 2024以降のみ使用可能</a></li><li><a href="#toc3" tabindex="0">Excel 2021以前では代替方法が必要</a></li></ol></li><li><a href="#toc4" tabindex="0">WRAPROWS関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の詳細</a></li><li><a href="#toc7" tabindex="0">第1引数 vector（必須）：折り返す元データ</a></li><li><a href="#toc8" tabindex="0">第2引数 wrap_count（必須）：各行の列数を指定</a></li><li><a href="#toc9" tabindex="0">第3引数 pad_with（省略可）：端数セルの埋め方</a></li></ol></li><li><a href="#toc10" tabindex="0">基本的な使い方：1列データを複数行に折り返す</a><ol><li><a href="#toc11" tabindex="0">縦1列リストを3列配列に変換する例</a></li><li><a href="#toc12" tabindex="0">端数が出る場合（pad_withの活用）</a></li><li><a href="#toc13" tabindex="0">横1行データを折り返す場合</a></li></ol></li><li><a href="#toc14" tabindex="0">WRAPCOLS関数との違いと使い分け</a><ol><li><a href="#toc15" tabindex="0">折り返し方向の違い（行 vs 列）</a></li><li><a href="#toc16" tabindex="0">結果の形状と典型用途の比較表</a></li></ol></li><li><a href="#toc17" tabindex="0">実務ユースケース3選</a><ol><li><a href="#toc18" tabindex="0">ユースケース①：商品リストを4列横並びに自動整形</a></li><li><a href="#toc19" tabindex="0">ユースケース②：月次データを四半期単位（3列）に折り返す</a></li><li><a href="#toc20" tabindex="0">ユースケース③：SEQUENCE+WRAPROWSでカレンダー形式の連番グリッドを生成</a></li></ol></li><li><a href="#toc21" tabindex="0">TOROW関数と組み合わせた応用テクニック</a><ol><li><a href="#toc22" tabindex="0">2次元データを1次元化してWRAPROWSで再配置するレシピ</a></li></ol></li><li><a href="#toc23" tabindex="0">エラーの原因と対処法まとめ</a><ol><li><a href="#toc24" tabindex="0">#N/A エラー：端数が出る場合の対処</a></li><li><a href="#toc25" tabindex="0">#VALUE! エラー：2次元配列を渡した場合</a></li><li><a href="#toc26" tabindex="0">#NUM! エラー：wrap_countの値が不正</a></li><li><a href="#toc27" tabindex="0">#REF! エラー：スピル先に値が入っている</a></li></ol></li><li><a href="#toc28" tabindex="0">よくある質問（WRAPROWS関数）</a><ol><li><a href="#toc29" tabindex="0">Q1. WRAPROWS関数を使うとき、元データを変更したら自動で更新されますか？</a></li><li><a href="#toc30" tabindex="0">Q2. WRAPROWS関数で作った配列の特定のセルを参照するには？</a></li><li><a href="#toc31" tabindex="0">Q3. Microsoft 365を使っていない場合、同じことを実現するには？</a></li></ol></li><li><a href="#toc32" tabindex="0">まとめ：WRAPROWS関数でリスト整形を自動化しよう</a><ol><li><a href="#toc33" tabindex="0">関連関数</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">WRAPROWS関数とは？Excelでのバージョン確認</span></h2>



<p class="wp-block-paragraph">WRAPROWS関数は、1次元の配列を「行方向に折り返す」関数です。<br>縦1列や横1行のデータを、指定した列数ごとに折り返した2次元配列に変換できます。</p>



<p class="wp-block-paragraph">読み方は「ラップロウズ」です。<br>&#8220;WRAP&#8221;（折り返す）と &#8220;ROWS&#8221;（行、複数形）を組み合わせた名前です。</p>



<p class="wp-block-paragraph">たとえば、A列に12個のデータがあるとします。<br><code>=WRAPROWS(A1:A12, 4)</code> と入力すると、3行×4列の配列が自動生成されます。<br>元のリストを更新すると、出力も自動で再整形されますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">Microsoft 365 / Excel 2024以降のみ使用可能</span></h3>



<p class="wp-block-paragraph">WRAPROWS関数は、以下の環境でのみ動作します。</p>



<figure class="wp-block-table"><table><thead><tr><th>環境</th><th>対応</th></tr></thead><tbody><tr><td>Microsoft 365（Windows / Mac / Web）</td><td>○</td></tr><tr><td>Excel 2024（Windows / Mac）</td><td>○</td></tr><tr><td>Excel 2021</td><td>×</td></tr><tr><td>Excel 2019 / 2016</td><td>×</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スピル（数式の結果が複数セルに自動展開される機能）に対応した環境が必要です。<br>バージョンが古い場合は使えませんので、事前に確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc3">Excel 2021以前では代替方法が必要</span></h3>



<p class="wp-block-paragraph">Excel 2021以前では、WRAPROWS関数は使えません。<br>INDEX関数やOFFSET関数の組み合わせで同様の処理は可能です。<br>ただし数式が複雑になるため、可能ならMicrosoft 365への移行を検討してみてください。</p>



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



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



<pre class="wp-block-code"><code>=WRAPROWS(vector, wrap_count, [pad_with])</code></pre>



<p class="wp-block-paragraph">引数は3つで、3つ目のみ省略できます。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>vector</td><td>必須</td><td>折り返す元の1次元配列またはセル参照</td></tr><tr><td>wrap_count</td><td>必須</td><td>各行の最大列数（1以上の整数）</td></tr><tr><td>pad_with</td><td>省略可</td><td>端数セルに入れる値。省略時は #N/A</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">第1引数 vector（必須）：折り返す元データ</span></h3>



<p class="wp-block-paragraph">vectorには、1次元の配列またはセル参照を指定します。<br>A1:A12のような縦1列でも、A1:L1のような横1行でも使えます。</p>



<p class="wp-block-paragraph">注意点があります。<br>A1:C5のような複数行×複数列の2次元範囲を渡すと、#VALUE! エラーになります。<br>vectorは必ず1次元（1行または1列）で指定してください。</p>



<p class="wp-block-paragraph">2次元データを渡したい場合はTOROW関数（2次元配列を横1行に変換する関数）と組み合わせます。<br>この活用法は後述の「TOROW関数との組み合わせ」で解説します。</p>



<h3 class="wp-block-heading"><span id="toc8">第2引数 wrap_count（必須）：各行の列数を指定</span></h3>



<p class="wp-block-paragraph">wrap_countには、各行に何列分のデータを並べるかを指定します。</p>



<p class="wp-block-paragraph">たとえば wrap_count=4 なら、各行に4列分のデータが入ります。<br>12個のデータなら 12÷4=3 なので、3行×4列の配列になります。</p>



<p class="wp-block-paragraph">0以下の値を指定すると #NUM! エラーになります。<br>必ず1以上の整数を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc9">第3引数 pad_with（省略可）：端数セルの埋め方</span></h3>



<p class="wp-block-paragraph">データ件数がwrap_countで割り切れない場合、最終行に空きセルが生じます。<br>pad_withには、その空きセルに表示する値を指定できます。</p>



<ul class="wp-block-list"><li>省略した場合：空きセルに #N/A が表示される</li><li><code>""</code> を指定した場合：空白セルになる</li><li><code>0</code> を指定した場合：0で埋まる</li></ul>



<p class="wp-block-paragraph">端数が出る場面では、<code>pad_with=""</code> を指定するのが見た目にきれいですよ。</p>



<h2 class="wp-block-heading"><span id="toc10">基本的な使い方：1列データを複数行に折り返す</span></h2>



<h3 class="wp-block-heading"><span id="toc11">縦1列リストを3列配列に変換する例</span></h3>



<p class="wp-block-paragraph">A列に果物名が12個あるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列</th></tr></thead><tbody><tr><td>りんご</td></tr><tr><td>みかん</td></tr><tr><td>ぶどう</td></tr><tr><td>もも</td></tr><tr><td>なし</td></tr><tr><td>いちご</td></tr><tr><td>すいか</td></tr><tr><td>メロン</td></tr><tr><td>バナナ</td></tr><tr><td>キウイ</td></tr><tr><td>マンゴー</td></tr><tr><td>パイナップル</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セルC1に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A12, 4)</code></pre>



<p class="wp-block-paragraph">結果は次のような3行×4列の配列になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th><th>列4</th></tr></thead><tbody><tr><td>りんご</td><td>みかん</td><td>ぶどう</td><td>もも</td></tr><tr><td>なし</td><td>いちご</td><td>すいか</td><td>メロン</td></tr><tr><td>バナナ</td><td>キウイ</td><td>マンゴー</td><td>パイナップル</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">データが行の左から順に詰め込まれています。<br>12個がwrap_count=4で割り切れるため、端数は発生しません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>WRAPCOLS関数との違いに注目してください。WRAPCOLS(A1:A12, 4) は4行×3列の「縦長」配列になりますが、WRAPROWS(A1:A12, 4) は3行×4列の「横長」配列になります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc12">端数が出る場合（pad_withの活用）</span></h3>



<p class="wp-block-paragraph">データが13個で、wrap_count=4の場合を見てみましょう。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A13, 4, &quot;&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th><th>列4</th></tr></thead><tbody><tr><td>1番目</td><td>2番目</td><td>3番目</td><td>4番目</td></tr><tr><td>5番目</td><td>6番目</td><td>7番目</td><td>8番目</td></tr><tr><td>9番目</td><td>10番目</td><td>11番目</td><td>12番目</td></tr><tr><td>13番目</td><td>（空白）</td><td>（空白）</td><td>（空白）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">13÷4は割り切れないため、4行目が1列分だけになります。<br><code>pad_with=""</code> を指定しているので、残り3セルが空白になります。</p>



<p class="wp-block-paragraph">pad_withを省略した場合、空白の代わりに #N/A が表示されますよ。<br>表示をすっきりさせたい場合は、忘れずに <code>""</code> を指定してみてください。</p>



<h3 class="wp-block-heading"><span id="toc13">横1行データを折り返す場合</span></h3>



<p class="wp-block-paragraph">WRAPROWSはA1:L1のような横並びのデータにも使えます。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:L1, 4)</code></pre>



<p class="wp-block-paragraph">横1行の12個のデータが、3行×4列の配列に変換されます。<br>縦リストを渡したときと結果の形状は同じです。<br>入力データの向きに関わらず、同じように使えるのが便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc14">WRAPCOLS関数との違いと使い分け</span></h2>



<h3 class="wp-block-heading"><span id="toc15">折り返し方向の違い（行 vs 列）</span></h3>



<p class="wp-block-paragraph">WRAPROWSと対になる関数に、WRAPCOLS（ラップコルズ）があります。<br>構文はまったく同じです。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(vector, wrap_count, [pad_with])</code></pre>



<p class="wp-block-paragraph">2つの違いは「折り返す方向」だけです。</p>



<ul class="wp-block-list"><li><strong>WRAPROWS</strong>：行方向（横）に折り返す → 横長の配列（少行・多列）</li><li><strong>WRAPCOLS</strong>：列方向（縦）に折り返す → 縦長の配列（多行・少列）</li></ul>



<p class="wp-block-paragraph">たとえば <code>{a, b, c, d, e, f}</code> の6要素を、wrap_count=3 で折り返すとします。</p>



<p class="wp-block-paragraph"><strong>WRAPROWS（各行3列）の結果：</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th></tr></thead><tbody><tr><td>a</td><td>b</td><td>c</td></tr><tr><td>d</td><td>e</td><td>f</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>WRAPCOLS（各列3行）の結果：</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th></tr></thead><tbody><tr><td>a</td><td>d</td></tr><tr><td>b</td><td>e</td></tr><tr><td>c</td><td>f</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">WRAPROWSは横長の配列、WRAPCOLSは縦長の配列になります。<br>どちらも「折り返す」ことに変わりはありませんが、方向が逆になります。</p>



<h3 class="wp-block-heading"><span id="toc16">結果の形状と典型用途の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>WRAPROWS</th><th>WRAPCOLS</th></tr></thead><tbody><tr><td>折り返し方向</td><td>行方向（横に詰める）</td><td>列方向（縦に詰める）</td></tr><tr><td>wrap_countの意味</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 class="wp-block-paragraph">「横に並べたい」ならWRAPROWS、「縦に整形したい」ならWRAPCOLSと覚えておくと選びやすいですよ。</p>



<p class="wp-block-paragraph">WRAPCOLSの使い方は <a href="https://biz-tactics.net/excel-wrapcols-function">ExcelのWRAPCOLS関数の使い方</a> で詳しく解説しています。</p>



<h2 class="wp-block-heading"><span id="toc17">実務ユースケース3選</span></h2>



<h3 class="wp-block-heading"><span id="toc18">ユースケース①：商品リストを4列横並びに自動整形</span></h3>



<p class="wp-block-paragraph">販売管理システムからエクスポートした商品名が縦1列に並んでいます。<br>これを4列の横並び形式に整形してみましょう。</p>



<p class="wp-block-paragraph">A列（A2:A12）に商品名が12個あるとします。<br>セルC1に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A2:A12, 4, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>変換前（A列の縦リスト）：</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>A列</th></tr></thead><tbody><tr><td>商品A</td></tr><tr><td>商品B</td></tr><tr><td>…</td></tr><tr><td>商品L</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>変換後（3行×4列の配列）：</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th><th>列4</th></tr></thead><tbody><tr><td>商品A</td><td>商品B</td><td>商品C</td><td>商品D</td></tr><tr><td>商品E</td><td>商品F</td><td>商品G</td><td>商品H</td></tr><tr><td>商品I</td><td>商品J</td><td>商品K</td><td>商品L</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">商品が追加・削除されても、A列を更新するだけです。<br>横並び表の再整形は数式が自動でやってくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">ユースケース②：月次データを四半期単位（3列）に折り返す</span></h3>



<p class="wp-block-paragraph">12ヶ月分の月次売上データがD2:D13にあるとします。<br>これを4行×3列（四半期単位）に折り返すと、四半期ごとの比較がしやすくなります。</p>



<pre class="wp-block-code"><code>=WRAPROWS(D2:D13, 3)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>1月</th><th>2月</th><th>3月</th></tr></thead><tbody><tr><td>4月</td><td>5月</td><td>6月</td></tr><tr><td>7月</td><td>8月</td><td>9月</td></tr><tr><td>10月</td><td>11月</td><td>12月</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">各行が3ヶ月（四半期）分のデータになります。<br>SUM関数やAVERAGE関数を四半期ごとに適用するのも簡単になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">ユースケース③：SEQUENCE+WRAPROWSでカレンダー形式の連番グリッドを生成</span></h3>



<p class="wp-block-paragraph">SEQUENCE関数（連続した数値を生成する関数）と組み合わせると、カレンダー形式の番号表が1つの数式で作れます。</p>



<p class="wp-block-paragraph">たとえば、1〜28の連番を7列（曜日列）×4行（週）のグリッドにするには：</p>



<pre class="wp-block-code"><code>=WRAPROWS(SEQUENCE(28), 7)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th></tr></thead><tbody><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr><tr><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td></tr><tr><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td></tr><tr><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SEQUENCE(28) が {1, 2, &#8230;, 28} の連番を生成します。<br>WRAPROWSがそれを7列ずつの行に変換し、カレンダー形式のグリッドになります。<br>日付表の自動生成や座席番号の管理表にも活用できますよ。</p>



<p class="wp-block-paragraph">SEQUENCE関数の詳細は <a href="https://biz-tactics.net/excel-function-howto-use-sequence">ExcelのSEQUENCE関数の使い方</a> も参照してみてください。</p>



<h2 class="wp-block-heading"><span id="toc21">TOROW関数と組み合わせた応用テクニック</span></h2>



<h3 class="wp-block-heading"><span id="toc22">2次元データを1次元化してWRAPROWSで再配置するレシピ</span></h3>



<p class="wp-block-paragraph">WRAPROWSのvectorには1次元配列しか渡せません。<br>しかし実務では、複数列のデータをまとめて再配置したいことがあります。</p>



<p class="wp-block-paragraph">そこで活用するのがTOROW関数です。<br>TOROWは2次元配列を横1行に変換する関数です。<br>TOROWとWRAPROWSを組み合わせることで、柔軟な再配置が可能になります。</p>



<p class="wp-block-paragraph"><strong>例：2列×4行のデータを再配置する</strong></p>



<p class="wp-block-paragraph">A1:B4に2列×4行（計8セル）のデータがあるとします。</p>



<pre class="wp-block-code"><code>=WRAPROWS(TOROW(A1:B4), 4)</code></pre>



<p class="wp-block-paragraph"><strong>処理の流れ：</strong></p>



<p class="wp-block-paragraph">① <code>TOROW(A1:B4)</code> → 2次元データを8要素の横1行に変換<br>② <code>WRAPROWS(..., 4)</code> → 2行×4列の配列に再配置</p>



<p class="wp-block-paragraph">2次元データを一度1次元に「ならして」から、好きな列数で再配置できます。<br>「複数列のリストをまとめて横並べに整形したい」という場面で特に便利なテクニックです。</p>



<p class="wp-block-paragraph">TOCOL/TOROW関数の詳細は以下の記事もあわせて参照してみてください。</p>



<ul class="wp-block-list"><li><a href="https://biz-tactics.net/excel-function-howto-use-tocol">ExcelのTOCOL関数の使い方</a>（2次元配列を縦1列に変換）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-torow">ExcelのTOROW関数の使い方</a>（2次元配列を横1行に変換）</li></ul>



<h2 class="wp-block-heading"><span id="toc23">エラーの原因と対処法まとめ</span></h2>



<p class="wp-block-paragraph">WRAPROWS関数で発生しうるエラーは4種類です。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td>#N/A</td><td>pad_withを省略していて端数セルがある</td><td><code>pad_with=""</code> や <code>pad_with=0</code> を指定する</td></tr><tr><td>#VALUE!</td><td>vectorに2次元配列を指定した</td><td>TOROWで1次元化してからWRAPROWSに渡す</td></tr><tr><td>#NUM!</td><td>wrap_countに0以下の値を指定した</td><td>1以上の整数を指定する</td></tr><tr><td>#REF!</td><td>スピル先のセルに値が入っている</td><td>出力先の範囲を空にしてから入力し直す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc24">#N/A エラー：端数が出る場合の対処</span></h3>



<p class="wp-block-paragraph">データ件数がwrap_countで割り切れないと、最終行の末尾に #N/A が出ます。<br>#N/A（エヌエー）は &#8220;Not Available&#8221;（利用不可）の略で、値がないことを示します。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A10, 3)  ' 10÷3=3余り1 → 最終行の末尾2セルに#N/A</code></pre>



<p class="wp-block-paragraph">空白にしたい場合：</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A10, 3, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">0で埋めたい場合：</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A10, 3, 0)</code></pre>



<p class="wp-block-paragraph">端数が出る可能性があるときは、最初からpad_withを指定しておくと安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc25">#VALUE! エラー：2次元配列を渡した場合</span></h3>



<p class="wp-block-paragraph">vectorに2次元範囲（複数行×複数列）を渡すと #VALUE! になります。</p>



<pre class="wp-block-code"><code>' NG: 2次元配列を直接渡す
=WRAPROWS(A1:C5, 4)  ' → #VALUE!

' OK: TOROWで1次元化してから渡す
=WRAPROWS(TOROW(A1:C5), 4)</code></pre>



<p class="wp-block-paragraph">vectorに渡しているセル範囲が2次元になっていないか確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc26">#NUM! エラー：wrap_countの値が不正</span></h3>



<p class="wp-block-paragraph">wrap_countに0以下の値を指定すると #NUM! になります。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A12, 0)   ' → #NUM!
=WRAPROWS(A1:A12, -1)  ' → #NUM!</code></pre>



<p class="wp-block-paragraph">1以上の整数を指定してください。<br>セル参照でwrap_countを指定している場合は、そのセルの値を確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc27">#REF! エラー：スピル先に値が入っている</span></h3>



<p class="wp-block-paragraph">WRAPROWS関数はスピルを使って結果を複数セルに展開します。<br>出力先の範囲に他のデータが入っていると、#REF! エラーになります。</p>



<p class="wp-block-paragraph">出力先となるセル範囲を空にしてから、数式を入力し直してください。<br>スピルに必要な範囲が広い場合は、周囲のデータを別の場所に移動してみてください。</p>



<h2 class="wp-block-heading"><span id="toc28">よくある質問（WRAPROWS関数）</span></h2>



<h3 class="wp-block-heading"><span id="toc29">Q1. WRAPROWS関数を使うとき、元データを変更したら自動で更新されますか？</span></h3>



<p class="wp-block-paragraph">はい、自動で更新されます。WRAPROWS関数はスピル対応の動的配列関数なので、vectorに指定した範囲のデータが変わると、出力も自動で再計算されます。</p>



<p class="wp-block-paragraph">ただし、vectorに渡す範囲が固定（例: A1:A12）の場合、データが増えても自動で範囲は広がりません。データ件数が変動する場合は、<code>A1:A1000</code> のように余裕を持った範囲を指定するか、テーブル機能を使って範囲を動的にするのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc30">Q2. WRAPROWS関数で作った配列の特定のセルを参照するには？</span></h3>



<p class="wp-block-paragraph">スピルで出力された配列の特定セルは、<code>#</code>（スピル演算子）を使って参照できます。</p>



<p class="wp-block-paragraph">たとえば数式がセルC1に入っている場合、出力配列の全体を参照するには <code>C1#</code> と書きます。特定の行・列を取り出したい場合は<a href="https://mashukabu.com/excel-function-howto-use-index/">INDEX関数</a>と組み合わせましょう。</p>



<pre class="wp-block-code"><code>=INDEX(C1#, 2, 3)  → 出力配列の2行目・3列目の値を取得</code></pre>



<p class="wp-block-paragraph">スピルの結果を別の関数の入力に使うときも、この <code>セル番地#</code> 形式が便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc31">Q3. Microsoft 365を使っていない場合、同じことを実現するには？</span></h3>



<p class="wp-block-paragraph">Excel 2021以前では、INDEX関数とMOD関数・INT関数の組み合わせで似た処理ができます。ただし数式が複雑になります。</p>



<pre class="wp-block-code"><code>=IFERROR(INDEX($A$1:$A$12, (ROW(A1)-1)*4+COLUMN(A1)), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">この数式を結果を表示したい範囲（例: 3行×4列）にコピーすることで、WRAPROWSと近い出力を作れます。ROW関数で行番号、COLUMN関数で列番号を使ってインデックスを計算する仕組みです。</p>



<p class="wp-block-paragraph">更新のたびに手動でコピーし直す必要があるため、Microsoft 365が使える環境ならWRAPROWS関数を使うほうが圧倒的に楽です。</p>



<h2 class="wp-block-heading"><span id="toc32">まとめ：WRAPROWS関数でリスト整形を自動化しよう</span></h2>



<p class="wp-block-paragraph">この記事の要点を整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>ポイント</th><th>内容</th></tr></thead><tbody><tr><td>できること</td><td>1次元リストを行方向に折り返して2次元配列に変換</td></tr><tr><td>構文</td><td>=WRAPROWS(vector, wrap_count, [pad_with])</td></tr><tr><td>対応環境</td><td>Microsoft 365 / Excel 2024以降のみ</td></tr><tr><td>WRAPCOLSとの違い</td><td>横長配列（WRAPROWS）vs 縦長配列（WRAPCOLS）</td></tr><tr><td>主なエラー</td><td>#N/A / #VALUE! / #NUM! / #REF!</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">WRAPROWS関数を使えば、手作業で並べ替えていたリストが数式1つで自動化できます。<br>データが増えても更新不要なので、メンテナンスの手間もなくなりますよ。</p>



<p class="wp-block-paragraph">ぜひ実務で試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc33">関連関数</span></h3>



<p class="wp-block-paragraph">配列操作の関連記事もあわせてどうぞ。</p>



<ul class="wp-block-list"><li><a href="https://biz-tactics.net/excel-wrapcols-function">ExcelのWRAPCOLS関数の使い方</a>（列方向に折り返す対の関数）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-tocol">ExcelのTOCOL関数の使い方</a>（2次元配列を縦1列に変換）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-torow">ExcelのTOROW関数の使い方</a>（2次元配列を横1行に変換）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-sequence">ExcelのSEQUENCE関数の使い方</a>（連番を自動生成）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-hstack">ExcelのHSTACK関数の使い方</a>（配列を横方向に結合）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-vstack">ExcelのVSTACK関数の使い方</a>（配列を縦方向に結合）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-choosecols">ExcelのCHOOSECOLS関数の使い方</a>（指定列を抽出）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-chooserows">ExcelのCHOOSEROWS関数の使い方</a>（指定行を抽出）</li><li><a href="https://biz-tactics.net/excel-function-howto-use-take">ExcelのTAKE関数の使い方</a>（先頭・末尾を抽出）</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-wraprows-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
