<?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>データ整形 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e3%83%87%e3%83%bc%e3%82%bf%e6%95%b4%e5%bd%a2/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Mon, 08 Jun 2026 15:50:26 +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>データ整形 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Power Queryで列を分割・結合する方法｜氏名や住所の整形を自動化</title>
		<link>https://mashukabu.com/power-query-split-merge-columns/</link>
					<comments>https://mashukabu.com/power-query-split-merge-columns/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 15:50:26 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Power Query]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[パワークエリ]]></category>
		<category><![CDATA[列の分割]]></category>
		<category><![CDATA[列の結合]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7841</guid>

					<description><![CDATA[Power Queryで列を分割・結合する方法を解説。氏名を姓と名に分ける、都道府県と市区町村をつなげるといった整形を、区切り記号・文字数・大文字小文字などの複数パターンでノーコード自動化。結合後のデータ型の注意点や、次回更新でも自動適用される仕組みまで事務職向けにやさしくまとめました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「姓名が1つのセルにまとまった名簿を、姓と名に分けたい」「都道府県と市区町村を1列にまとめたい」。こういう列の整形、地味に手間がかかりますよね。</p>



<p class="wp-block-paragraph">セルが10件くらいなら手で直せます。でも数百件、毎月送られてくる名簿だとそうはいきません。区切り位置を手作業で探して、コピペして、ズレを直して……。気づけば午前中が溶けています。</p>



<p class="wp-block-paragraph">そんな「列を分ける・つなげる」作業は、Power Query（パワークエリ）に任せてしまいましょう。一度手順を作っておけば、来月以降は更新ボタン1つで同じ整形が自動で再現されます。関数も数式も書きません。</p>



<p class="wp-block-paragraph">この記事では、Power Queryで <strong>列を分割・結合する方法</strong> を解説します。分割は区切り記号・文字数・大文字小文字など、複数のパターンを取り上げます。結合後のデータ型に関する注意点や、手順が自動で再適用される仕組みまで順番に見ていきましょう。</p>



<p class="wp-block-paragraph">なお本記事は <strong>Windows 版 Excel（2016 以降）</strong> での操作を前提にしています。Power Query 全体の位置づけから知りたい方は、先に <a href="https://mashukabu.com/power-query-complete-guide/">Power Queryとは何かを完全解説した記事</a> を読んでおくと、この記事がスッと頭に入りますよ。</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">Power Queryの列の分割・結合とは？</a><ol><li><a href="#toc2" tabindex="0">始める前の前提条件</a></li><li><a href="#toc3" tabindex="0">完了後のイメージ</a></li></ol></li><li><a href="#toc4" tabindex="0">Power Queryで列を分割する手順【4パターン】</a><ol><li><a href="#toc5" tabindex="0">パターン1: 区切り記号で分割する</a></li><li><a href="#toc6" tabindex="0">パターン2: 文字数で分割する</a></li><li><a href="#toc7" tabindex="0">パターン3: 大文字・小文字の切り替えで分割する</a></li><li><a href="#toc8" tabindex="0">パターン4: 数字と数字以外で分割する</a></li></ol></li><li><a href="#toc9" tabindex="0">Power Queryで列を結合する手順</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">Power Queryの列の分割・結合とは？</span></h2>



<p class="wp-block-paragraph">まず、これから何をするのかを1〜2文で押さえておきましょう。</p>



<p class="wp-block-paragraph"><strong>列の分割</strong>は、1つの列に入った値を、ルールにしたがって複数の列に分ける操作です。たとえば「山田 太郎」という1列を、「山田」「太郎」の2列に分けます。逆に <strong>列の結合</strong>は、複数の列を1つにまとめる操作です。「東京都」と「新宿区」を「東京都新宿区」のように1列にします。</p>



<p class="wp-block-paragraph">どちらも Power Query エディターの「列の変換」グループにあるメニューから、マウス操作だけで実行できます。難しそうに見えますが、やっていることは「いつもの手作業を一度だけマウスでやる」だけなんです。</p>



<h3 class="wp-block-heading"><span id="toc2">始める前の前提条件</span></h3>



<p class="wp-block-paragraph">操作を始める前に、次の3つを確認しておいてください。</p>



<ul class="wp-block-list"><li><strong>Excel のバージョン</strong>: Windows 版 Excel 2016 以降（Power Query が標準搭載されています）</li><li><strong>データの形</strong>: 整形したい列が「表（テーブル）」の形になっていること</li><li><strong>事前準備</strong>: 整形したい範囲を選んで「データ」タブ →「テーブルから/範囲から」をクリックし、Power Query エディターを開いておく</li></ul>



<p class="wp-block-paragraph">Power Query エディターの開き方やデータの取り込み方そのものに不安がある方は、<a href="https://mashukabu.com/power-query-getting-started/">Power Query入門の記事</a> で基本の流れをおさらいしておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc3">完了後のイメージ</span></h3>



<p class="wp-block-paragraph">この記事の手順どおりに進めると、次の状態がゴールになります。元の名簿を1度セットすれば、姓名がきれいに2列へ分かれ、住所が1列にまとまった表が出来上がります。しかも、来月データが差し替わっても更新ボタン1つで同じ整形が走ります。手作業のやり直しはもう不要です。</p>



<h2 class="wp-block-heading"><span id="toc4">Power Queryで列を分割する手順【4パターン】</span></h2>



<p class="wp-block-paragraph">ここからが本題です。列の分割には、分け方のルールごとにいくつかの方法があります。実務でよく使う4つのパターンを、ステップごとに見ていきましょう。</p>



<p class="wp-block-paragraph">操作の入口は共通です。Power Query エディターで分割したい列の見出しをクリックし、「ホーム」タブの <strong>「列の分割」</strong> ボタンを押します。すると分け方のメニューが開きます。ここから先がパターン別です。</p>



<h3 class="wp-block-heading"><span id="toc5">パターン1: 区切り記号で分割する</span></h3>



<p class="wp-block-paragraph">いちばん出番が多いのが、この区切り記号での分割です。スペース・カンマ・ハイフンなどの「区切り文字」を目印に列を分けます。</p>



<p class="wp-block-paragraph">「山田 太郎」のように姓と名の間にスペースがある名簿を分けるケースで見てみましょう。</p>



<ol class="wp-block-list"><li>分割したい列の見出しをクリックして選びます</li><li>「ホーム」タブの「列の分割」→ <strong>「区切り記号による分割」</strong> をクリックします</li><li>表示された画面で、区切り記号に <strong>「スペース」</strong> を選びます</li><li>「区切り記号の出現ごとに分割するか」を選び、[OK] をクリックします</li></ol>



<p class="wp-block-paragraph">これで「山田」「太郎」の2列に分かれます。カンマ区切りの CSV 風データなら、手順3で「コンマ」を選べば同じように分割できますよ。</p>



<p class="wp-block-paragraph">ちなみに「最も左の区切り記号」「最も右の区切り記号」を選ぶと、メールアドレスの「@」より前後だけを取り出す、といった使い方もできます。</p>



<h3 class="wp-block-heading"><span id="toc6">パターン2: 文字数で分割する</span></h3>



<p class="wp-block-paragraph">区切り記号がなくても、決まった桁数のデータなら <strong>文字数</strong> で分割できます。郵便番号や商品コードなど「先頭3桁が分類」のような固定長データで便利です。</p>



<p class="wp-block-paragraph">たとえば「1300001」という7桁の郵便番号を、上3桁と下4桁に分けてみましょう。</p>



<ol class="wp-block-list"><li>分割したい列の見出しをクリックします</li><li>「列の分割」→ <strong>「文字数による分割」</strong> をクリックします</li><li>文字数に「3」と入力します</li><li>「一度だけ、できるだけ左に」を選んで [OK] をクリックします</li></ol>



<p class="wp-block-paragraph">これで「130」と「0001」に分かれます。区切り文字が一切ないデータでも、桁数さえ決まっていれば確実に分けられるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc7">パターン3: 大文字・小文字の切り替えで分割する</span></h3>



<p class="wp-block-paragraph">英数字が混ざったデータでは、<strong>大文字から小文字に切り替わる位置</strong> などを目印に分割できます。「ProductCode」のような単語のつなぎ目で分けたいときに役立ちます。</p>



<ol class="wp-block-list"><li>分割したい列の見出しをクリックします</li><li>「列の分割」→ <strong>「文字種の変更による分割」</strong> をクリックします</li><li>メニューから「小文字から大文字」などの切り替えルールを選びます</li></ol>



<p class="wp-block-paragraph">たとえば「ProductCode」を「Product」と「Code」に分ける、といった整形ができます。</p>



<h3 class="wp-block-heading"><span id="toc8">パターン4: 数字と数字以外で分割する</span></h3>



<p class="wp-block-paragraph">「12個」「3.5kg」のように、<strong>数字と文字が混ざった列</strong> も自動で分けられます。数量と単位を別々の列にしたいときに重宝します。</p>



<ol class="wp-block-list"><li>分割したい列の見出しをクリックします</li><li>「列の分割」→ <strong>「数字以外から数字」</strong> または <strong>「数字から数字以外」</strong> を選びます</li></ol>



<p class="wp-block-paragraph">これで「12」と「個」のように、数値部分と単位部分を切り離せます。集計に使いたい数量だけを取り出したいときに便利ですよ。</p>



<p class="wp-block-paragraph">ここまでの4パターンを、用途別に表で整理しておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>分割方法</th><th>目印にするもの</th><th>よく使う場面</th></tr></thead><tbody><tr><td>区切り記号</td><td>スペース・カンマ・ハイフンなど</td><td>氏名分割・CSV整形</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>



<h2 class="wp-block-heading"><span id="toc9">Power Queryで列を結合する手順</span></h2>



<p class="wp-block-paragraph">分割の逆が、列の結合です。複数の列を1つにまとめます。「都道府県」列と「市区町村」列を「東京都新宿区」のように1列にする例で見ていきましょう。</p>



<ol class="wp-block-list"><li>結合したい列を選びます。1列目をクリックし、<strong>[Ctrl] キーを押しながら</strong>2列目をクリックすると複数選べます</li><li>「列の変換」グループ（または右クリックメニュー）の <strong>「列のマージ」</strong> をクリックします</li><li>区切り記号を選びます。間に何も入れないなら「なし」を選びます</li><li>新しい列名を入力して [OK] をクリックします</li></ol>



<p class="wp-block-paragraph">これで2つの列が1つにまとまります。区切り記号に「スペース」や「ハイフン」を選べば、「東京都 新宿区」「2026-06」のように間に文字を挟んだ結合もできますよ。</p>



<p class="wp-block-paragraph">姓と名を結合してフルネーム列を作る、年・月・日を結合して日付の文字列を作る、といった整形も同じ手順です。なお、複数のテーブル（表どうし）を突き合わせて結合したい場合は、「列のマージ」ではなく別の機能を使います。詳しくは <a href="https://mashukabu.com/power-query-merge-tables/">Power Queryのマージで複数テーブルを結合する記事</a> を参照してください。今回扱っているのは、あくまで「同じ表の中の列どうし」の結合です。</p>



<h2 class="wp-block-heading"><span id="toc10">結合・分割で気をつけたいデータ型の注意点</span></h2>



<p class="wp-block-paragraph">ここはつまずきやすいポイントなので、しっかり押さえておきましょう。</p>



<p class="wp-block-paragraph">列を結合・分割すると、<strong>結果の列が基本的に「テキスト型」になります</strong>。たとえば「2026」「06」を結合して「202606」を作ると、見た目は数字ですが中身は文字列として扱われます。この状態だと、合計や四則演算がうまくできないことがあります。</p>



<p class="wp-block-paragraph">数値として計算に使いたい場合は、結合・分割が終わったあとに型を直しましょう。</p>



<ol class="wp-block-list"><li>型を変えたい列の見出しの左にある <strong>アイコン</strong>（ABC や 123 のマーク）をクリックします</li><li>「整数」や「10進数」など、目的に合ったデータ型を選びます</li></ol>



<p class="wp-block-paragraph">逆に、郵便番号や商品コードのように「先頭の0」を残したい列は、テキスト型のままにしておくのが正解です。数値型にすると「007」が「7」に変わってしまうので注意してください。</p>



<p class="wp-block-paragraph">整形のあとは、こうした型の確認をクセにしておくと、あとから「計算できない」「0が消えた」と慌てずに済みます。データ整形の精度をもっと高めたい方は、<a href="https://mashukabu.com/excel-flash-fill-power-query-meibo/">フラッシュフィルとPower Queryで名簿整理を効率化する記事</a> も合わせてどうぞ。</p>



<h2 class="wp-block-heading"><span id="toc11">手順が記録されて自動で再適用される仕組み</span></h2>



<p class="wp-block-paragraph">Power Query のいちばんありがたいところは、ここまでの操作がすべて <strong>「手順（ステップ）」として記録される</strong> 点です。</p>



<p class="wp-block-paragraph">エディターの右側に「適用したステップ」という一覧があります。「区切り記号で分割」「列のマージ」「型の変更」といった操作が、やった順に並んでいるはずです。これは、あなたの整形作業を Power Query が裏で記録してくれている履歴です。</p>



<p class="wp-block-paragraph">この仕組みのおかげで、来月に新しい名簿が届いても安心です。<strong>元データを差し替えて「更新」ボタンを押すだけ</strong>で、まったく同じ整形が自動で走ります。姓名の分割も住所の結合も、もう一度マウスで操作する必要はありません。</p>



<p class="wp-block-paragraph">ここが、関数やコピペとの決定的な違いです。コピペは「結果」しか残りませんが、Power Query は「やり方」そのものを残します。だから一度作れば、翌月以降の作業時間がほぼゼロになるんです。</p>



<p class="wp-block-paragraph">ステップを記録するだけでなく、独自の計算列を足したいなど、もう一歩進んだ整形に挑戦したくなったら、Power Query と関数・VBA の使い分けを整理した <a href="https://mashukabu.com/power-query-vs-function-vba-power-automate/">自動化ツールの違いを早見表で解説した記事</a> も役に立ちますよ。</p>



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



<p class="wp-block-paragraph">Power Query を使えば、列の分割と結合をマウス操作だけで自動化できます。最後に要点を振り返っておきましょう。</p>



<ul class="wp-block-list"><li><strong>列の分割</strong>は「区切り記号」「文字数」「文字種の変更」「数字／数字以外」の4パターンで使い分ける</li><li><strong>列の結合</strong>は「列のマージ」で複数列を1つにまとめ、区切り記号も自由に選べる</li><li>結合・分割の結果は <strong>テキスト型</strong> になりやすいので、計算に使う列はデータ型を直す</li><li>操作は「適用したステップ」に記録され、<strong>更新ボタン1つで毎月自動再適用</strong> される</li></ul>



<p class="wp-block-paragraph">まずは手元の名簿を1つ用意して、姓名の分割から試してみてください。一度この快適さを体験すると、もう手作業の整形には戻れなくなりますよ。手順を作っておけば、来月のあなたがいちばん助かります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/power-query-split-merge-columns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power Queryのデータ整形入門｜置換・型変換・条件列で自動クレンジング</title>
		<link>https://mashukabu.com/power-query-data-cleansing-basics/</link>
					<comments>https://mashukabu.com/power-query-data-cleansing-basics/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 15:50:21 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Power Query]]></category>
		<category><![CDATA[データクレンジング]]></category>
		<category><![CDATA[データ整形]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7837</guid>

					<description><![CDATA[Power Queryで汚いデータをきれいにする基本操作を入門解説。値の置換・不要な行や空白の削除・データ型の変換・条件列の4つを実例で紹介します。整形手順は自動で記録され、毎回ワンクリックで同じクレンジングが走ります。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「取り込んだデータが汚くて、毎回手作業で直している」――そんな経験はありませんか。表記ゆれ、いらない空白、文字列のままの数値や日付。分析を始める前の下準備だけで、ごっそり時間を取られてしまいますよね。</p>



<p class="wp-block-paragraph">データ活用は前処理が労力の8割を占めるとも言われます。そこを毎回手作業でこなしていると、肝心の分析にたどり着く前に疲れ果ててしまいます。しかもコピペや手修正は、直し忘れや誤操作のもとです。</p>



<p class="wp-block-paragraph">そこで役立つのが <strong>Power Query</strong> です。値の置換やデータ型の変換といった整形操作を一度設定すれば、その手順がステップとして記録されます。次回からは元データを差し替えて[更新]を押すだけ。同じクレンジングが自動で走ります。</p>



<p class="wp-block-paragraph">この記事では、実務でありがちな「汚いデータ」を題材に、整形の基本となる4つの操作を解説します。置換・行削除・データ型変換・条件列の順に、ひとつずつ手を動かしながら覚えていきましょう。</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">Power Queryのデータ整形とは？</a><ol><li><a href="#toc2" tabindex="0">この記事で扱うサンプルデータ</a></li><li><a href="#toc3" tabindex="0">前提とエディターの開き方</a></li></ol></li><li><a href="#toc4" tabindex="0">操作1: 値の置換で表記ゆれをそろえる</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">操作2: 不要な行と空白を削除する</a><ol><li><a href="#toc8" tabindex="0">空白行を削除する</a></li><li><a href="#toc9" tabindex="0">セル内の余分な空白を取り除く</a></li></ol></li><li><a href="#toc10" tabindex="0">操作3: データ型を変換する</a><ol><li><a href="#toc11" tabindex="0">文字列を数値・日付に変える</a></li><li><a href="#toc12" tabindex="0">型変換でエラーが出たときは</a></li></ol></li><li><a href="#toc13" tabindex="0">操作4: 条件列で区分を自動で付ける</a><ol><li><a href="#toc14" tabindex="0">条件列の作り方</a></li><li><a href="#toc15" tabindex="0">条件を増やすこともできる</a></li></ol></li><li><a href="#toc16" tabindex="0">うまくいかないときの対処法</a></li><li><a href="#toc17" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Power Queryのデータ整形とは？</span></h2>



<p class="wp-block-paragraph">Power Query のデータ整形とは、取り込んだ生データを「分析できる形」に整える一連の処理のことです。具体的には、表記の統一、不要なデータの除去、型の修正、区分の付与などを指します。</p>



<p class="wp-block-paragraph">大きな特長は、操作そのものではなく <strong>操作の手順が記録される</strong> 点です。Excel のシート上で直接セルを直すと、その作業は1回きりで消えてしまいます。一方 Power Query では、行った操作が「適用したステップ」として右側に積み上がっていきます。</p>



<p class="wp-block-paragraph">そのため、来月また同じ形式のデータが届いても、整形をやり直す必要はありません。元データを入れ替えて更新するだけで、記録済みの手順が頭から順に再実行されます。これが手作業との決定的な違いです。</p>



<p class="wp-block-paragraph">Power Query の全体像をまず押さえたい方は、<a href="https://mashukabu.com/power-query-complete-guide/">Power Queryの使い方｜完全ガイド</a>で基本操作から確認しておくと、この記事の内容がスムーズに理解できます。</p>



<h3 class="wp-block-heading"><span id="toc2">この記事で扱うサンプルデータ</span></h3>



<p class="wp-block-paragraph">今回は、次のような「ありがちな汚い顧客リスト」を整えていきます。手入力やシステム出力が混ざった、実務でよく見かけるタイプのデータです。</p>



<figure class="wp-block-table"><table><thead><tr><th>顧客名</th><th>区分</th><th>売上</th><th>登録日</th></tr></thead><tbody><tr><td>山田　商事</td><td>法人</td><td>120000</td><td>2025/04/01</td></tr><tr><td>鈴木 太郎</td><td>個人</td><td>35000</td><td>2025/4/2</td></tr><tr><td>（空白行）</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>佐藤物産</td><td>ほうじん</td><td>80000</td><td>2025/04/03</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「法人」と「ほうじん」の表記ゆれ、名前に混ざった全角・半角スペース、空白行、文字列扱いの売上金額。こうした問題を、これから4つの操作で順番に片付けていきます。</p>



<h3 class="wp-block-heading"><span id="toc3">前提とエディターの開き方</span></h3>



<p class="wp-block-paragraph">操作は <strong>Power Query エディター</strong> の中で行います。Excel でデータ範囲を選び、リボンの[データ]タブから[テーブルまたは範囲から]をクリックすると、エディターが起動します。</p>



<p class="wp-block-paragraph">Power Query は Excel 2016 以降に標準搭載されています。Excel 2010・2013 では Microsoft 公式の無料アドインを追加すれば利用できます。データの取り込み方そのものに不安がある方は、<a href="https://mashukabu.com/power-query-getting-started/">Power Queryの始め方</a>で取り込み手順から確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc4">操作1: 値の置換で表記ゆれをそろえる</span></h2>



<p class="wp-block-paragraph">最初に片付けるのは表記ゆれです。サンプルでは区分列に「法人」と「ほうじん」が混在しています。このままでは集計のとき別物として数えられてしまいます。</p>



<p class="wp-block-paragraph">値の置換を使えば、特定の文字列を別の文字列に一括で書き換えられます。Excel の[置換]機能とよく似ていますが、こちらは手順として記録される点が違います。</p>



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



<ol class="wp-block-list"><li>整えたい列（ここでは「区分」列）の見出しをクリックして選択します</li><li>リボンの[ホーム]タブにある[値の置換]をクリックします</li><li>[検索する値]に <code>ほうじん</code>、[置換後]に <code>法人</code> と入力します</li><li>[OK]をクリックすると、対象の文字列がすべて置き換わります</li></ol>



<p class="wp-block-paragraph">これで区分が「法人」に統一されました。右側の「適用したステップ」に「置換された値」という行が追加されているはずです。これが記録された手順です。</p>



<h3 class="wp-block-heading"><span id="toc6">スペースや記号もまとめて消せる</span></h3>



<p class="wp-block-paragraph">置換は、いらない記号や文字を削除する用途にも使えます。[置換後]を空欄のままにすれば、検索した文字を「何もない状態」に置き換える、つまり削除できます。</p>



<p class="wp-block-paragraph">たとえば電話番号のハイフン、金額についた「円」の文字、住所に紛れた余計な記号などを一気に取り除けます。「消したい文字を空文字に置換する」と覚えておくと応用が利きます。</p>



<p class="wp-block-paragraph">なお、列をまたいだ複雑な分割や結合が必要な場合は、置換ではなく専用の操作が向いています。詳しくは<a href="https://mashukabu.com/power-query-split-merge-columns/">Power Queryで列を分割・結合する方法</a>を参考にしてください。</p>



<h2 class="wp-block-heading"><span id="toc7">操作2: 不要な行と空白を削除する</span></h2>



<p class="wp-block-paragraph">次は、分析の邪魔になる空白行と、セル内に紛れ込んだ余計な空白を取り除きます。サンプルには中ほどに空白行が1行入っていましたね。</p>



<h3 class="wp-block-heading"><span id="toc8">空白行を削除する</span></h3>



<p class="wp-block-paragraph">空白行はワンクリックでまとめて消せます。手順は次のとおりです。</p>



<ol class="wp-block-list"><li>リボンの[ホーム]タブで[行の削減]をクリックします</li><li>メニューから[行の削除]→[空白行の削除]を選びます</li></ol>



<p class="wp-block-paragraph">これで、すべての列が空のままになっている行が一括で取り除かれます。手作業で1行ずつ探して削除する必要はありません。</p>



<h3 class="wp-block-heading"><span id="toc9">セル内の余分な空白を取り除く</span></h3>



<p class="wp-block-paragraph">顧客名の「山田　商事」「鈴木 太郎」のように、文字の間や前後に空白が混ざっているケースもよくあります。こうした空白は[トリミング]という機能で整えられます。</p>



<ol class="wp-block-list"><li>整えたい列（「顧客名」列）の見出しを選択します</li><li>[変換]タブの[書式]をクリックします</li><li>メニューから[トリミング]を選びます</li></ol>



<p class="wp-block-paragraph">トリミングは、文字列の <strong>前後</strong> にある余分な空白を削除する機能です。ただし、単語と単語の間にある空白には作用しません。間の空白まで消したい場合は、操作1で紹介した値の置換で「半角スペースを空文字に置換」する方法を併用します。</p>



<p class="wp-block-paragraph">データの集計まで一気に進めたいときは、整形後に<a href="https://mashukabu.com/power-query-group-by-aggregate/">Power Queryのグループ化で集計する方法</a>へ進むと、件数や合計をまとめて出せます。</p>



<h2 class="wp-block-heading"><span id="toc10">操作3: データ型を変換する</span></h2>



<p class="wp-block-paragraph">3つ目はデータ型の変換です。これは見落とされがちですが、とても重要な操作です。</p>



<p class="wp-block-paragraph">取り込んだ直後のデータは、数値や日付であっても「文字列(テキスト)」として扱われていることがあります。文字列のままだと合計の計算ができなかったり、日付として並べ替えできなかったりします。</p>



<h3 class="wp-block-heading"><span id="toc11">文字列を数値・日付に変える</span></h3>



<p class="wp-block-paragraph">売上列を数値に、登録日列を日付に変換してみましょう。手順はどちらも同じです。</p>



<ol class="wp-block-list"><li>型を変えたい列の見出しを選択します</li><li>列見出しの左にある小さなアイコン(ABCや123のマーク)をクリックします</li><li>表示されたメニューから適切な型を選びます</li></ol>



<p class="wp-block-paragraph">売上列なら[整数]、登録日列なら[日付]を選びます。これで売上は計算できる数値に、登録日はきちんとした日付として認識されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>変換前の型</th><th>変換後に選ぶ型</th><th>主な用途</th></tr></thead><tbody><tr><td>文字列(テキスト)</td><td>整数・10進数</td><td>合計・平均などの計算</td></tr><tr><td>文字列(テキスト)</td><td>日付</td><td>期間の絞り込み・並べ替え</td></tr><tr><td>文字列(テキスト)</td><td>真偽値</td><td>TRUE/FALSEの判定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">型変換でエラーが出たときは</span></h3>



<p class="wp-block-paragraph">型を変換したとき、一部のセルに <code>Error</code> と表示されることがあります。これは、その値を指定した型に変換できなかったことを示します。</p>



<p class="wp-block-paragraph">たとえば数値列に「未定」という文字が混ざっていると、数値に変換できずエラーになります。原因の文字を操作1の置換で先に取り除いてから、もう一度型変換すると解決することが多いです。手順を入れ替えるだけで直せるのも、ステップが記録されている Power Query の強みです。</p>



<h2 class="wp-block-heading"><span id="toc13">操作4: 条件列で区分を自動で付ける</span></h2>



<p class="wp-block-paragraph">最後は条件列です。これは、ある列の値に応じて「もし〜なら〜」と区分を自動で付ける機能です。Excel の IF 関数を、画面の入力だけで設定できると考えるとイメージしやすいですよね。</p>



<p class="wp-block-paragraph">サンプルの売上列をもとに、「10万円以上なら大口、それ未満なら通常」という区分を新しい列として作ってみます。</p>



<h3 class="wp-block-heading"><span id="toc14">条件列の作り方</span></h3>



<ol class="wp-block-list"><li>リボンの[列の追加]タブをクリックします</li><li>[条件列]をクリックすると、設定画面が開きます</li><li>[新しい列名]に <code>売上区分</code> と入力します</li><li>条件部分を「列名: 売上」「演算子: 次の値以上」「値: 100000」に設定します</li><li>[出力]に <code>大口</code> と入力します</li><li>下部の[それ以外の場合]に <code>通常</code> と入力します</li><li>[OK]をクリックすると、判定結果が入った新しい列が追加されます</li></ol>



<p class="wp-block-paragraph">これで、売上が10万円以上の行には「大口」、それ未満の行には「通常」が自動で入ります。元データが変わっても、更新すれば判定もやり直されます。</p>



<h3 class="wp-block-heading"><span id="toc15">条件を増やすこともできる</span></h3>



<p class="wp-block-paragraph">判定を3段階以上にしたいときは、設定画面の[句の追加]をクリックします。これで条件を上から順に並べられます。</p>



<p class="wp-block-paragraph">たとえば「30万円以上なら最重要、10万円以上なら大口、それ以外は通常」のように、ランク分けを作れます。条件は上から順に評価されるので、 <strong>金額の大きい条件から並べる</strong> のがポイントです。</p>



<p class="wp-block-paragraph">さらに細かい計算式や、関数を使った独自の列を作りたくなったら、M言語に踏み込むと表現の幅が広がります。興味が出てきたら<a href="https://mashukabu.com/power-query-m-language-custom-column/">Power QueryのM言語でカスタム列を作る方法</a>をのぞいてみてください。</p>



<h2 class="wp-block-heading"><span id="toc16">うまくいかないときの対処法</span></h2>



<p class="wp-block-paragraph">操作を進めるなかで詰まりやすいポイントを、ここでまとめておきます。</p>



<ul class="wp-block-list"><li><strong>ステップを間違えた</strong>: 右側の「適用したステップ」で該当行の左にある×印をクリックすれば、その操作だけ取り消せます。最初からやり直す必要はありません。</li><li><strong>置換が効かない</strong>: 前後に空白が残っていると別の文字列と判定されます。先にトリミングで空白を取ってから置換すると、うまく一致します。</li><li><strong>更新したら型がリセットされた</strong>: データ取り込みのステップより前に型変換が入っていないか確認しましょう。基本は「取り込み→整形」の順に並べます。</li></ul>



<p class="wp-block-paragraph">整形がひととおり終わったら、リボンの[ホーム]タブから[閉じて読み込む]をクリックします。整えたデータが Excel のシートに表として出力されます。</p>



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



<p class="wp-block-paragraph">Power Query のデータ整形は、置換・行削除・データ型変換・条件列の4つを押さえれば、汚いデータの大半をきれいにできます。最後にポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li><strong>置換</strong>: 表記ゆれをそろえる。空文字に置換すれば不要な文字も削除できる</li><li><strong>行・空白の削除</strong>: 空白行はワンクリック、セル内の空白はトリミングで除去</li><li><strong>データ型変換</strong>: 文字列の数値や日付を、計算・並べ替えできる正しい型に直す</li><li><strong>条件列</strong>: IF のような分岐で、区分やランクを自動で付与する</li></ul>



<p class="wp-block-paragraph">なにより大きいのは、これらの操作がすべて手順として記録されることです。一度組んでしまえば、来月も再来月も[更新]ボタンひとつで同じクレンジングが走ります。毎回の手作業から解放されて、本来やりたい分析に集中できるようになります。</p>



<p class="wp-block-paragraph">まずは手元のよく使うデータで、この4操作を一度試してみてください。基本操作を体系的に押さえたいときは、<a href="https://mashukabu.com/power-query-complete-guide/">Power Queryの使い方｜完全ガイド</a>も合わせて読むと、ぐっと理解が深まります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/power-query-data-cleansing-basics/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power QueryのM言語入門｜カスタム列で四則演算・文字列結合・日付抽出・null処理</title>
		<link>https://mashukabu.com/power-query-m-language-custom-column/</link>
					<comments>https://mashukabu.com/power-query-m-language-custom-column/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 15:50:16 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[M言語]]></category>
		<category><![CDATA[Power Query]]></category>
		<category><![CDATA[データ整形]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7833</guid>

					<description><![CDATA[Power QueryのM言語とカスタム列の基本を、同僚に教える感覚でやさしく解説します。let〜in構造の読み方から、四則演算・文字列結合・日付抽出・null処理という実務4パターン、よく使うM関数早見表まで。全部覚えず必要なときに調べる前提で進めます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Power Queryのカスタム列って、何やら難しそうな言語が出てきて身構える」——そんな声をよく聞きます。確かに「M言語」と聞くとプログラミングの世界に足を踏み入れる気がしてハードルが高く感じますよね。</p>



<p class="wp-block-paragraph">でも安心してください。実務で使うM言語は、ほんの数パターンを押さえれば十分こなせます。しかも全部を暗記する必要はまったくなく、「こういうことがやりたい」と思ったときに調べられれば問題ありません。</p>



<p class="wp-block-paragraph">この記事では、カスタム列の追加方法から、M言語の基本構造、そして実務でよく使う4つのパターン(四則演算・文字列結合・日付抽出・null処理)を、同僚に教えるような感覚で順番に解説していきます。最後によく使うM関数の早見表も用意したので、ブックマーク代わりに使ってください。</p>



<p class="wp-block-paragraph">Power Query全体の位置づけをまず知りたい方は、<a href="https://mashukabu.com/power-query-complete-guide/">Power Queryとは｜モダンExcelの三本柱を完全解説</a>を先に読むと、この記事の内容がより立体的に理解できます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">カスタム列とは何か｜既存の列から新しい列を作る機能</a></li><li><a href="#toc2" tabindex="0">M言語のlet〜in構造を読めるようになる</a><ol><li><a href="#toc3" tabindex="0">詳細エディターでコードを覗いてみる</a></li><li><a href="#toc4" tabindex="0">let〜inは「手順書」だと考える</a></li></ol></li><li><a href="#toc5" tabindex="0">実務でよく使うカスタム列4パターン</a><ol><li><a href="#toc6" tabindex="0">パターン1｜四則演算(単価×数量、税込計算など)</a></li><li><a href="#toc7" tabindex="0">パターン2｜文字列結合(姓名の連結、コード生成など)</a></li><li><a href="#toc8" tabindex="0">パターン3｜日付の抽出(年・月・曜日の取り出し)</a></li><li><a href="#toc9" tabindex="0">パターン4｜null処理(空欄を別の値に置き換える)</a></li></ol></li><li><a href="#toc10" tabindex="0">全部覚えなくていい｜よく使うM関数早見表</a></li><li><a href="#toc11" tabindex="0">まとめ｜カスタム列は「調べながら使う」が正解</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">カスタム列とは何か｜既存の列から新しい列を作る機能</span></h2>



<p class="wp-block-paragraph">カスタム列とは、ひとことで言うと「既存の列を組み合わせて、新しい列を作る機能」です。</p>



<p class="wp-block-paragraph">たとえば「単価」列と「数量」列があるとき、その2つを掛け算した「金額」列が欲しくなりますよね。Excelのワークシートなら <code>=B2*C2</code> と数式を書いてオートフィルする作業ですが、Power Queryではこれをカスタム列として一度定義するだけで、行数が何万行になっても、データを更新しても自動で計算されます。</p>



<p class="wp-block-paragraph">カスタム列を追加する手順はとてもシンプルです。</p>



<ol class="wp-block-list"><li>Power Query エディターを開く</li><li>上部リボンの「列の追加」タブをクリック</li><li>「カスタム列」ボタンをクリック</li><li>表示されたダイアログで、新しい列の名前と数式(M言語)を入力する</li></ol>



<p class="wp-block-paragraph">ダイアログの右側には「使用できる列」の一覧が表示されます。ここから列名をダブルクリックすると、数式欄に <code>[列名]</code> の形で挿入されます。この <code>[列名]</code> という角かっこ記法が、M言語で「その列の値を参照する」という意味になります。</p>



<p class="wp-block-paragraph">つまりカスタム列で行うことは、「角かっこで列を呼び出して、それを計算・加工する式を書く」だけです。難しく考えず、まずはこの一点だけ覚えておけば大丈夫です。</p>



<h2 class="wp-block-heading"><span id="toc2">M言語のlet〜in構造を読めるようになる</span></h2>



<p class="wp-block-paragraph">カスタム列のダイアログでは1行の式を書くだけですが、Power Query全体の処理は「M言語のコード」として裏側で組み立てられています。この全体像を眺めると、Power Queryで何が起きているかが一気にわかるようになります。</p>



<h3 class="wp-block-heading"><span id="toc3">詳細エディターでコードを覗いてみる</span></h3>



<p class="wp-block-paragraph">「ホーム」タブの「詳細エディター」を開くと、これまでマウス操作で行ってきた処理が、すべてM言語のコードとして書かれているのが見えます。たとえばこんな具合です。</p>



<pre class="wp-block-code"><code>let
    ソース = Excel.CurrentWorkbook(){[Name=&quot;売上テーブル&quot;]}[Content],
    変更された型 = Table.TransformColumnTypes(ソース,{{&quot;単価&quot;, Int64.Type}, {&quot;数量&quot;, Int64.Type}}),
    追加されたカスタム = Table.AddColumn(変更された型, &quot;金額&quot;, each [単価] * [数量])
in
    追加されたカスタム</code></pre>



<p class="wp-block-paragraph">最初は呪文のように見えるかもしれませんが、構造はとても素直です。</p>



<h3 class="wp-block-heading"><span id="toc4">let〜inは「手順書」だと考える</span></h3>



<p class="wp-block-paragraph"><code>let</code> と <code>in</code> で囲まれた部分は、料理のレシピや作業手順書のようなものだと考えてください。</p>



<ul class="wp-block-list"><li><code>let</code> の後に、処理のステップを上から順番に並べる</li><li>各ステップは <code>ステップ名 = 処理内容</code> の形で書く</li><li>各ステップの末尾はカンマ <code>,</code> で区切る(最後のステップだけカンマ不要)</li><li><code>in</code> の後に、最終的に出力したいステップ名を書く</li></ul>



<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>単価と数量を整数型に変換する</td></tr><tr><td>追加されたカスタム</td><td>金額列(単価×数量)を追加する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">そして <code>in 追加されたカスタム</code> は「最終的に『追加されたカスタム』の状態を結果として出してください」という意味です。</p>



<p class="wp-block-paragraph">ここで大事なのは、各ステップが「ひとつ前のステップ名を受け取って、次の加工をしている」という点です。<code>Table.AddColumn(変更された型, ...)</code> のように、前のステップ名を引数として渡してバトンをつないでいるわけですね。Power Queryで操作を1つ追加するたびに、このステップが1行ずつ増えていきます。</p>



<p class="wp-block-paragraph">カスタム列で書く <code>[単価] <em> [数量]</code> という式は、この <code>each [単価] </em> [数量]</code> の部分に対応しています。<code>each</code> は「各行に対して」という意味のキーワードで、行ごとに角かっこの列を参照して計算する、と覚えておけば十分です。</p>



<p class="wp-block-paragraph">データの読み込みからこうした基本操作の流れを通しで確認したい方は、<a href="https://mashukabu.com/power-query-getting-started/">Excel Power Query入門｜コピペ集計を卒業する4つの自動化レシピ</a>も参考になります。</p>



<h2 class="wp-block-heading"><span id="toc5">実務でよく使うカスタム列4パターン</span></h2>



<p class="wp-block-paragraph">ここからが本題です。実務でカスタム列を使う場面は、突き詰めると次の4パターンにほぼ集約されます。それぞれ具体的な式とともに見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">パターン1｜四則演算(単価×数量、税込計算など)</span></h3>



<p class="wp-block-paragraph">もっとも基本的なのが数値の計算です。演算子はExcelとほぼ同じで、<code>+</code> <code>-</code> <code>*</code> <code>/</code> をそのまま使えます。</p>



<pre class="wp-block-code"><code>// 金額(単価 × 数量)
[単価] * [数量]

// 税込金額(金額 × 1.1)
[金額] * 1.1

// 単価から原価を引いた粗利
[単価] - [原価]</code></pre>



<p class="wp-block-paragraph">注意点として、計算に使う列は「数値型」になっている必要があります。もし列が「テキスト型」のままだと計算がうまくいかないので、事前に「データ型」を整数や10進数に変換しておきましょう。型変換も含めたデータ整形の基礎は、<a href="https://mashukabu.com/power-query-data-cleansing-basics/">Power Queryのデータ整形入門｜置換・型変換・条件列で自動クレンジング</a>で詳しく扱っています。</p>



<h3 class="wp-block-heading"><span id="toc7">パターン2｜文字列結合(姓名の連結、コード生成など)</span></h3>



<p class="wp-block-paragraph">複数の列のテキストをつなげたいときは、<code>&</code> 演算子を使います。これもExcelと同じ感覚です。</p>



<pre class="wp-block-code"><code>// 姓と名を半角スペースでつなぐ
[姓] &amp; &quot; &quot; &amp; [名]

// 部署コードと社員番号をハイフンでつなぐ
[部署コード] &amp; &quot;-&quot; &amp; [社員番号]</code></pre>



<p class="wp-block-paragraph">ここで一点だけつまずきやすいポイントがあります。<code>&</code> でつなげられるのは「テキスト同士」だけです。もし社員番号が数値型の列だった場合、そのままでは結合できずエラーになります。その場合は <code>Text.From()</code> という関数で数値をテキストに変換してからつなぎます。</p>



<pre class="wp-block-code"><code>// 数値の社員番号をテキストに変換してから結合
[部署コード] &amp; &quot;-&quot; &amp; Text.From([社員番号])</code></pre>



<p class="wp-block-paragraph">「型が違うと結合できない」「Text.Fromで揃える」——この2つを覚えておくと、文字列まわりのトラブルはほぼ解決できます。氏名や住所の分割・結合に特化した手法は、<a href="https://mashukabu.com/power-query-split-merge-columns/">Power Queryで列を分割・結合する方法｜氏名や住所の整形を自動化</a>にまとめています。</p>



<h3 class="wp-block-heading"><span id="toc8">パターン3｜日付の抽出(年・月・曜日の取り出し)</span></h3>



<p class="wp-block-paragraph">日付列から「年だけ」「月だけ」を取り出して集計の軸にしたい、というのは月次レポートで頻出のニーズです。日付を扱う関数は <code>Date.</code> で始まるものを使います。</p>



<pre class="wp-block-code"><code>// 受注日から年を取り出す
Date.Year([受注日])

// 受注日から月を取り出す
Date.Month([受注日])

// 受注日から日を取り出す
Date.Day([受注日])

// 受注日の曜日を数値で取り出す(0=日曜)
Date.DayOfWeek([受注日])</code></pre>



<p class="wp-block-paragraph"><code>Date.Year([受注日])</code> のように書けば、「2026/06/08」から <code>2026</code> という数値が取り出せます。これを使えば「年別」「月別」のピボット集計が一気にやりやすくなります。</p>



<p class="wp-block-paragraph">関数名がうろ覚えでも、カスタム列ダイアログで <code>Date.</code> と打ち始めると候補がポップアップで表示されます。一覧から選べばよいので、スペルを丸暗記する必要はありません。</p>



<h3 class="wp-block-heading"><span id="toc9">パターン4｜null処理(空欄を別の値に置き換える)</span></h3>



<p class="wp-block-paragraph">実務データには空欄(null)がつきものです。空欄のまま計算しようとするとエラーや想定外の結果になるので、適切に処理しておきます。ここで活躍するのが <code>if 〜 then 〜 else</code> という条件分岐です。</p>



<pre class="wp-block-code"><code>// 備考が空欄なら「なし」、そうでなければ元の値
if [備考] = null then &quot;なし&quot; else [備考]

// 数量が空欄なら0として扱う
if [数量] = null then 0 else [数量]</code></pre>



<p class="wp-block-paragraph">M言語の <code>if 〜 then 〜 else</code> は、Excelの <code>IF</code> 関数と考え方は同じですが、書き方が「英文のように読める」形になっているのが特徴です。「もし(if)〜なら(then)〜、そうでなければ(else)〜」と素直に読めますね。</p>



<p class="wp-block-paragraph">もうひとつ便利なのが <code>??</code> という演算子です。「左がnullなら右の値を使う」という意味で、null処理を短く書けます。</p>



<pre class="wp-block-code"><code>// 数量がnullなら0、そうでなければそのまま(上のif文と同じ意味)
[数量] ?? 0</code></pre>



<p class="wp-block-paragraph">短く書きたいときは <code>??</code>、複雑な条件を組みたいときは <code>if 〜 then 〜 else</code>、と使い分けると読みやすいコードになります。</p>



<h2 class="wp-block-heading"><span id="toc10">全部覚えなくていい｜よく使うM関数早見表</span></h2>



<p class="wp-block-paragraph">ここまで読んで「関数がいろいろ出てきて覚えきれない」と感じたかもしれません。でも繰り返しになりますが、M言語は暗記する必要がありません。</p>



<p class="wp-block-paragraph">実務でやることは「やりたい処理を思い浮かべる → 該当しそうな関数を調べる → カスタム列に書く」の繰り返しです。プロのエンジニアでも関数名を毎回検索しています。大事なのは「こういう処理にはこの系統の関数がある」というアタリをつけられることです。</p>



<p class="wp-block-paragraph">そのアタリをつけるための早見表を用意しました。困ったときにこの表に戻ってきてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>やりたいこと</th><th>使う関数・記法</th><th>記述例</th></tr></thead><tbody><tr><td>数値を計算する</td><td><code>+</code> <code>-</code> <code>*</code> <code>/</code></td><td><code>[単価] * [数量]</code></td></tr><tr><td>文字列をつなぐ</td><td><code>&</code></td><td><code>[姓] & [名]</code></td></tr><tr><td>数値をテキストに変換</td><td><code>Text.From</code></td><td><code>Text.From([番号])</code></td></tr><tr><td>テキストを数値に変換</td><td><code>Number.From</code></td><td><code>Number.From([金額文字列])</code></td></tr><tr><td>大文字・小文字に変換</td><td><code>Text.Upper</code> / <code>Text.Lower</code></td><td><code>Text.Upper([コード])</code></td></tr><tr><td>前後の空白を削除</td><td><code>Text.Trim</code></td><td><code>Text.Trim([氏名])</code></td></tr><tr><td>文字列の一部を抜き出す</td><td><code>Text.Start</code> / <code>Text.Middle</code></td><td><code>Text.Start([電話], 3)</code></td></tr><tr><td>年・月・日を取り出す</td><td><code>Date.Year</code> 他</td><td><code>Date.Year([日付])</code></td></tr><tr><td>曜日を取り出す</td><td><code>Date.DayOfWeek</code></td><td><code>Date.DayOfWeek([日付])</code></td></tr><tr><td>条件で値を分ける</td><td><code>if 〜 then 〜 else</code></td><td><code>if [売上] > 1000 then "A" else "B"</code></td></tr><tr><td>nullを別の値にする</td><td><code>??</code></td><td><code>[数量] ?? 0</code></td></tr><tr><td>数値を四捨五入する</td><td><code>Number.Round</code></td><td><code>Number.Round([金額], 0)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この表にある関数を「どこかで見たな」と思い出せれば、あとは関数名で検索すれば使い方はすぐに出てきます。最初から全部を覚えようとせず、必要になったときにこの表へ戻ってくる——それがM言語と長く付き合うコツです。</p>



<h2 class="wp-block-heading"><span id="toc11">まとめ｜カスタム列は「調べながら使う」が正解</span></h2>



<p class="wp-block-paragraph">Power QueryのM言語とカスタム列について、基本から実務4パターンまで解説してきました。最後に要点を振り返ります。</p>



<ul class="wp-block-list"><li>カスタム列は「既存の列を角かっこ <code>[列名]</code> で呼び出して加工し、新しい列を作る」機能</li><li>M言語の <code>let 〜 in</code> は「処理の手順書」。ステップを上から順に積み重ね、最後に出力するステップを指定する</li><li>実務の大半は四則演算・文字列結合・日付抽出・null処理の4パターンでカバーできる</li><li>関数名は暗記不要。早見表でアタリをつけて、必要なときに調べれば十分</li></ul>



<p class="wp-block-paragraph">M言語は「全部覚えてから使う」ものではなく、「使いながら少しずつ覚える」ものです。まずはカスタム列で <code>[単価] * [数量]</code> のような簡単な計算から試してみてください。一度成功体験を得ると、あとは早見表を片手にどんどん応用が利くようになります。</p>



<p class="wp-block-paragraph">Power Queryの機能全体をさらに深掘りしたい方は、<a href="https://mashukabu.com/power-query-complete-guide/">Power Queryとは｜モダンExcelの三本柱を完全解説</a>も合わせてご覧ください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/power-query-m-language-custom-column/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power Queryのピボット解除｜クロス集計表を縦持ちに変換</title>
		<link>https://mashukabu.com/power-query-unpivot-crosstab/</link>
					<comments>https://mashukabu.com/power-query-unpivot-crosstab/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 15:50:13 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Power Query]]></category>
		<category><![CDATA[クロス集計]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[パワークエリ]]></category>
		<category><![CDATA[ピボット解除]]></category>
		<category><![CDATA[モダンExcel]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7831</guid>

					<description><![CDATA[Power Queryのピボット解除（アンピボット）で、月別×支店別のクロス集計表（横持ち）を、ピボットテーブルや分析に使える縦持ちデータに変換する手順を解説します。複数列の一括選択から列名の変更まで、事務職向けに操作画面つきで紹介。更新ボタンで毎月使い回せます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「月別×支店別の集計表をもらったけど、これをピボットテーブルで分析しようとしたらうまくいかない……」という経験はありませんか？</p>



<p class="wp-block-paragraph">配布資料として作られた集計済みの表は、見やすい代わりに <strong>再集計には向かない形</strong> になっています。月が列方向に並び、支店が行方向に並んだ、いわゆるクロス集計表です。この形のままだと、ピボットテーブルやグラフにそのまま流し込めません。</p>



<p class="wp-block-paragraph">そこで活躍するのが、Power Query の <strong>ピボット解除（アンピボット）</strong> という機能です。横に広がった集計表を、分析しやすい「縦持ち（タテ型）データ」に一発で変換してくれます。しかも一度作れば、翌月以降は更新ボタン1クリックで使い回せます。</p>



<p class="wp-block-paragraph">この記事では、Power Query が初めての事務職の方でも迷わないように解説します。月別×支店別のクロス集計表を縦持ちに戻す手順を、操作画面つきで紹介します。</p>



<p class="wp-block-paragraph">なお本記事は <strong>Windows 版 Excel（Microsoft 365 / 2016 以降）</strong> での操作を前提にしています。</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">Power Query のピボット解除とは？横持ちを縦持ちに変える機能</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">Power Query でピボット解除する手順【4ステップ】</a><ol><li><a href="#toc6" tabindex="0">ステップ1：表をテーブルにして Power Query に取り込む</a></li><li><a href="#toc7" tabindex="0">ステップ2：基準にする列（支店）を選択する</a></li><li><a href="#toc8" tabindex="0">ステップ3：「その他の列のピボット解除」を実行する</a></li><li><a href="#toc9" tabindex="0">ステップ4：列名をわかりやすく変更する</a></li></ol></li><li><a href="#toc10" tabindex="0">「その他の列のピボット解除」を使うべき理由</a><ol><li><a href="#toc11" tabindex="0">3つのピボット解除メニューの違い</a></li><li><a href="#toc12" tabindex="0">翌月の列が増えても自動で対応できる</a></li></ol></li><li><a href="#toc13" tabindex="0">縦持ちにしたあとの活用テクニック</a><ol><li><a href="#toc14" tabindex="0">ピボットテーブルで自由に集計し直す</a></li><li><a href="#toc15" tabindex="0">Power Query 上でそのまま集計する</a></li><li><a href="#toc16" tabindex="0">複数の表を結合してから縦持ちにする</a></li></ol></li><li><a href="#toc17" tabindex="0">ピボット解除でつまずきやすいポイント3選</a><ol><li><a href="#toc18" tabindex="0">基準にする列まで一緒に縦持ちになってしまう</a></li><li><a href="#toc19" tabindex="0">月の列が「数値」ではなく「文字列」になっている</a></li><li><a href="#toc20" tabindex="0">不要な合計行・合計列まで縦持ちに含まれてしまう</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ：クロス集計表は「その他の列のピボット解除」で縦持ちに</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Power Query のピボット解除とは？横持ちを縦持ちに変える機能</span></h2>



<p class="wp-block-paragraph">Power Query のピボット解除とは、 <strong>横持ちの表を「縦持ち」に変換する機能</strong> です。行方向と列方向に広がった値を、1列1項目の形に並べ替えてくれます。英語の操作名から「アンピボット」とも呼ばれます。</p>



<p class="wp-block-paragraph">まずは、横持ちと縦持ちが具体的にどう違うのかを見ておきましょう。ここがイメージできると、後の操作がぐっとわかりやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc2">横持ち（クロス集計表）の例</span></h3>



<p class="wp-block-paragraph">配布資料でよく見るのが、次のような形です。1行が1支店で、各月の売上が列方向に並んでいます。</p>



<figure class="wp-block-table"><table><thead><tr><th>支店</th><th>4月</th><th>5月</th><th>6月</th></tr></thead><tbody><tr><td>東京</td><td>120</td><td>135</td><td>142</td></tr><tr><td>大阪</td><td>98</td><td>102</td><td>110</td></tr><tr><td>名古屋</td><td>75</td><td>80</td><td>88</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">人が読むぶんにはとても見やすい表です。ただし「月」という情報が列見出しに散らばっているため、分析ツールから見ると扱いにくい構造になっています。</p>



<h3 class="wp-block-heading"><span id="toc3">縦持ち（タテ型データ）の例</span></h3>



<p class="wp-block-paragraph">これをピボット解除すると、次のような形になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>支店</th><th>月</th><th>売上</th></tr></thead><tbody><tr><td>東京</td><td>4月</td><td>120</td></tr><tr><td>東京</td><td>5月</td><td>135</td></tr><tr><td>東京</td><td>6月</td><td>142</td></tr><tr><td>大阪</td><td>4月</td><td>98</td></tr><tr><td>大阪</td><td>5月</td><td>102</td></tr><tr><td>&#8230;</td><td>&#8230;</td><td>&#8230;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「月」が1つの列にまとまり、「売上」も1つの列にまとまりました。これが縦持ちです。1行が1つの実績を表す形になっているのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc4">なぜ縦持ちにする必要があるのか</span></h3>



<p class="wp-block-paragraph">ピボットテーブルやグラフ、Power BI などの分析ツールは、 <strong>縦持ちのデータを前提に作られています</strong> 。縦持ちなら「行ラベルに支店、列ラベルに月、値に売上」と自由に組み替えられます。</p>



<p class="wp-block-paragraph">横持ちのままだと、月が増えるたびに集計範囲を直す必要があり、メンテナンスが大変です。「分析の前処理として、まず縦持ちに直す」という流れを覚えておくと、いろいろな場面で応用が効きます。</p>



<p class="wp-block-paragraph">Power Query そのものの全体像をまだ押さえていない方は、 <a href="https://mashukabu.com/power-query-getting-started/">Excel Power Query入門｜コピペ集計を卒業する4つの自動化レシピ</a> や <a href="https://mashukabu.com/power-query-complete-guide/">Power Query完全ガイド</a> もあわせて読んでみてください。</p>



<h2 class="wp-block-heading"><span id="toc5">Power Query でピボット解除する手順【4ステップ】</span></h2>



<p class="wp-block-paragraph">それでは、先ほどの月別×支店別のクロス集計表を、実際にピボット解除していきます。やることはシンプルで、大きく4ステップです。</p>



<p class="wp-block-paragraph">ゴールは「支店・月・売上の3列からなる縦持ちの表」を作ることです。完成イメージを頭に置きながら進めていきましょう。</p>



<p class="wp-block-paragraph">前提として、Excel シートに次のクロス集計表が入っているものとします。A1セルに「支店」、B1〜D1に「4月」「5月」「6月」、A2以降に各支店のデータが入っている状態です。</p>



<h3 class="wp-block-heading"><span id="toc6">ステップ1：表をテーブルにして Power Query に取り込む</span></h3>



<p class="wp-block-paragraph">まず、変換したい表を Power Query に読み込みます。</p>



<ol class="wp-block-list"><li>クロス集計表の中のセルをどこか1つクリックする</li><li>「データ」タブを開く</li><li>「データの取得と変換」グループの <strong>「テーブルまたは範囲から」</strong> をクリックする</li><li>範囲の確認ダイアログが出たら、範囲と「先頭行をテーブルの見出しとして使用する」にチェックが入っていることを確認して「OK」を押す</li></ol>



<p class="wp-block-paragraph">これで Power Query エディターが別ウィンドウで開きます。中央のプレビューに、さきほどのクロス集計表がそのまま表示されているはずです。</p>



<h3 class="wp-block-heading"><span id="toc7">ステップ2：基準にする列（支店）を選択する</span></h3>



<p class="wp-block-paragraph">次に、 <strong>縦に残したい列</strong> を選びます。今回は「支店」を縦に残し、月の列だけを縦持ちに変換します。</p>



<p class="wp-block-paragraph">Power Query エディターのプレビューで、 <strong>「支店」列のヘッダーをクリック</strong> して選択します。列全体が緑色などでハイライトされればOKです。</p>



<p class="wp-block-paragraph">ここで選んだ列は、変換後もそのまま縦に残ります。「分析の軸になる列」を選ぶイメージです。</p>



<h3 class="wp-block-heading"><span id="toc8">ステップ3：「その他の列のピボット解除」を実行する</span></h3>



<p class="wp-block-paragraph">支店列を選択した状態のまま、変換を実行します。</p>



<ol class="wp-block-list"><li>エディター上部の <strong>「変換」タブ</strong> を開く</li><li><strong>「列のピボット解除」ボタンの右側にある下向き矢印（▼）</strong> をクリックする</li><li>メニューから <strong>「その他の列のピボット解除」</strong> を選ぶ</li></ol>



<p class="wp-block-paragraph">たったこれだけです。実行すると、選択していた「支店」以外の列（4月・5月・6月）が一気に縦持ちに変換されます。</p>



<p class="wp-block-paragraph">変換後のプレビューは、次のような形になっているはずです。新しく「属性」と「値」という2つの列ができています。</p>



<p class="wp-block-paragraph">「属性」列に月（4月・5月・6月）が、「値」列に売上が入りました。これでもう縦持ちのデータができています。</p>



<h3 class="wp-block-heading"><span id="toc9">ステップ4：列名をわかりやすく変更する</span></h3>



<p class="wp-block-paragraph">最後に、自動でついた「属性」「値」という列名を、内容に合った名前に変えておきます。このひと手間で、あとの分析がぐっとラクになります。</p>



<ol class="wp-block-list"><li>「属性」列のヘッダーを <strong>ダブルクリック</strong> して、 <strong>「月」</strong> と入力する</li><li>同じように「値」列のヘッダーをダブルクリックして、 <strong>「売上」</strong> と入力する</li></ol>



<p class="wp-block-paragraph">これで「支店・月・売上」の3列がそろいました。あとは左上の <strong>「閉じて読み込む」</strong> をクリックすれば、Excel の新しいシートに縦持ちの表が出力されます。</p>



<p class="wp-block-paragraph">ここまでが基本の流れです。慣れれば1分もかからず終わります。</p>



<h2 class="wp-block-heading"><span id="toc10">「その他の列のピボット解除」を使うべき理由</span></h2>



<p class="wp-block-paragraph">ステップ3で「列のピボット解除」ではなく、あえて <strong>「その他の列のピボット解除」</strong> を選んだのには理由があります。ここは実務でとても効いてくるポイントなので、少し詳しく説明します。</p>



<p class="wp-block-paragraph">Power Query のピボット解除には、似たメニューが3種類あります。それぞれの違いを押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">3つのピボット解除メニューの違い</span></h3>



<ul class="wp-block-list"><li><strong>列のピボット解除</strong>: 選択した列を縦持ちに変換する</li><li><strong>その他の列のピボット解除</strong>: 選択した列「以外」をすべて縦持ちに変換する</li><li><strong>選択した列のみピボット解除</strong>: 選択した列だけを縦持ちにする（他の操作の影響を受けない）</li></ul>



<p class="wp-block-paragraph">一見すると「列のピボット解除」で月の列（4月・5月・6月）を選べばよさそうに見えますよね。実際それでも変換はできます。</p>



<h3 class="wp-block-heading"><span id="toc12">翌月の列が増えても自動で対応できる</span></h3>



<p class="wp-block-paragraph">問題は、 <strong>翌月以降に「7月」の列が増えたとき</strong> です。</p>



<p class="wp-block-paragraph">「列のピボット解除」で4月〜6月を名指しで選んでいると、新しく増えた7月の列は変換対象から漏れてしまいます。毎月クエリを直す羽目になり、自動化の意味が薄れてしまうのです。</p>



<p class="wp-block-paragraph">一方「その他の列のピボット解除」なら、 <strong>「支店以外は全部縦持ちにする」</strong> という指定になります。そのため、月の列がいくつ増えても、更新ボタンを押すだけで自動的に取り込まれます。</p>



<p class="wp-block-paragraph">「軸になる列を選ぶ」という発想で「その他の列のピボット解除」を使う。これがメンテナンスに強いクエリを作るコツです。</p>



<h2 class="wp-block-heading"><span id="toc13">縦持ちにしたあとの活用テクニック</span></h2>



<p class="wp-block-paragraph">ピボット解除で縦持ちにしたデータは、ここからが本番です。分析の前処理が終わった状態なので、いろいろな集計に展開できます。代表的な活用例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc14">ピボットテーブルで自由に集計し直す</span></h3>



<p class="wp-block-paragraph">縦持ちにした表を Excel シートに出力したら、その表を元に <strong>ピボットテーブル</strong> を作ってみましょう。</p>



<p class="wp-block-paragraph">「挿入」タブ →「ピボットテーブル」を選びます。行に「支店」、列に「月」、値に「売上の合計」を配置すれば、元のクロス集計表が再現できます。さらに行と列を入れ替えたり、月だけで合計を出したりと、自由自在に組み替えられます。</p>



<p class="wp-block-paragraph">「最初の横持ち表に戻すこともできるし、別の切り口でも見られる」という状態になるわけです。</p>



<h3 class="wp-block-heading"><span id="toc15">Power Query 上でそのまま集計する</span></h3>



<p class="wp-block-paragraph">ピボットテーブルを使わず、Power Query の中で集計まで済ませてしまう方法もあります。縦持ちにした後に「グループ化」を使えば、支店ごとの合計や平均をクエリ内で計算できます。</p>



<p class="wp-block-paragraph">グループ化の詳しい手順は、 <a href="https://mashukabu.com/power-query-group-by-aggregate/">Power Queryのグループ化で集計する方法</a> で解説しています。「縦持ちに変換 → グループ化で集計」という流れは、定例レポート作成の鉄板パターンです。</p>



<h3 class="wp-block-heading"><span id="toc16">複数の表を結合してから縦持ちにする</span></h3>



<p class="wp-block-paragraph">支店ごとにファイルが分かれている場合は、まず複数の表をまとめてから縦持ちにする、という応用もできます。</p>



<p class="wp-block-paragraph">表どうしをキーで突き合わせる方法は <a href="https://mashukabu.com/power-query-merge-tables/">Power Queryのマージで複数テーブルを結合する方法</a> を、データの表記ゆれや空白を整える方法は <a href="https://mashukabu.com/power-query-data-cleansing-basics/">Power Queryのデータクレンジング入門</a> を参考にしてください。</p>



<h2 class="wp-block-heading"><span id="toc17">ピボット解除でつまずきやすいポイント3選</span></h2>



<p class="wp-block-paragraph">最後に、ピボット解除を始めたばかりの人がよくつまずく3つのポイントと、その対処法をまとめておきます。</p>



<h3 class="wp-block-heading"><span id="toc18">基準にする列まで一緒に縦持ちになってしまう</span></h3>



<p class="wp-block-paragraph">「支店の値まで属性列に入ってしまった」というケースです。これは、ステップ2で支店列を選ばずにピボット解除を実行したときに起こります。</p>



<p class="wp-block-paragraph">対処法はシンプルです。右側の「適用したステップ」で、ピボット解除のステップを削除してやり直します。そのうえで、 <strong>必ず先に「支店」列を選択してから</strong> 「その他の列のピボット解除」を実行してください。</p>



<h3 class="wp-block-heading"><span id="toc19">月の列が「数値」ではなく「文字列」になっている</span></h3>



<p class="wp-block-paragraph">縦持ちにした後、「値」列が文字列のままで合計できないことがあります。元の表で金額がテキストとして入っていた場合に起こりがちです。</p>



<p class="wp-block-paragraph">対処法は、 <strong>「値」列のヘッダー左にあるデータ型アイコンをクリックし、「整数」または「10進数」に変更する</strong> ことです。これで合計や平均が計算できるようになります。</p>



<h3 class="wp-block-heading"><span id="toc20">不要な合計行・合計列まで縦持ちに含まれてしまう</span></h3>



<p class="wp-block-paragraph">元のクロス集計表に「合計」の行や列が含まれていると、それも縦持ちに変換されて二重集計の原因になります。</p>



<p class="wp-block-paragraph">対処法は、Power Query に取り込んだ直後に <strong>不要な合計行・合計列を削除しておく</strong> ことです。合計列はヘッダーを右クリックして「列の削除」、合計行は「行の削除」やフィルターで除外します。元データを整えてからピボット解除するのが安全です。</p>



<p class="wp-block-paragraph">データの整え方をもっと知りたい方は、 <a href="https://mashukabu.com/power-query-data-cleansing-basics/">Power Queryのデータクレンジング入門</a> もチェックしてみてください。</p>



<h2 class="wp-block-heading"><span id="toc21">まとめ：クロス集計表は「その他の列のピボット解除」で縦持ちに</span></h2>



<p class="wp-block-paragraph">Power Query のピボット解除を使えば、横持ちのクロス集計表を、分析しやすい縦持ちデータに数クリックで変換できます。</p>



<p class="wp-block-paragraph">今回の手順のポイントは次の3つです。</p>



<ul class="wp-block-list"><li><strong>基準にする列（支店）を先に選択</strong> してから変換する</li><li><strong>「その他の列のピボット解除」</strong> を使えば、月の列が増えても自動で対応できる</li><li>縦持ちにした後は <strong>ピボットテーブルやグループ化</strong> で自由に集計し直せる</li></ul>



<p class="wp-block-paragraph">「配布資料の集計表をもらったけど分析できない」という場面は、事務の仕事でよく出てきますよね。そんなときに、まずピボット解除で縦持ちに戻すクセをつけておくと、その後の作業が一気にラクになります。</p>



<p class="wp-block-paragraph">一度クエリを作っておけば、翌月のデータも更新ボタン1クリックで縦持ちに変換できます。Power Query の全体像は <a href="https://mashukabu.com/power-query-getting-started/">Excel Power Query入門｜コピペ集計を卒業する4つの自動化レシピ</a> でも紹介しているので、まだの方はあわせて読んでみてください。</p>



<p class="wp-block-paragraph">まずは手元のクロス集計表で、今日のうちにピボット解除を試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/power-query-unpivot-crosstab/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excelのフラッシュフィル・Power Queryで名簿整理を10倍速にする方法</title>
		<link>https://mashukabu.com/excel-flash-fill-power-query-name-list/</link>
					<comments>https://mashukabu.com/excel-flash-fill-power-query-name-list/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 14:07:05 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Power Query]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[フラッシュフィル]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7249</guid>

					<description><![CDATA[Excelのフラッシュフィル（Ctrl+E）とPower Queryを使えば、関数を書かずに名簿整理が10倍速で終わります。姓名分割・ドメイン抽出・表記ゆれ統一・複数ファイル結合の5実例で、関数で頑張ってきた人ほど効果を実感できますよ。使い分けフロー付き。]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Excelのフラッシュフィル・Power Queryで名簿整理を10倍速にする方法</h1>



<p class="wp-block-paragraph">「氏名を姓と名に分けたいけど、LEFTとFINDの組み合わせを毎回ググっている」「支店ごとの名簿を毎月手作業で結合している」——Excelで名簿を扱う現場では、こんな繰り返し作業に時間を取られがちですよね。</p>



<p class="wp-block-paragraph">実は、Excelには関数を書かなくても名簿整理が爆速で終わる機能が2つあります。<strong>フラッシュフィル</strong>（Ctrl+Eで実行できるパターン自動補完機能）と<strong>Power Query</strong>（取得した処理手順を保存して再利用できるデータ変換ツール）です。</p>



<p class="wp-block-paragraph">この記事では、姓名分割・メールアドレスからのドメイン抽出・表記ゆれ統一・複数ファイル結合という5つの実例を通じて、関数で力技を続けていたあなたの名簿整理を10倍速にする方法をお伝えします。</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><li><a href="#toc1" tabindex="0">名簿整理が遅いのは「Excelの関数で頑張りすぎ」かもしれない</a></li><li><a href="#toc2" tabindex="0">フラッシュフィルとは？Excelで1回きりの整形を爆速にする機能</a><ol><li><a href="#toc3" tabindex="0">基本動作</a></li><li><a href="#toc4" tabindex="0">ショートカットは Ctrl+E</a></li><li><a href="#toc5" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc6" tabindex="0">【実例1】Excelで姓名分割をフラッシュフィルで一発処理</a><ol><li><a href="#toc7" tabindex="0">関数版（従来のやり方）</a></li><li><a href="#toc8" tabindex="0">フラッシュフィルでの手順</a></li></ol></li><li><a href="#toc9" tabindex="0">【実例2】Excelでメールアドレスからドメインを抽出する</a><ol><li><a href="#toc10" tabindex="0">関数版</a></li><li><a href="#toc11" tabindex="0">フラッシュフィルでの手順</a></li></ol></li><li><a href="#toc12" tabindex="0">【実例3】Excelで表記ゆれを統一する（全角半角・大文字小文字・スペース除去）</a><ol><li><a href="#toc13" tabindex="0">関数版</a></li><li><a href="#toc14" tabindex="0">フラッシュフィルでの手順</a></li></ol></li><li><a href="#toc15" tabindex="0">Excelのフラッシュフィルが効かないときの対処法</a><ol><li><a href="#toc16" tabindex="0">対処1: 追加のサンプルを入力する</a></li><li><a href="#toc17" tabindex="0">対処2: 自動フラッシュフィルの設定を確認する</a></li><li><a href="#toc18" tabindex="0">対処3: 整形対象の隣接列に元データがあるか確認</a></li><li><a href="#toc19" tabindex="0">対処4: 空白行を挟まない</a></li><li><a href="#toc20" tabindex="0">対処5: それでも効かないなら Power Query へ</a></li></ol></li><li><a href="#toc21" tabindex="0">Power Queryとは？Excelで繰り返し処理を自動化する仕組み</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">【実例4】複数ファイルの名簿をExcel Power Queryで結合する</a><ol><li><a href="#toc26" tabindex="0">手順1: フォルダーから読み込む</a></li><li><a href="#toc27" tabindex="0">手順2: ファイル名列を活用する</a></li><li><a href="#toc28" tabindex="0">手順3: 整形してテーブルに出力</a></li></ol></li><li><a href="#toc29" tabindex="0">【実例5】毎月の名簿更新を「更新ボタン1つ」で再実行する</a><ol><li><a href="#toc30" tabindex="0">翌月、フォルダーに新ファイルを追加するだけ</a></li><li><a href="#toc31" tabindex="0">ファイルが入れ替わった場合も自動追従</a></li></ol></li><li><a href="#toc32" tabindex="0">Excelのフラッシュフィル vs Power Query の使い分けフロー</a><ol><li><a href="#toc33" tabindex="0">一言まとめ</a></li></ol></li><li><a href="#toc34" tabindex="0">まとめ｜Excelの名簿整理で時間を奪わせない</a><ol><li><a href="#toc35" tabindex="0">次に読みたい記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">名簿整理が遅いのは「Excelの関数で頑張りすぎ」かもしれない</span></h2>



<p class="wp-block-paragraph">Excelで名簿を整える定番パターンといえば、こんな数式ではないでしょうか。</p>



<pre class="wp-block-code"><code>=LEFT(A2, FIND(&quot; &quot;, A2)-1)
=MID(A2, FIND(&quot; &quot;, A2)+1, LEN(A2))</code></pre>



<p class="wp-block-paragraph">姓名を分割するだけで2つの数式を覚える必要があり、しかも全角スペースと半角スペースが混ざっているとエラーになります。データが変わるたびに数式の中身を確認するのは大変ですよね。</p>



<p class="wp-block-paragraph">そこで頼りになるのが、Excelに最初から備わっている<strong>フラッシュフィル</strong>と<strong>Power Query</strong>です。両者の役割を一言でまとめると、こうなります。</p>



<figure class="wp-block-table"><table><thead><tr><th>機能</th><th>役割</th><th>学習コスト</th></tr></thead><tbody><tr><td>フラッシュフィル</td><td>1回きりの整形を爆速で終わらせる</td><td>低（Ctrl+Eだけ）</td></tr><tr><td>Power Query</td><td>繰り返し処理を自動化して再利用する</td><td>中（GUIで操作）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この使い分けが頭に入っていると、関数で書いていた数式の8割は機能側に任せられます。順番に見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc2">フラッシュフィルとは？Excelで1回きりの整形を爆速にする機能</span></h2>



<p class="wp-block-paragraph"><strong>フラッシュフィル</strong>は、Excel 2013から搭載されたパターン自動補完機能です。隣の列に整形例を1〜2件入力すると、Excelがパターンを推測して残りの行を一気に埋めてくれます。</p>



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



<p class="wp-block-paragraph">たとえばA列に「山田 太郎」「鈴木 花子」と並んでいるとして、B列の1行目に「山田」と入力します。続けてB2に文字を打ち始めると、Excelが灰色のサジェストで「鈴木」「佐藤」と候補を出してくれます。Enterで確定すれば一括補完が完了します。</p>



<h3 class="wp-block-heading"><span id="toc4">ショートカットは Ctrl+E</span></h3>



<p class="wp-block-paragraph">自動サジェストが出ないときは、整形例を1〜2件だけ入力してからカーソルを次のセルに置き、<code>Ctrl + E</code>を押すと一気にフラッシュフィルが実行されます。覚えるのはこのショートカット1つだけで大丈夫ですよ。</p>



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



<ul class="wp-block-list"><li>Excel 2013以降のWindows版で利用可能</li><li>Excel for Macは2016以降で対応</li><li>推奨はMicrosoft 365（最新のパターン推測アルゴリズム）</li></ul>



<p class="wp-block-paragraph">ここまで読んで「LEFTやMIDで書いていた処理が、それだけで終わるなら使ってみたい」と思いますよね。実例で見ていきましょう。</p>



<h2 class="wp-block-heading"><span id="toc6">【実例1】Excelで姓名分割をフラッシュフィルで一発処理</span></h2>



<p class="wp-block-paragraph">名簿整理の最頻出パターン、姓名分割から始めます。</p>



<h3 class="wp-block-heading"><span id="toc7">関数版（従来のやり方）</span></h3>



<p class="wp-block-paragraph">A列に「氏名」が入力されている前提で、B列に姓、C列に名を分けるなら従来はこう書いてきたはずです。</p>



<pre class="wp-block-code"><code>B2: =LEFT(A2, FIND(&quot; &quot;, A2)-1)
C2: =MID(A2, FIND(&quot; &quot;, A2)+1, LEN(A2))</code></pre>



<p class="wp-block-paragraph">数式は<a href="https://mashukabu.com/excel-function-howto-use-left/">ExcelのLEFT関数の使い方</a>と<a href="https://mashukabu.com/excel-function-howto-use-find/">ExcelのFIND関数の使い方</a>の組み合わせです。動作はしますが、全角スペースが混ざるとFINDがエラーを返します。</p>



<h3 class="wp-block-heading"><span id="toc8">フラッシュフィルでの手順</span></h3>



<ol class="wp-block-list"><li><strong>B2に「山田」と入力</strong>（A2の「山田 太郎」の姓部分だけ手で打つ）</li><li><strong>B3にカーソルを移動して <code>Ctrl + E</code></strong></li><li>B列の残り行に「鈴木」「佐藤」と一気に入りました</li><li><strong>C列も同じ手順</strong>で名だけを抽出（C2に「太郎」と入力 → C3で Ctrl+E）</li></ol>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/01_ui_flash-fill-name-split.png" alt="01 ui flash fill name split" /></figure>



<figure class="wp-block-table"><table><thead><tr><th>A列（氏名）</th><th>B列（姓）</th><th>C列（名）</th></tr></thead><tbody><tr><td>山田 太郎</td><td>山田</td><td>太郎</td></tr><tr><td>鈴木 花子</td><td>鈴木</td><td>花子</td></tr><tr><td>佐藤 一郎</td><td>佐藤</td><td>一郎</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は不要。スペースが全角でも半角でも、フラッシュフィルがパターンを認識して処理してくれます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_result_flash-fill-name-split.png" alt="02 result flash fill name split" /></figure>



<p class="wp-block-paragraph">「これだけで終わるの？」と拍子抜けする手軽さですよね。</p>



<h2 class="wp-block-heading"><span id="toc9">【実例2】Excelでメールアドレスからドメインを抽出する</span></h2>



<p class="wp-block-paragraph">次は、メールアドレスから「@より後のドメイン」を抜き出すパターンです。フィルタや集計で「会社ドメインごとに分類したい」シーンで使えます。</p>



<h3 class="wp-block-heading"><span id="toc10">関数版</span></h3>



<pre class="wp-block-code"><code>ローカル部: =LEFT(A2, FIND(&quot;@&quot;, A2)-1)
ドメイン:   =MID(A2, FIND(&quot;@&quot;, A2)+1, LEN(A2))</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-mid/">ExcelのMID関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-find/">FIND関数</a>の組み合わせです。動きはしますが、毎回引数を考えるのは面倒です。</p>



<h3 class="wp-block-heading"><span id="toc11">フラッシュフィルでの手順</span></h3>



<p class="wp-block-paragraph">A列に「taro.yamada@example.com」のようなメールアドレスが並んでいるとします。</p>



<ol class="wp-block-list"><li><strong>B2に「example.com」と手入力</strong></li><li><strong>B3にカーソルを移して <code>Ctrl + E</code></strong></li><li>B列の残り行に「sample.co.jp」「test.org」など、各行のドメインが一気に入る</li></ol>



<figure class="wp-block-table"><table><thead><tr><th>A列（メール）</th><th>B列（ドメイン）</th></tr></thead><tbody><tr><td>taro.yamada@example.com</td><td>example.com</td></tr><tr><td>hanako.suzuki@sample.co.jp</td><td>sample.co.jp</td></tr><tr><td>ichiro.sato@test.org</td><td>test.org</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_flash-fill-email-domain.png" alt="03 result flash fill email domain" /></figure>



<p class="wp-block-paragraph">ローカル部（@より前）を取り出したいときも、同じ手順で1件だけ手入力すればOKです。会社ドメインを抽出してフィルタする業務がぐっと楽になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc12">【実例3】Excelで表記ゆれを統一する（全角半角・大文字小文字・スペース除去）</span></h2>



<p class="wp-block-paragraph">3つ目は、名簿で必ず発生する表記ゆれの統一です。フリガナの全角/半角が混在していたり、英数字に余計なスペースが入っていたりすると、並び替えやVLOOKUPで弾かれます。</p>



<h3 class="wp-block-heading"><span id="toc13">関数版</span></h3>



<pre class="wp-block-code"><code>スペース除去: =SUBSTITUTE(SUBSTITUTE(A2, &quot; &quot;, &quot;&quot;), &quot;　&quot;, &quot;&quot;)
大文字統一:   =UPPER(A2)
全角→半角:    =ASC(A2)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-substitute/">ExcelのSUBSTITUTE関数</a>を二重に使う構造で、書き慣れていないと読みにくいですよね。</p>



<h3 class="wp-block-heading"><span id="toc14">フラッシュフィルでの手順</span></h3>



<p class="wp-block-paragraph">たとえばA列に「Yamada Taro」「suzuki  hanako」「Sato Ichiro」のように、大文字小文字や余分なスペースが混在しているとします。</p>



<ol class="wp-block-list"><li><strong>B2に「YamadaTaro」と入力</strong>（スペース除去 + 名前の頭文字を大文字に揃える）</li><li><strong>B3にカーソルを移して <code>Ctrl + E</code></strong></li><li>B列に「SuzukiHanako」「SatoIchiro」が一気に入る</li></ol>



<p class="wp-block-paragraph">複雑な置換ルールでも、Excelが「サンプルから推測」してくれるので、関数の入れ子を書く必要がありません。</p>



<p class="wp-block-paragraph">「ここまで自動で読み取ってくれるの？」と驚くポイントだと思います。</p>



<h2 class="wp-block-heading"><span id="toc15">Excelのフラッシュフィルが効かないときの対処法</span></h2>



<p class="wp-block-paragraph">ここまでで「フラッシュフィルは魔法か」と感じた方も多いはずですが、実は効かない場面もあります。代表的なトラブルと対処法を押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">対処1: 追加のサンプルを入力する</span></h3>



<p class="wp-block-paragraph">サンプルが1件だけだとパターンを推測しきれず、結果が空白になることがあります。2〜3件目を手入力してから再度 <code>Ctrl + E</code> を押すと、認識精度が一気に上がります。</p>



<h3 class="wp-block-heading"><span id="toc17">対処2: 自動フラッシュフィルの設定を確認する</span></h3>



<ul class="wp-block-list"><li>[ファイル] → [オプション] → [詳細設定] を開く</li><li>「自動フラッシュフィル」のチェックボックスがONになっているか確認</li><li>OFFになっていると、入力中のサジェストが出ません</li></ul>



<h3 class="wp-block-heading"><span id="toc18">対処3: 整形対象の隣接列に元データがあるか確認</span></h3>



<p class="wp-block-paragraph">フラッシュフィルは「隣接した列の値からパターンを推測」する仕組みです。整形元データから列を1つ空けてしまうと推測できないので、必ず元データの隣の列で実行してください。</p>



<h3 class="wp-block-heading"><span id="toc19">対処4: 空白行を挟まない</span></h3>



<p class="wp-block-paragraph">整形対象範囲の途中に空白行があると、フラッシュフィルがそこでパターン推測を止めてしまいます。空白行は事前にフィルタや並び替えで詰めておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">対処5: それでも効かないなら Power Query へ</span></h3>



<p class="wp-block-paragraph">パターンが複雑すぎる、あるいはデータ量が大きすぎる場合は、Power Queryで明示的に処理を組むほうが確実です。次のセクションで見ていきましょう。</p>



<p class="wp-block-paragraph">「効かないときは Power Query」と覚えておくだけで、行き詰まりが減りますよ。</p>



<h2 class="wp-block-heading"><span id="toc21">Power Queryとは？Excelで繰り返し処理を自動化する仕組み</span></h2>



<p class="wp-block-paragraph"><strong>Power Query</strong>は、Excel 2016以降に標準搭載されているデータ取得・変換ツールです。「データを読み込んで、整形して、テーブルに出力する」という一連の処理を「クエリ」として保存できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>※ クエリ＝Power Queryで記録した、データ取得から変換までの一連の処理</p></blockquote>



<h3 class="wp-block-heading"><span id="toc22">「適用したステップ」で処理を記録</span></h3>



<p class="wp-block-paragraph">Power Queryエディターでは、列の分割や型変換などの操作を1つずつ「ステップ」として記録します。右側に並ぶ「適用したステップ」を見れば、どんな処理を順番に実行したかが一目でわかります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>※ ステップ＝クエリ内で実行される個別の変換処理（例: 列の分割、値の置換）</p></blockquote>



<p class="wp-block-paragraph">各ステップは後から編集・削除・並べ替えが可能です。「あ、ここで型変換を間違えた」と気づいたら、該当ステップだけを修正できます。</p>



<h3 class="wp-block-heading"><span id="toc23">更新ボタンで同じ処理を再実行</span></h3>



<p class="wp-block-paragraph">Power Queryの真価は「再実行」にあります。元のデータが更新されたら、[データ] タブ → [すべて更新] をクリックするだけで、保存したクエリが同じ手順で再実行されます。毎月の名簿整理で、同じ作業を何度も繰り返す必要がなくなります。</p>



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



<ul class="wp-block-list"><li>Excel 2016以降のWindows版で標準搭載（[データ] タブから利用可能）</li><li>Excel 2010/2013ではアドインとして提供</li><li>Excel for Macも段階的に対応中（Microsoft 365推奨）</li></ul>



<p class="wp-block-paragraph">Power Queryの基礎をもう少し詳しく学びたい方は、<a href="https://mashukabu.com/power-query-getting-started/">Power Query入門記事</a>もあわせてご覧ください。</p>



<p class="wp-block-paragraph">ここからは、フラッシュフィルでは難しい「複数ファイル結合」の実例を見ていきます。</p>



<h2 class="wp-block-heading"><span id="toc25">【実例4】複数ファイルの名簿をExcel Power Queryで結合する</span></h2>



<p class="wp-block-paragraph">支店別の名簿が<code>東京支店.xlsx</code>、<code>大阪支店.xlsx</code>、<code>福岡支店.xlsx</code>の3ファイルに分かれているとします。これを1つのマスタにまとめる作業を、Power Queryで自動化します。</p>



<h3 class="wp-block-heading"><span id="toc26">手順1: フォルダーから読み込む</span></h3>



<ol class="wp-block-list"><li><strong>3ファイルを同じフォルダー</strong>（例: <code>C:UsersyouDocuments名簿</code>）にまとめる</li><li><strong>[データ] タブ → [データの取得] → [ファイルから] → [フォルダーから]</strong> を選択</li><li><strong>対象フォルダーのパスを指定</strong>して [OK]</li><li>プレビュー画面で <strong>[結合] → [データの結合と変換]</strong> をクリック</li><li>サンプルファイルとシートを指定（通常は1つ目のファイルの「Sheet1」）</li><li><strong>Power Queryエディター</strong>が開き、3ファイルが縦結合された状態で表示される</li></ol>



<h3 class="wp-block-heading"><span id="toc27">手順2: ファイル名列を活用する</span></h3>



<p class="wp-block-paragraph">結合結果には自動で<code>Source.Name</code>という列が追加され、「東京支店.xlsx」「大阪支店.xlsx」のように元ファイル名が入っています。この列を残しておくと「どの支店のデータか」が後からわかって便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc28">手順3: 整形してテーブルに出力</span></h3>



<p class="wp-block-paragraph">不要な列の削除や型変換を「適用したステップ」として記録したあと、[ホーム] タブ → [閉じて読み込む] でExcelシートにテーブル出力します。</p>



<figure class="wp-block-table"><table><thead><tr><th>Source.Name</th><th>氏名</th><th>部署</th><th>メール</th></tr></thead><tbody><tr><td>東京支店.xlsx</td><td>山田 太郎</td><td>営業</td><td>yamada@example.com</td></tr><tr><td>大阪支店.xlsx</td><td>鈴木 花子</td><td>経理</td><td>suzuki@example.com</td></tr><tr><td>福岡支店.xlsx</td><td>佐藤 一郎</td><td>総務</td><td>sato@example.com</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">これで毎月「3ファイルを開いてコピペで結合」していた作業から解放されます。</p>



<h2 class="wp-block-heading"><span id="toc29">【実例5】毎月の名簿更新を「更新ボタン1つ」で再実行する</span></h2>



<p class="wp-block-paragraph">Power Queryの真骨頂は、ここからです。</p>



<h3 class="wp-block-heading"><span id="toc30">翌月、フォルダーに新ファイルを追加するだけ</span></h3>



<p class="wp-block-paragraph">来月、同じフォルダーに<code>札幌支店.xlsx</code>を追加したとします。やることはたった1つ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/07_ui_power-query-refresh.png" alt="07 ui power query refresh" /></figure>



<ol class="wp-block-list"><li><strong>[データ] タブ → [すべて更新]</strong> をクリック</li></ol>



<p class="wp-block-paragraph">それだけです。クエリが自動で再実行され、4ファイルすべてが結合された状態でテーブルが更新されます。</p>



<h3 class="wp-block-heading"><span id="toc31">ファイルが入れ替わった場合も自動追従</span></h3>



<p class="wp-block-paragraph">同じファイル名（例: <code>東京支店.xlsx</code>）の中身が更新された場合も、フォルダー内のファイルを差し替えて [すべて更新] を押すだけで反映されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>月</th><th>作業時間（従来）</th><th>作業時間（Power Query）</th></tr></thead><tbody><tr><td>1ヶ月目</td><td>30分（クエリ作成込み）</td><td>30分（初回構築）</td></tr><tr><td>2ヶ月目以降</td><td>20分 × 毎月</td><td>30秒（更新ボタンのみ）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">初回だけ30分かけてクエリを組めば、2ヶ月目以降は30秒で名簿マスタが更新できます。年間で考えると、数時間〜十数時間の節約になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc32">Excelのフラッシュフィル vs Power Query の使い分けフロー</span></h2>



<p class="wp-block-paragraph">ここまでで「両方便利なのはわかったけれど、どちらを使えばいいの？」と思いますよね。判断フローを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>質問</th><th>YESなら</th><th>NOなら</th></tr></thead><tbody><tr><td>Q1. 今回1回だけの作業ですか？</td><td>フラッシュフィル</td><td>Q2へ</td></tr><tr><td>Q2. データソースは1つのシート内ですか？</td><td>フラッシュフィル or Power Query</td><td>Power Query</td></tr><tr><td>Q3. 複数ファイル / フォルダーをまたぎますか？</td><td>Power Query</td><td>フラッシュフィル</td></tr><tr><td>Q4. 来月以降も同じ処理を繰り返しますか？</td><td>Power Query</td><td>フラッシュフィル</td></tr><tr><td>Q5. パターンが複雑で推測しづらいですか？</td><td>Power Query</td><td>フラッシュフィル</td></tr></tbody></table></figure>



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



<ul class="wp-block-list"><li><strong>「1回きり、1シート内、シンプルなパターン」</strong>= フラッシュフィル</li><li><strong>「繰り返し、複数ファイル、複雑な変換」</strong>= Power Query</li></ul>



<p class="wp-block-paragraph">まずはフラッシュフィルから始めて、繰り返しが必要になった段階で Power Query にステップアップする、という流れが学習効率も高くておすすめです。</p>



<h2 class="wp-block-heading"><span id="toc34">まとめ｜Excelの名簿整理で時間を奪わせない</span></h2>



<p class="wp-block-paragraph">ここまで、Excelの<strong>フラッシュフィル</strong>と<strong>Power Query</strong>を使った名簿整理の5実例を見てきました。最後にポイントを整理しておきます。</p>



<ul class="wp-block-list"><li><strong>フラッシュフィル</strong> = Ctrl+Eで1回きりの整形を爆速化<ul><li>姓名分割、ドメイン抽出、表記ゆれ統一など</li><li>効かないときは追加サンプル投入 or Power Queryへ</li></ul></li><li><strong>Power Query</strong> = クエリで処理を保存して繰り返し再利用<ul><li>フォルダーから複数ファイル一括結合</li><li>[すべて更新]ボタンで毎月の処理を30秒に短縮</li></ul></li><li><strong>使い分け基準</strong> = 「1回きり vs 繰り返し」「1ファイル vs 複数ファイル」</li></ul>



<p class="wp-block-paragraph">関数で力技を続けてきた方ほど、フラッシュフィルとPower Queryに乗り換えたときの時短効果が大きいです。明日の業務で、まずは姓名分割をフラッシュフィルで試してみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc35">次に読みたい記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-left/">ExcelのLEFT関数の使い方</a>：関数版で姓名分割を書く場合の基礎</li><li><a href="https://mashukabu.com/excel-function-howto-use-mid/">ExcelのMID関数の使い方</a>：メールアドレスからドメイン抽出の関数版</li><li><a href="https://mashukabu.com/excel-function-howto-use-find/">ExcelのFIND関数の使い方</a>：文字位置を検索する関数の基礎</li><li><a href="https://mashukabu.com/excel-function-howto-use-substitute/">ExcelのSUBSTITUTE関数の使い方</a>：文字列置換の関数版</li><li><a href="https://mashukabu.com/power-query-getting-started/">Power Query入門</a>：Power Queryをもう一歩深く学びたい方向け</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-flash-fill-power-query-name-list/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのセル結合をやめて「中央揃え」にする方法｜結合が引き起こす3つのトラブルと代替策</title>
		<link>https://mashukabu.com/spreadsheet-cell-merge-center-alignment/</link>
					<comments>https://mashukabu.com/spreadsheet-cell-merge-center-alignment/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 04 Jun 2026 14:06:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[セル結合]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[トラブル解決]]></category>
		<category><![CDATA[中央揃え]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=7238</guid>

					<description><![CDATA[スプレッドシートのセル結合はフィルター・並べ替え・GAS処理を壊す原因になります。本記事では結合をやめて「水平方向の配置→中央」で見た目を整える方法と、既存ファイルの結合を一括解除する手順、ARRAYFORMULA・QUERY で困らないデータ整形テクニックを解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「見出しの行をきれいに見せたい」「部署名を中央に揃えたい」――そんなとき、スプレッドシートのセル結合をつい使っていませんか。</p>



<p class="wp-block-paragraph">ボタン一つで表が整うので、申請書や進捗一覧表を作るときに便利ですよね。</p>



<p class="wp-block-paragraph">ところが結合した表を使い込むほど、トラブルが増えてきます。フィルターで絞り込めない、並べ替えるとエラーが出る、GASで値が取れない、といった不具合が次々に起きるのです。</p>



<p class="wp-block-paragraph">総務省も2020年に、統計表の作成ルールでセル結合の使用を「推奨しない」と明言しました。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのセル結合が引き起こす3つのトラブルを整理します。そのうえで結合せずに見た目を整える「中央揃え」の方法を、操作手順つきで解説します。</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-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">なぜスプレッドシートのセル結合は問題なのか</a><ol><li><a href="#toc2" tabindex="0">結合セルは「左上だけが値を持つ」</a></li><li><a href="#toc3" tabindex="0">総務省も「機械判読できない」と指摘している</a></li><li><a href="#toc4" tabindex="0">スプレッドシート特有の3種類の結合</a></li></ol></li><li><a href="#toc5" tabindex="0">トラブル1｜フィルターで先頭行しかヒットしない</a><ol><li><a href="#toc6" tabindex="0">結合した部署列はフィルターで空白扱いになる</a></li><li><a href="#toc7" tabindex="0">FILTER関数を使っても同じことが起きる</a></li></ol></li><li><a href="#toc8" tabindex="0">トラブル2｜並べ替えで「結合セルのサイズが同じでない」エラー</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">トラブル3｜GASやQUERY・ARRAYFORMULAで値が取れない</a><ol><li><a href="#toc13" tabindex="0">GASのgetValue()は空白を返す</a></li><li><a href="#toc14" tabindex="0">QUERY関数で集計すると結合の影響を受ける</a></li><li><a href="#toc15" tabindex="0">ARRAYFORMULAでも同じ問題が発生する</a></li></ol></li><li><a href="#toc16" tabindex="0">結合をやめて「水平方向の配置→中央」で見た目を整える方法</a><ol><li><a href="#toc17" tabindex="0">「水平方向の配置→中央」の操作手順</a></li><li><a href="#toc18" tabindex="0">ExcelとGoogleスプレッドシートの違い</a></li><li><a href="#toc19" tabindex="0">列幅を調整して見出しを整える</a></li></ol></li><li><a href="#toc20" tabindex="0">既存ファイルのセル結合を一括解除する手順</a><ol><li><a href="#toc21" tabindex="0">シート全体の結合を一括解除する</a></li><li><a href="#toc22" tabindex="0">解除すると空白セルが大量に出現する</a></li><li><a href="#toc23" tabindex="0">部分的に解除したいときの操作</a></li></ol></li><li><a href="#toc24" tabindex="0">結合解除後にデータを整える3つのテクニック</a><ol><li><a href="#toc25" tabindex="0">テクニック1｜数式コピーで空白セルを上の値で埋める</a></li><li><a href="#toc26" tabindex="0">テクニック2｜ARRAYFORMULAで空白を埋める</a></li><li><a href="#toc27" tabindex="0">テクニック3｜GASで空白を埋める</a></li><li><a href="#toc28" tabindex="0">おまけ｜条件付き書式で「結合っぽく」見せる</a></li></ol></li><li><a href="#toc29" tabindex="0">それでも結合を使ってよい3つの場面</a><ol><li><a href="#toc30" tabindex="0">場面1｜印刷専用の出力テーブル</a></li><li><a href="#toc31" tabindex="0">場面2｜タイトル行や注釈領域</a></li><li><a href="#toc32" tabindex="0">場面3｜セル幅で収まらない注釈やアラート</a></li></ol></li><li><a href="#toc33" tabindex="0">まとめ｜セル結合をやめるとデータが資産になる</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">なぜスプレッドシートのセル結合は問題なのか</span></h2>



<p class="wp-block-paragraph">スプレッドシートのセル結合は「見た目をきれいにする機能」と思われがちです。しかし内部の動きを見ると、データとしてはかなり扱いにくい状態が作られます。</p>



<p class="wp-block-paragraph">まずは結合セルの正体と、なぜ官公庁までもが使用を控えるよう呼びかけているのかを押さえておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc2">結合セルは「左上だけが値を持つ」</span></h3>



<p class="wp-block-paragraph">2つ以上のセルを結合すると、見た目では大きな1つのセルに見えます。</p>



<p class="wp-block-paragraph">しかしスプレッドシートの内部では「左上のセルだけが値を持ち、残りは空白」という扱いになっています。</p>



<p class="wp-block-paragraph">たとえばA2〜A4を結合して「営業部」と入力した場合、スプレッドシートが認識しているデータはこうです。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内部の値</th></tr></thead><tbody><tr><td>A2</td><td>営業部</td></tr><tr><td>A3</td><td>（空白）</td></tr><tr><td>A4</td><td>（空白）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">見た目は1つのセルでも、データ的には「営業部」と「空白2つ」の3レコードです。</p>



<p class="wp-block-paragraph">この食い違いが、後ほど紹介するフィルター・並べ替え・GAS・関数のすべてで、トラブルの引き金になります。</p>



<h3 class="wp-block-heading"><span id="toc3">総務省も「機械判読できない」と指摘している</span></h3>



<p class="wp-block-paragraph">行政の世界でもこの問題は早くから認識されていました。</p>



<p class="wp-block-paragraph">総務省は2020年12月、「統計表における機械判読可能なデータの表記方法の統一ルール」を策定しました。そのなかでセル結合の使用を控えるよう明記しています。</p>



<p class="wp-block-paragraph">理由はシンプルで、結合されたデータをCSVに書き出した瞬間に構造が崩れるからです。BIツール（Looker Studio）やGAS、Pythonに渡しても正常に動きません。結合の2行目以降が「空白」と判定され、自動処理がすべて誤動作してしまうのです。</p>



<p class="wp-block-paragraph">「自分は分析ツールなんて使わない」と思うかもしれません。しかしスプレッドシートのデータをChatGPTやGeminiに貼り付けて要約や分析を頼む場面は、これから増えていきますよ。</p>



<p class="wp-block-paragraph">セル結合を続けていると、これからの「AIに任せる仕事」のスタートラインに立てなくなってしまうのです。</p>



<h3 class="wp-block-heading"><span id="toc4">スプレッドシート特有の3種類の結合</span></h3>



<p class="wp-block-paragraph">スプレッドシートには結合の種類が3つあります。</p>



<ul class="wp-block-list"><li><strong>すべて結合</strong>: 縦横ともに1つのセルに統合</li><li><strong>水平方向に結合</strong>: 行ごとに横方向だけ結合</li><li><strong>垂直方向に結合</strong>: 列ごとに縦方向だけ結合</li></ul>



<p class="wp-block-paragraph">どの種類で結合しても、内部のデータ構造は同じです。左上のセルだけが値を持ち、残りは空白になります。</p>



<p class="wp-block-paragraph">「縦の結合だけだから大丈夫」「横の結合だから影響ない」ということはありません。どれを選んでも同じトラブルに巻き込まれますよ。</p>



<h2 class="wp-block-heading"><span id="toc5">トラブル1｜フィルターで先頭行しかヒットしない</span></h2>



<p class="wp-block-paragraph">スプレッドシートでセル結合をしていて最初にぶつかるのが、フィルター機能の不具合です。</p>



<p class="wp-block-paragraph">「営業部」だけを絞り込みたいのに、なぜか先頭の1行しか表示されない、という現象が起こります。</p>



<h3 class="wp-block-heading"><span id="toc6">結合した部署列はフィルターで空白扱いになる</span></h3>



<p class="wp-block-paragraph">スプレッドシートのフィルター機能は、1行ごとにセルの値を見て表示・非表示を判定します。</p>



<p class="wp-block-paragraph">結合の2行目以降は空白なので、「営業部」というフィルター条件にマッチしません。そのため非表示になってしまうのです。</p>



<p class="wp-block-paragraph">具体的に、こんなデータがあるとイメージしてください。</p>



<figure class="wp-block-table"><table><thead><tr><th>部署（結合あり）</th><th>氏名</th><th>売上</th></tr></thead><tbody><tr><td>営業部</td><td>山田</td><td>100</td></tr><tr><td>（結合のため空白）</td><td>鈴木</td><td>80</td></tr><tr><td>（結合のため空白）</td><td>佐藤</td><td>95</td></tr><tr><td>総務部</td><td>田中</td><td>70</td></tr><tr><td>（結合のため空白）</td><td>渡辺</td><td>60</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ここでフィルターを使って「営業部」を選択すると、表示されるのは1行目（山田）だけです。鈴木・佐藤は空白セルなので「営業部」に該当しないとみなされ、消えてしまいます。</p>



<p class="wp-block-paragraph">絞り込みたい本人にとっては「山田1人しか営業部にいないの？」という、想定外の結果になります。</p>



<h3 class="wp-block-heading"><span id="toc7">FILTER関数を使っても同じことが起きる</span></h3>



<p class="wp-block-paragraph">スプレッドシートには <a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a> という便利な関数があります。しかし結合セルが含まれている範囲を渡すと、同じ問題が起きます。</p>



<p class="wp-block-paragraph">たとえば <code>=FILTER(A2:C10, A2:A10="営業部")</code> のような書き方で、「営業部の行だけ抜き出す」処理を書いたとしますね。それでも、結合の2行目以降は空白判定されて取れません。</p>



<p class="wp-block-paragraph">つまりUIの「データ > フィルタを作成」だけでなく、関数で書いた絞り込みでも同じトラブルにぶつかるのです。</p>



<h2 class="wp-block-heading"><span id="toc8">トラブル2｜並べ替えで「結合セルのサイズが同じでない」エラー</span></h2>



<p class="wp-block-paragraph">2つめの大きなトラブルは、並べ替え機能が動かなくなることです。</p>



<p class="wp-block-paragraph">部署別に並べ替えたい、売上順に並べ替えたい――そういうときに、結合セルがあるとエラーで止まってしまいます。</p>



<h3 class="wp-block-heading"><span id="toc9">並べ替え時に表示されるエラーメッセージ</span></h3>



<p class="wp-block-paragraph">結合セルを含む範囲を選択して「データ > 範囲を並べ替え」を実行すると、こんなエラーが表示されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>並べ替える対象セルのサイズがすべて同じである必要があります</p></blockquote>



<p class="wp-block-paragraph">このエラーが出ると、並べ替えが一切実行できません。範囲を狭めて、結合のない列だけ並べ替えるしかない状態になります。</p>



<h3 class="wp-block-heading"><span id="toc10">なぜ並べ替えできないのか</span></h3>



<p class="wp-block-paragraph">並べ替えは「行を入れ替える」処理です。</p>



<p class="wp-block-paragraph">ところが結合セルがあると、結合の途中で行を分割できません。入れ替えると見た目が壊れてしまうのです。</p>



<p class="wp-block-paragraph">たとえば「営業部」で結合された3行のうち、1行目だけを売上トップとして上に移動させたとします。すると「営業部」のラベルが宙に浮いてしまうわけです。</p>



<p class="wp-block-paragraph">スプレッドシートはこの矛盾を避けるためにエラーで止めます。しかしユーザーから見ると「なんで並べ替えできないの？」というフラストレーションになりますよね。</p>



<h3 class="wp-block-heading"><span id="toc11">フィルターのソート機能でも同じ現象が起きる</span></h3>



<p class="wp-block-paragraph">データ > フィルタを作成で並べ替えようとしても、結合がある列の▼アイコンから「A → Z」を選ぶと同じエラーが出ます。</p>



<p class="wp-block-paragraph">UIから並べ替えるルートはすべて結合の影響を受けます。結局のところ、結合を解除しないと並べ替えはできない、という結論になります。</p>



<h2 class="wp-block-heading"><span id="toc12">トラブル3｜GASやQUERY・ARRAYFORMULAで値が取れない</span></h2>



<p class="wp-block-paragraph">3つめは、関数やGASで値が取れなくなるトラブルです。</p>



<p class="wp-block-paragraph">スプレッドシートは関数・GAS・外部APIで自動化しやすいのが強みです。しかし結合セルがあると、これらすべてが正しく動かなくなります。</p>



<h3 class="wp-block-heading"><span id="toc13">GASのgetValue()は空白を返す</span></h3>



<p class="wp-block-paragraph">Google Apps Script で結合セルから値を取得しようとすると、左上以外のセルは空文字を返します。</p>



<pre class="wp-block-code"><code>const sheet = SpreadsheetApp.getActiveSheet();
Logger.log(sheet.getRange(&quot;A2&quot;).getValue()); // &quot;営業部&quot;
Logger.log(sheet.getRange(&quot;A3&quot;).getValue()); // &quot;&quot;
Logger.log(sheet.getRange(&quot;A4&quot;).getValue()); // &quot;&quot;</code></pre>



<p class="wp-block-paragraph">A2〜A4を結合して「営業部」と入力している場合、A2は値を返しますが、A3とA4は空文字です。</p>



<p class="wp-block-paragraph">GASで一括処理を書くとき、たとえば「部署列が空白でない行だけ取得」というコードを書いたとします。すると結合の2行目以降が漏れてしまいます。</p>



<h3 class="wp-block-heading"><span id="toc14">QUERY関数で集計すると結合の影響を受ける</span></h3>



<p class="wp-block-paragraph">スプレッドシート定番の <a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a> も、結合セルの2行目以降を空白として扱います。</p>



<p class="wp-block-paragraph">たとえば部署別の合計売上を出すQUERYを書いたとします。</p>



<pre class="wp-block-code"><code>=QUERY(A2:C10, &quot;select A, sum(C) where A is not null group by A&quot;)</code></pre>



<p class="wp-block-paragraph">結合された「営業部」エリアは、A2の1行だけが営業部としてカウントされます。A3とA4の鈴木・佐藤の売上は「空白」グループに集計されてしまうわけです。</p>



<p class="wp-block-paragraph">意図と違う集計結果が出るのに、エラーは出ないので発見しづらいのが厄介ですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">ARRAYFORMULAでも同じ問題が発生する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a> で配列処理を書く場合も、結合範囲の2行目以降は空白として処理されます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A10=&quot;営業部&quot;, C2:C10, 0))</code></pre>



<p class="wp-block-paragraph">このような書き方で「営業部だけ売上を抽出」したくても、結合のA3・A4は条件に合致しないため0が返ります。</p>



<p class="wp-block-paragraph">ピボットテーブルでも同じ現象が起きます。結合の2行目以降が「空白」というカテゴリに集約されてしまい、意図しない集計結果が出てしまうのです。</p>



<h2 class="wp-block-heading"><span id="toc16">結合をやめて「水平方向の配置→中央」で見た目を整える方法</span></h2>



<p class="wp-block-paragraph">ここまで読んで「じゃあ見出しはどう見せればいいの？」と思いますよね。</p>



<p class="wp-block-paragraph">実はスプレッドシートには、結合せずに見た目を整える「中央揃え」という機能があります。</p>



<h3 class="wp-block-heading"><span id="toc17">「水平方向の配置→中央」の操作手順</span></h3>



<p class="wp-block-paragraph">スプレッドシートで結合の代わりに使うのが、ツールバーの「水平方向の配置」アイコンです。</p>



<p class="wp-block-paragraph">手順はこうです。</p>



<ol class="wp-block-list"><li>中央揃えしたいセル（または範囲）を選択する</li><li>ツールバーの「水平方向の配置」アイコンをクリックする</li><li>メニューから「中央」を選ぶ</li></ol>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-cell-merge-center-alignment/01_ui_center-alignment-menu.png/">_images/spreadsheet-cell-merge-center-alignment/01_ui_center-alignment-menu.png</a></p>



<p class="wp-block-paragraph">これで結合せずに、セルの中身が中央寄せになります。</p>



<p class="wp-block-paragraph">ショートカットを使うなら <strong>Ctrl+Shift+E</strong>（macOSは Cmd+Shift+E）で中央揃えが一発で適用されます。覚えておくと便利ですよ。</p>



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



<p class="wp-block-paragraph">Excel には「選択範囲内で中央」という、結合せずに複数セルにまたがって見た目だけ中央に寄せる機能があります。</p>



<p class="wp-block-paragraph">しかし <strong>スプレッドシートには「選択範囲内で中央」そのものは存在しません</strong>。</p>



<p class="wp-block-paragraph">そのため、スプレッドシートで「複数列にまたがって中央寄せに見せたい」場合は、次のように工夫します。</p>



<ul class="wp-block-list"><li>見出し用の行はセル幅を広げ、隣接セルを空のままにする</li><li>メインのセルだけに値を入れて、中央揃えを適用する</li><li>視覚的に「広いセルに中央寄せ」のように見える</li></ul>



<p class="wp-block-paragraph">これでデータ構造を壊さず、見た目の「中央揃え感」を再現できます。</p>



<h3 class="wp-block-heading"><span id="toc19">列幅を調整して見出しを整える</span></h3>



<p class="wp-block-paragraph">もう一つ便利なのが、列幅の調整です。</p>



<p class="wp-block-paragraph">見出しを目立たせたい場合は、見出しの列だけを広く取り、本文の列をそれより狭くすると、視覚的なバランスが取れます。</p>



<p class="wp-block-paragraph">「結合しないと中央揃えにできない」と思い込みがちです。しかし列幅・配置・フォントサイズの組み合わせで十分整った表が作れますよ。</p>



<h2 class="wp-block-heading"><span id="toc20">既存ファイルのセル結合を一括解除する手順</span></h2>



<p class="wp-block-paragraph">ここまで読んで「過去のファイルにも結合がたくさん入っているけど、どうしたら？」と思った方もいるはず。</p>



<p class="wp-block-paragraph">そういうときは、シート全体を選択して結合を一括解除するのが最速です。</p>



<h3 class="wp-block-heading"><span id="toc21">シート全体の結合を一括解除する</span></h3>



<p class="wp-block-paragraph">手順はこうです。</p>



<ol class="wp-block-list"><li>シートの左上の四角（行番号と列番号が交わる角）をクリックして、シート全体を選択する</li><li>ツールバーの「セルを結合」アイコンをクリックする</li><li>アイコンが解除状態に切り替わり、すべての結合が解除される</li></ol>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_ui_unmerge-all-sheet.png" alt="02 ui unmerge all sheet" /></figure>



<p class="wp-block-paragraph">これでシート内のすべての結合が、一度に解除できます。</p>



<p class="wp-block-paragraph">ショートカットを使うなら、まず <strong>Ctrl+A</strong>（macOSは Cmd+A）でシート全体を選択します。そのうえで「セルを結合」アイコンを押す流れになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">解除すると空白セルが大量に出現する</span></h3>



<p class="wp-block-paragraph">結合を解除した直後は、結合範囲の2行目以降が空白になっています。</p>



<p class="wp-block-paragraph">たとえばA2〜A4で「営業部」と結合していた場合、解除するとA2に「営業部」、A3とA4が空白という状態に戻ります。</p>



<p class="wp-block-paragraph">このままだとフィルター・並べ替え・QUERY のすべてが空白行を「該当なし」として扱います。そのため次のステップで空白を埋める必要があります。</p>



<h3 class="wp-block-heading"><span id="toc23">部分的に解除したいときの操作</span></h3>



<p class="wp-block-paragraph">シート全体ではなく、一部の範囲だけ結合を解除したいときは、結合された範囲をドラッグで選択してから「セルを結合」アイコンを押せばOKです。</p>



<p class="wp-block-paragraph">GASで一括解除するなら、こんなコードで全シートの結合を解除できます。</p>



<pre class="wp-block-code"><code>function unmergeAll() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const range = sheet.getDataRange();
  range.breakApart();
}</code></pre>



<p class="wp-block-paragraph"><code>breakApart()</code> メソッドは指定範囲のすべての結合を解除する関数です。大量のシートを一気に処理したいときに便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc24">結合解除後にデータを整える3つのテクニック</span></h2>



<p class="wp-block-paragraph">結合を解除しただけでは、2行目以降が空白のままです。</p>



<p class="wp-block-paragraph">この空白を埋めて、フィルター・QUERY・ARRAYFORMULAで正しく処理できる状態に整えていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc25">テクニック1｜数式コピーで空白セルを上の値で埋める</span></h3>



<p class="wp-block-paragraph">最も基本的な方法が、空白セルに上のセルの値をコピーすることです。</p>



<p class="wp-block-paragraph">手順はこうです。</p>



<ol class="wp-block-list"><li>A3セルに <code>=A2</code>（上のセル参照）を入力する</li><li>A3セルを選択した状態で、必要な範囲（A100まで等）までフィルダウンする</li><li>値だけ残したい場合は、範囲を選択して「コピー」→「特殊貼り付け」→「値のみ貼り付け」を実行</li></ol>



<p class="wp-block-paragraph">たった3ステップで、空白セルがすべて埋まります。フィルダウンはセルの右下の四角（フィルハンドル）をダブルクリックすると、隣接列の最終行まで一気に適用されますよ。</p>



<h3 class="wp-block-heading"><span id="toc26">テクニック2｜ARRAYFORMULAで空白を埋める</span></h3>



<p class="wp-block-paragraph"><code>=ARRAYFORMULA</code> を使って、空白セルに上の値を引き継ぐ別列を作る方法です。</p>



<p class="wp-block-paragraph">別の列（たとえばE列）に、次の数式を入れます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A100=&quot;&quot;, LOOKUP(ROW(A2:A100), IF(A2:A100&lt;&gt;&quot;&quot;, ROW(A2:A100)), A2:A100), A2:A100))</code></pre>



<p class="wp-block-paragraph">この式は「A列の空白セルには直前の値を、それ以外はA列の値をそのまま返す」という処理です。</p>



<p class="wp-block-paragraph">少し複雑ですが、運用上は補完用の列をE列に作っておくと整理しやすいです。QUERYやピボットからはE列を参照する形にすれば、管理が楽になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc27">テクニック3｜GASで空白を埋める</span></h3>



<p class="wp-block-paragraph">GASで一括補完する場合のコードはこうです。</p>



<pre class="wp-block-code"><code>function fillDownBlanks() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const range = sheet.getRange(&quot;A2:A100&quot;);
  const values = range.getValues();
  let lastValue = &quot;&quot;;
  for (let i = 0; i &lt; values.length; i++) {
    if (values[i][0] === &quot;&quot;) {
      values[i][0] = lastValue;
    } else {
      lastValue = values[i][0];
    }
  }
  range.setValues(values);
}</code></pre>



<p class="wp-block-paragraph">このコードを実行すると、A列の空白セルに直前の値が自動で入ります。</p>



<p class="wp-block-paragraph">セル結合を解除した直後にこのスクリプトを走らせると、データの整形が一瞬で終わりますよ。</p>



<h3 class="wp-block-heading"><span id="toc28">おまけ｜条件付き書式で「結合っぽく」見せる</span></h3>



<p class="wp-block-paragraph">「やっぱり見た目は結合っぽくしたい」というときは、条件付き書式で工夫する方法もあります。</p>



<p class="wp-block-paragraph">A列の値が直前のセルと同じなら、文字色を白にして見えなくするルールを設定します。</p>



<ol class="wp-block-list"><li>A2:A100を選択</li><li>「表示形式 > 条件付き書式」を開く</li><li>「カスタム数式」を選び、<code>=A2=A1</code> を入力</li><li>書式設定で文字色を白に設定</li></ol>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-cell-merge-center-alignment/03_ui_conditional-format-dialog.png/">_images/spreadsheet-cell-merge-center-alignment/03_ui_conditional-format-dialog.png</a></p>



<p class="wp-block-paragraph">これでデータは正常に入っているのに、画面上は「営業部」が3行のうち1行だけに見える状態になります。</p>



<p class="wp-block-paragraph">データ構造を壊さずに「結合っぽい見た目」を作れるので、印刷用にも使える便利なテクニックですよ。</p>



<h2 class="wp-block-heading"><span id="toc29">それでも結合を使ってよい3つの場面</span></h2>



<p class="wp-block-paragraph">ここまで「結合をやめよう」と書いてきましたが、絶対禁止というわけではありません。</p>



<p class="wp-block-paragraph">次の3つの場面では、結合を使っても問題ないですよ。</p>



<h3 class="wp-block-heading"><span id="toc30">場面1｜印刷専用の出力テーブル</span></h3>



<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="toc31">場面2｜タイトル行や注釈領域</span></h3>



<p class="wp-block-paragraph">シートの最上部に置く「2026年5月 売上レポート」のようなタイトル行は、データ範囲とは別なので結合してOKです。</p>



<p class="wp-block-paragraph">データ集計対象になるテーブル（A4から始まる本体テーブル）には結合を入れません。A1〜D1のタイトル行だけ結合する、というふうに使い分けますよ。</p>



<h3 class="wp-block-heading"><span id="toc32">場面3｜セル幅で収まらない注釈やアラート</span></h3>



<p class="wp-block-paragraph">「このシートは2026年5月時点のデータです。最新版は別シートを参照」のような長文の注釈を、複数セルにまたがって表示したい場合も結合が便利です。</p>



<p class="wp-block-paragraph">これも本体のデータ範囲とは無関係なので、影響は出ません。</p>



<p class="wp-block-paragraph">要するに「データ処理の対象になる範囲では結合を使わない」というルールを守りましょう。印刷やタイトル領域では自由に結合しても大丈夫ですよ。</p>



<h2 class="wp-block-heading"><span id="toc33">まとめ｜セル結合をやめるとデータが資産になる</span></h2>



<p class="wp-block-paragraph">スプレッドシートのセル結合が引き起こす3つのトラブルと、結合せずに整える「中央揃え」の方法を解説しました。</p>



<p class="wp-block-paragraph">ポイントを振り返ります。</p>



<figure class="wp-block-table"><table><thead><tr><th>トラブル</th><th>影響</th></tr></thead><tbody><tr><td>トラブル1｜フィルター</td><td>結合の先頭行しかヒットしない</td></tr><tr><td>トラブル2｜並べ替え</td><td>「結合セルのサイズが同じでない」エラー</td></tr><tr><td>トラブル3｜GAS・QUERY・ARRAYFORMULA</td><td>結合の2行目以降が空白扱いになる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">代わりに使うべき機能はこうです。</p>



<ul class="wp-block-list"><li><strong>見た目を整える</strong>: 「水平方向の配置→中央」（Ctrl+Shift+E / Cmd+Shift+E）</li><li><strong>既存の結合解除</strong>: シート全体を選択して「セルを結合」アイコンをトグル</li><li><strong>解除後のデータ整形</strong>: 数式コピー、ARRAYFORMULA、GAS の3パターン</li></ul>



<p class="wp-block-paragraph">セル結合をやめると、スプレッドシートのデータが <a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a> や <a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA</a>、<a href="https://mashukabu.com/spreadsheet-pivot-table/">ピボットテーブル</a> で素直に扱えるようになりますよ。</p>



<p class="wp-block-paragraph">「見た目をきれいにすること」と「データとして使えること」は両立できます。今日からセル結合を卒業して、データを資産として使える状態に整えていきましょう。</p>



<p class="wp-block-paragraph">Excel版で同じテーマを扱った <a href="https://mashukabu.com/excel-cell-merge-problems-alternatives/">Excelでセル結合を使ってはいけない理由と代替方法3選</a> もあわせて読むと、Excelとスプレッドシートそれぞれのベストプラクティスをまとめて理解できますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-cell-merge-center-alignment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Excelのフラッシュフィル×Power Queryで名簿整理が10倍速になる方法</title>
		<link>https://mashukabu.com/excel-flash-fill-power-query-meibo/</link>
					<comments>https://mashukabu.com/excel-flash-fill-power-query-meibo/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 16 May 2026 23:15:49 +0000</pubDate>
				<category><![CDATA[仕事効率化]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Power Query]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[フラッシュフィル]]></category>
		<category><![CDATA[モダンExcel]]></category>
		<category><![CDATA[名簿]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6829</guid>

					<description><![CDATA[Excelのフラッシュフィル（Ctrl+E）とPower Queryを使い分けて、名簿整理を10倍速にする実務テクを解説。姓名分割・フリガナ抽出はフラッシュフィルで一瞬、複数シート結合・重複削除・表記ゆれ統一はPower Queryで根本解決。使い分け早見表とCtrl+Eが効かないときの原因別対処法まで網羅しています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">毎月の名簿整理で疲れていませんか。各部署から集まったExcel名簿の姓名分割、表記ゆれ、重複行の削除に半日つぶれる、というのは事務職あるあるです。</p>



<p class="wp-block-paragraph">実はその作業、Excelの「フラッシュフィル」と「Power Query」を使い分けるだけで、大幅に時短できます。手作業や複雑な関数でやりくりしていたものが、Ctrl+Eひとつかボタン数回で片付くようになります。</p>



<p class="wp-block-paragraph">この記事では、同僚に教える感覚で「いつフラッシュフィルを使い、いつPower Queryに切り替えるか」を、名簿整理に絞って具体的に解説します。使い分け早見表、実務シナリオ別の手順、Ctrl+Eが効かないときの原因別対処法までセットでどうぞ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Excelのフラッシュフィルとは？名簿整理が10倍速になる理由</a><ol><li><a href="#toc2" tabindex="0">フラッシュフィルとPower Queryをセットで使う発想</a></li><li><a href="#toc3" tabindex="0">動作環境（Excel 2013以降／Win版推奨）</a></li></ol></li><li><a href="#toc4" tabindex="0">フラッシュフィル vs Power Query｜使い分け早見表</a><ol><li><a href="#toc5" tabindex="0">1回きりの整形ならフラッシュフィル</a></li><li><a href="#toc6" tabindex="0">繰り返し使うならPower Query</a></li></ol></li><li><a href="#toc7" tabindex="0">フラッシュフィルで一発解決する名簿整理パターン4選</a><ol><li><a href="#toc8" tabindex="0">パターン1：姓と名を別の列に分割する</a></li><li><a href="#toc9" tabindex="0">パターン2：氏名から姓だけ・名だけ抽出する</a></li><li><a href="#toc10" tabindex="0">パターン3：メールアドレスを小文字に統一する</a></li><li><a href="#toc11" tabindex="0">パターン4：電話番号のハイフン付け足し</a></li></ol></li><li><a href="#toc12" tabindex="0">Power Queryで根本解決する名簿整理パターン3選</a><ol><li><a href="#toc13" tabindex="0">パターン1：複数シートの名簿を1つに結合する</a></li><li><a href="#toc14" tabindex="0">パターン2：表記ゆれを置換ルールで一括統一する</a></li><li><a href="#toc15" tabindex="0">パターン3：重複行を削除する</a></li></ol></li><li><a href="#toc16" tabindex="0">フラッシュフィルが効かないときの対処法</a><ol><li><a href="#toc17" tabindex="0">自動認識がオフになっている</a></li><li><a href="#toc18" tabindex="0">規則性が読み取れないパターン</a></li><li><a href="#toc19" tabindex="0">隣接列にデータがない・離れている</a></li></ol></li><li><a href="#toc20" tabindex="0">まとめ｜名簿整理を10倍速にするための判断基準</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Excelのフラッシュフィルとは？名簿整理が10倍速になる理由</span></h2>



<p class="wp-block-paragraph">フラッシュフィルは、Excelが入力パターンを自動で読み取り、隣接する列の残りのセルを一気に埋めてくれる機能です。たとえば「山田太郎」の隣に「山田」と1件入力するだけで、残りの行も自動で姓だけ抜き出してくれます。</p>



<p class="wp-block-paragraph">関数を書かなくていい、IFやLEFT・MID・FINDの組み合わせで悩まなくていい。これが名簿整理を速める第一歩です。Excel 2013以降に標準搭載されているので、職場の環境がそれ以降なら追加インストールも不要です。</p>



<p class="wp-block-paragraph">出典: <a href="https://support.microsoft.com/ja-jp/office/3f9bcf1e-db93-4890-94a0-1578341f73f7">Microsoft公式「データを Excel のフラッシュ フィルを使って入力する」</a></p>



<h3 class="wp-block-heading"><span id="toc2">フラッシュフィルとPower Queryをセットで使う発想</span></h3>



<p class="wp-block-paragraph">フラッシュフィルは「目の前の1ファイルを今すぐ整える」のが得意な機能です。一方でPower Queryは「同じ整形ルールを毎月くり返し使う」「複数シートを1つに結合する」のが得意です。</p>



<p class="wp-block-paragraph">つまり両者は競合する機能ではなく、役割が違う相棒です。1回きりの作業はフラッシュフィル、繰り返し作業はPower Query。この使い分けだけで作業時間が大幅に変わります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/05/03_data_use-case-comparison.png" alt="03 data use case comparison" /></figure>



<h3 class="wp-block-heading"><span id="toc3">動作環境（Excel 2013以降／Win版推奨）</span></h3>



<p class="wp-block-paragraph">フラッシュフィルはExcel 2013以降に搭載されています。Power QueryはExcel 2016以降のWindows版に標準搭載されており、「データ」タブの「データの取得と変換」グループから利用できます。Excel 2010・2013のWindows版ではアドインとして提供されていた経緯があるため、古いPCでは「Power Query」タブが別表示になっていることもあります。</p>



<p class="wp-block-paragraph">Mac版Excelの場合、Power Queryは一部のデータソース（フォルダーコネクタなど）が制限されています。本格活用ならWindows版がおすすめです。Power Queryを含むモダンExcelの全体像は<a href="https://mashukabu.com/modern-excel-explanation/">モダンExcelとは？Power Query・Power Pivotから最新機能まで解説</a>で整理していますので、あわせてどうぞ。</p>



<h2 class="wp-block-heading"><span id="toc4">フラッシュフィル vs Power Query｜使い分け早見表</span></h2>



<p class="wp-block-paragraph">判断に迷ったら、この表だけ覚えておけばOKです。</p>



<figure class="wp-block-table"><table><thead><tr><th>観点</th><th>フラッシュフィル</th><th>Power Query</th></tr></thead><tbody><tr><td>得意な作業</td><td>1回限りの整形</td><td>繰り返し使う整形</td></tr><tr><td>操作の手軽さ</td><td>Ctrl+Eで一発</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>ボタン1つ</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>



<h3 class="wp-block-heading"><span id="toc5">1回きりの整形ならフラッシュフィル</span></h3>



<p class="wp-block-paragraph">「いま目の前の名簿だけ、姓と名に分けたい」「メアドを小文字にしたい」のような単発作業なら、迷わずフラッシュフィルです。<code>Ctrl+E</code>を押せば3秒で終わります。テンプレ化する必要がない、その場限りの整形こそフラッシュフィルの独壇場です。</p>



<h3 class="wp-block-heading"><span id="toc6">繰り返し使うならPower Query</span></h3>



<p class="wp-block-paragraph">「毎月5支店から送られてくる名簿を統合して、表記ゆれを直して、重複を削除する」このような繰り返し作業はPower Queryの独壇場です。一度ルールを作れば、翌月は「すべて更新」ボタン1つで完了します。担当者が変わったとしてもクエリが手順書代わりになるので、引き継ぎが格段に楽になります。</p>



<h2 class="wp-block-heading"><span id="toc7">フラッシュフィルで一発解決する名簿整理パターン4選</span></h2>



<p class="wp-block-paragraph">ここからは、フラッシュフィルが特に効くシーンを具体的に紹介します。どれも名簿整理の現場ですぐに使えるワザです。</p>



<h3 class="wp-block-heading"><span id="toc8">パターン1：姓と名を別の列に分割する</span></h3>



<p class="wp-block-paragraph">A列に「山田 太郎」のようにスペース区切りの氏名が並んでいるとき、B列とC列に姓と名を分けたいケースです。</p>



<ol class="wp-block-list"><li>B2セルに「山田」と手入力します</li><li>B3セルにカーソルを置いて<code>Ctrl + E</code>を押します</li><li>B列の残りに姓が自動で埋まります</li><li>C列でも同様に、C2に「太郎」と入力して<code>Ctrl + E</code>で完了です</li></ol>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/05/01_result_flash-fill-name-split.png" alt="01 result flash fill name split" /></figure>



<p class="wp-block-paragraph">姓と名のあいだが全角スペースでも半角スペースでも、見出し行を除いた最初の例さえ正しければフラッシュフィルが区切りを学習してくれます。</p>



<h3 class="wp-block-heading"><span id="toc9">パターン2：氏名から姓だけ・名だけ抽出する</span></h3>



<p class="wp-block-paragraph">スペース区切りでない場合でも、フラッシュフィルは「最初の2文字」「最後の2文字」のようなパターンも学習します。</p>



<pre class="wp-block-code"><code>A列          B列（フラッシュフィル）
山田太郎  →  山田
佐藤花子  →  佐藤</code></pre>



<p class="wp-block-paragraph">ただし「中村」と「中村山」のように姓の文字数が混在する名簿では誤認識することがあります。その場合は手動で2〜3件を例示してから<code>Ctrl + E</code>してください。「斉藤」「斎藤」「齋藤」のような字種混在も、最初の例で代表的なパターンを示してあげると精度が上がります。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン3：メールアドレスを小文字に統一する</span></h3>



<p class="wp-block-paragraph">外部から集めた名簿は、メアドの大文字小文字が混在していることがよくあります。</p>



<ol class="wp-block-list"><li>B2セルに、A2セル「Tanaka@Example.com」を小文字化した「tanaka@example.com」を入力します</li><li>B3セルで<code>Ctrl + E</code>を押します</li><li>B列全体が小文字に統一されます</li></ol>



<p class="wp-block-paragraph">LOWER関数を使う方法もありますが、フラッシュフィルなら関数を覚える必要すらありません。逆に大文字へ統一したい場合は、最初の例を「TANAKA@EXAMPLE.COM」のように入力すればUPPER相当の整形になります。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン4：電話番号のハイフン付け足し</span></h3>



<p class="wp-block-paragraph">「09012345678」のようなハイフンなしの電話番号に、「090-1234-5678」とハイフンを付けたいケースです。</p>



<ol class="wp-block-list"><li>B2セルに「090-1234-5678」と手入力します</li><li>次の行で<code>Ctrl + E</code>を押します</li><li>全行に同じ区切りでハイフンが入ります</li></ol>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/excel-flash-fill-power-query-meibo/02_result_flash-fill-phone.png/">_images/excel-flash-fill-power-query-meibo/02_result_flash-fill-phone.png</a></p>



<p class="wp-block-paragraph">逆にハイフン削除も同じ手順で可能です。「表記が統一されていない名簿」を1分で直せる便利ワザです。固定電話の「03」始まりと携帯の「090」始まりが混在する場合は、片方の例を2件追加で示すと両方とも正しく整形されます。</p>



<h2 class="wp-block-heading"><span id="toc12">Power Queryで根本解決する名簿整理パターン3選</span></h2>



<p class="wp-block-paragraph">ここからは、フラッシュフィルでは対応できない「複数ファイル統合」「ルール化」「重複削除」を、Power Queryで根本解決します。</p>



<p class="wp-block-paragraph">Power Queryの基本操作にまだ自信がない方は、まず<a href="https://mashukabu.com/power-query-getting-started/">Power Query入門｜コピペ集計を卒業する4つの自動化レシピ</a>を先に読んでおくと、この先の手順がスムーズに理解できますよ。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン1：複数シートの名簿を1つに結合する</span></h3>



<p class="wp-block-paragraph">各支店から届いた名簿シートを1つに統合するパターンです。</p>



<ol class="wp-block-list"><li>すべての名簿を1つのフォルダにまとめます</li><li>Excelで「データ」タブ →「データの取得」→「ファイルから」→「フォルダーから」を選びます</li><li>フォルダを指定して「結合」→「データの結合と変換」を実行します</li><li>Power Queryエディターで列構成を整え、「閉じて読み込む」をクリックします</li></ol>



<p class="wp-block-paragraph">翌月以降は、同じフォルダに新しい名簿を追加して「すべて更新」を押すだけで、自動的に最新データに置き換わります。支店ごとに列の順番が違っても、Power Queryが列名で自動マッチングしてくれるのでズレに強いのも実務的なメリットです。</p>



<p class="wp-block-paragraph">※ Power Queryのフォルダー結合操作画面は、デスクトップ版Excel（Windows）でご確認ください。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2：表記ゆれを置換ルールで一括統一する</span></h3>



<p class="wp-block-paragraph">「(株)」と「株式会社」、「Tokyo」と「東京」のような表記ゆれを一括で揃えるパターンです。</p>



<ol class="wp-block-list"><li>Power Queryエディターで対象列を選択します</li><li>「変換」タブ →「値の置換」をクリックします</li><li>検索する値と置換後の値を入力します</li><li>「OK」をクリックすると、「適用したステップ」に履歴が残ります</li></ol>



<pre class="wp-block-code"><code>変換例:
(株)テクノ商事 → 株式会社テクノ商事
(有)山田工業   → 有限会社山田工業</code></pre>



<p class="wp-block-paragraph">このルールは一度設定すれば、次回以降も自動で適用されます。Excelの置換機能と違って操作をやり直す必要がありません。複数パターンを置換したいときは、ステップを追加するだけで履歴として積み上がるので、修正・取り消しもクリック数回で対応できます。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン3：重複行を削除する</span></h3>



<p class="wp-block-paragraph">同じ人が複数行に登録されている名簿の重複を消すパターンです。</p>



<ol class="wp-block-list"><li>Power Queryエディターで重複判定したい列を選択します</li><li>「ホーム」タブ →「行の削減」→「重複の削除」をクリックします</li><li>「適用したステップ」に「削除された重複」が追加されます</li></ol>



<p class="wp-block-paragraph">複数列を組み合わせた重複判定もできます。たとえば「氏名」と「メールアドレス」の両方が一致する行だけ削除する、という指定も可能です。Excel本体の「重複の削除」と違って、元データを壊さずクエリ側で処理してくれるのも安心ポイントです。</p>



<h2 class="wp-block-heading"><span id="toc16">フラッシュフィルが効かないときの対処法</span></h2>



<p class="wp-block-paragraph">「Ctrl+Eを押しても反応しない」「予測がおかしい」というトラブルは、原因がだいたい決まっています。原因別に切り分けていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc17">自動認識がオフになっている</span></h3>



<p class="wp-block-paragraph">「ファイル」→「オプション」→「詳細設定」→「自動的にフラッシュ フィルを行う」のチェックを確認してください。オフになっていると<code>Ctrl + E</code>を押しても期待通りに動きません。会社支給のPCでは管理者がこの設定を変更しているケースもあるので、最初に確認しておくと安心です。</p>



<p class="wp-block-paragraph">出典: <a href="https://support.microsoft.com/ja-jp/office/3f9bcf1e-db93-4890-94a0-1578341f73f7">Microsoft公式「データを Excel のフラッシュ フィルを使って入力する」</a></p>



<h3 class="wp-block-heading"><span id="toc18">規則性が読み取れないパターン</span></h3>



<p class="wp-block-paragraph">フラッシュフィルは1〜数件の例から「規則性」を学習します。例が少なすぎたり、パターンが曖昧だったりすると誤認識します。</p>



<pre class="wp-block-code"><code>失敗しやすい例:
1件目: 山田太郎 → 山田
2件目: 佐々木一郎 → 佐々木

→ Excelは「最初の2文字を取る」と誤学習する可能性あり</code></pre>



<p class="wp-block-paragraph">対処法は「例を3〜4件入力してから<code>Ctrl + E</code>を押す」ことです。それでもうまくいかない場合は、TRIM関数やASC関数で前処理してからフラッシュフィルする、という二段構えが効きます。なおPHONETIC関数でふりがなを取り出すワザは、Excel内で入力された日本語にしか機能しない点に注意してください。外部システムからエクスポートしたデータには読み仮名情報が含まれていないため、PHONETICでは空欄になります。</p>



<h3 class="wp-block-heading"><span id="toc19">隣接列にデータがない・離れている</span></h3>



<p class="wp-block-paragraph">フラッシュフィルは「隣接する列」のパターンしか学習できません。元データのA列と入力するB列のあいだに空白列があると、Ctrl+Eを押しても何も起こらない、というのはよくあるつまずきポイントです。空白列を削除するか、いったん隣に貼り直してから実行してください。</p>



<h2 class="wp-block-heading"><span id="toc20">まとめ｜名簿整理を10倍速にするための判断基準</span></h2>



<p class="wp-block-paragraph">最後に、現場で迷わないための判断基準をまとめます。</p>



<ul class="wp-block-list"><li><strong>今日1回だけの作業</strong> → フラッシュフィル（<code>Ctrl + E</code>）</li><li><strong>来月も同じ作業をする</strong> → Power Query</li><li><strong>複数ファイルを統合したい</strong> → Power Query一択</li><li><strong>重複削除や表記ゆれ統一</strong> → Power Query</li><li><strong>姓名分割やメアド整形</strong> → フラッシュフィルが最速</li><li><strong>数千行以上のデータ</strong> → Power Queryのほうが安定</li></ul>



<p class="wp-block-paragraph">両者は競合ではなく相棒です。「いま目の前を片付ける」のがフラッシュフィル、「来月の自分を楽にする」のがPower Queryと覚えておけば、名簿整理で半日つぶす必要はなくなります。</p>



<p class="wp-block-paragraph">Power Queryをこれから本格的に使ってみたい方は、入門編の<a href="https://mashukabu.com/power-query-getting-started/">Power Query入門｜コピペ集計を卒業する4つの自動化レシピ</a>から始めると、この記事の内容がそのまま実務に直結しますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-flash-fill-power-query-meibo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Excel】WRAPCOLS関数の使い方｜1列のリストを複数列のグリッドに整形する</title>
		<link>https://mashukabu.com/excel-wrapcols/</link>
					<comments>https://mashukabu.com/excel-wrapcols/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 09 May 2026 23:17:23 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[WRAPCOLS]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6744</guid>

					<description><![CDATA[ExcelのWRAPCOLS関数の使い方を解説します。1列に並んだリストを縦方向に折り返して複数列のグリッドに整形できる新関数で、商品リストの一覧表示や名簿の体裁整えに便利です。構文と引数（vector・wrap_count・pad_with）の使い方、WRAPROWSとの違い、Microsoft 365 / Excel 2024 でのバージョン対応、関連関数（TOCOL・TOROW・SEQUENCE）との組み合わせまで実例で整理しました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「メンバー名簿が縦1列にずらっと並んでいて、3列のグリッドに整形して見やすくしたい」「商品コードのリストを縦長の1列から複数列のレイアウトに変えたい」と思ったことはありませんか？</p>



<p class="wp-block-paragraph">そんなときに便利なのが、Microsoft 365 と Excel 2024 で使える <strong>WRAPCOLS関数</strong> です。1列の配列を指定した行数で <strong>縦方向に折り返して</strong> 2次元の配列に整形してくれます。スピル機能と組み合わせれば、数式ひとつでレイアウトを一瞬で変更できます。</p>



<p class="wp-block-paragraph">この記事では、WRAPCOLS関数の構文から、商品リストや名簿を複数列のグリッドに整形する実例、pad_with引数の使い方、WRAPROWSとの違い、バージョン対応の注意点までをまとめて整理します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのWRAPCOLS関数とは？</a></li><li><a href="#toc2" tabindex="0">WRAPCOLS関数の書き方（構文と引数）</a></li><li><a href="#toc3" tabindex="0">WRAPCOLS関数の動作イメージ</a></li><li><a href="#toc4" tabindex="0">実務例1：商品リストを3列のグリッドに整形する</a></li><li><a href="#toc5" tabindex="0">実務例2：pad_with引数で端数セルを埋める</a></li><li><a href="#toc6" tabindex="0">実務例3：SEQUENCE関数と組み合わせて連番グリッドを作る</a></li><li><a href="#toc7" tabindex="0">WRAPCOLSとWRAPROWSの違い</a></li><li><a href="#toc8" tabindex="0">バージョン対応の注意点</a></li><li><a href="#toc9" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc10" tabindex="0">関連関数</a></li><li><a href="#toc11" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのWRAPCOLS関数（読み方：ラップコルズ）は、<strong>1次元配列の要素を縦方向に折り返して2次元配列に整形する関数</strong>です。関数名は「<strong>Wrap</strong>（折り返す）+ <strong>Cols</strong>（列）」の略で、文字どおり「列方向に折り返す」動作をイメージするとわかりやすいです。</p>



<p class="wp-block-paragraph">ざっくり言うと、縦1列または横1行に並んだデータを渡すと、指定した数で <strong>上から下へ折り返し</strong>、次の列へ移ってまた上から下へ、というふうに2次元のグリッド配列を返してくれる関数です。スピル対応なので、数式を1つのセルに入れるだけで結果が複数のセルに自動展開されます。</p>



<p class="wp-block-paragraph">WRAPCOLS関数は、Microsoft 365 と Excel 2024 で導入された <strong>比較的新しい関数</strong> です。Excel 2021 以前のバージョンでは利用できないので、共有先の環境にも注意が必要です（後述）。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>「スピル（spill）」とは、1つの数式の結果が複数のセルに自動的に展開される機能のことです。WRAPCOLS関数は2次元配列を返すため、結果が縦横に広がります。展開先のセルに既存データがあると <code>#SPILL!</code> エラーになるので、出力範囲は空けておきましょう。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=WRAPCOLS(vector, wrap_count, [pad_with])</code></pre>



<p class="wp-block-paragraph">引数は3つで、最後の pad_with は省略可能です。</p>



<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次元配列またはセル参照（縦1列または横1行）</td></tr><tr><td>wrap_count</td><td>必須</td><td>各列に入れる要素数（1以上の整数）</td></tr><tr><td>pad_with</td><td>任意</td><td>端数セルを埋める値（省略時は <code>#N/A</code>）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は2次元配列です。要素数が wrap_count で割り切れない場合、最後の列の余ったセルは pad_with で指定した値で埋められます。pad_with を省略すると <code>#N/A</code> になります。</p>



<h2 class="wp-block-heading"><span id="toc3">WRAPCOLS関数の動作イメージ</span></h2>



<p class="wp-block-paragraph">WRAPCOLS関数は、要素を <strong>上から下へ</strong> 順番に配置していきます。wrap_count に達したら次の列に移り、また上から下へ配置する、という動きです。</p>



<p class="wp-block-paragraph">例えば、A2:F2 に「1, 2, 3, 4, 5, 6」という6個の値が横に並んでいるとします。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A2:F2, 3)</code></pre>



<p class="wp-block-paragraph">この数式は、6個の要素を「3個ずつ縦に並べる」ので、結果は次のような2列×3行の配列になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th></tr></thead><tbody><tr><td>1</td><td>4</td></tr><tr><td>2</td><td>5</td></tr><tr><td>3</td><td>6</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「1, 2, 3」が1列目に縦に並び、続く「4, 5, 6」が2列目に縦に並んでいることがわかります。これがWRAPCOLSの基本動作です。</p>



<h2 class="wp-block-heading"><span id="toc4">実務例1：商品リストを3列のグリッドに整形する</span></h2>



<p class="wp-block-paragraph">縦1列に並んだ商品名のリストを、3列のグリッドに整形してみます。例えば、A2:A10 に商品名が縦に9個並んでいるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（商品名）</th></tr></thead><tbody><tr><td>ノートPC</td></tr><tr><td>キーボード</td></tr><tr><td>マウス</td></tr><tr><td>モニター</td></tr><tr><td>USBハブ</td></tr><tr><td>Webカメラ</td></tr><tr><td>ヘッドセット</td></tr><tr><td>外付けSSD</td></tr><tr><td>電源タップ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このリストを「3行×3列のグリッド」に整形するには、空いているセル（例: C2）に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A2:A10, 3)</code></pre>



<p class="wp-block-paragraph">スピル機能で結果が自動展開され、次のような2次元配列が表示されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th></tr></thead><tbody><tr><td>ノートPC</td><td>モニター</td><td>ヘッドセット</td></tr><tr><td>キーボード</td><td>USBハブ</td><td>外付けSSD</td></tr><tr><td>マウス</td><td>Webカメラ</td><td>電源タップ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">要素を上から下へ3つずつ縦に並べ、終わったら次の列へ、という動きで整形されます。リストの体裁を変えるためにコピペで並び替える手間が、数式ひとつで解消されます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>商品リストや名簿を <strong>印刷用に整形</strong> する場面では、WRAPCOLSが特に便利です。1列のデータを複数列に折り返すだけで、A4用紙の幅を有効活用したレイアウトが瞬時に作れます。元データを書き換えれば結果も自動で更新されるので、メンテナンスもラクです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">実務例2：pad_with引数で端数セルを埋める</span></h2>



<p class="wp-block-paragraph">要素数が wrap_count で割り切れないと、最後の列に「余り」が出ます。このとき、pad_with引数で何を入れるかを指定できます。</p>



<p class="wp-block-paragraph">例えば、A2:G2 に「1, 2, 3, 4, 5, 6, 7」の7個の値があるとします。これを wrap_count=3 で折り返すと、3行×3列のうち最後の1セルが余ります。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A2:G2, 3, &quot;x&quot;)</code></pre>



<p class="wp-block-paragraph">結果は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th></tr></thead><tbody><tr><td>1</td><td>4</td><td>7</td></tr><tr><td>2</td><td>5</td><td>x</td></tr><tr><td>3</td><td>6</td><td>x</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最後の列の余った2セルが「x」で埋められています。pad_with を省略すると、これらのセルは <code>#N/A</code> になります。</p>



<p class="wp-block-paragraph">実務では、文字列なら <code>""</code>（空文字）や <code>"-"</code>、数値なら <code>0</code> などを指定して、見た目を整えるのが定番です。空欄にしたい場合は <code>""</code> を渡すのがおすすめです。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(A2:G2, 3, &quot;&quot;)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>pad_with を省略すると <code>#N/A</code> がそのまま表示されます。集計や印刷の体裁を整えたいときは、必ず <code>""</code> や <code>0</code> などのプレースホルダーを指定しましょう。<code>#N/A</code> を後から IFERROR でラップする方法もありますが、最初から pad_with を指定するほうがシンプルです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc6">実務例3：SEQUENCE関数と組み合わせて連番グリッドを作る</span></h2>



<p class="wp-block-paragraph">WRAPCOLSは、他のスピル対応関数と組み合わせると応用範囲が広がります。例えば、SEQUENCE関数で連番を生成し、WRAPCOLSでグリッドに整形する組み合わせは便利です。</p>



<p class="wp-block-paragraph">「1〜12を3行×4列のグリッドに整形する」場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=WRAPCOLS(SEQUENCE(12), 3)</code></pre>



<p class="wp-block-paragraph">SEQUENCE(12) で「1, 2, 3, &#8230;, 12」の縦1列の配列を作り、それをWRAPCOLSで3行ずつ縦に折り返します。結果は次のとおりです。</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>1</td><td>4</td><td>7</td><td>10</td></tr><tr><td>2</td><td>5</td><td>8</td><td>11</td></tr><tr><td>3</td><td>6</td><td>9</td><td>12</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">カレンダーの日付や、行番号付きのテンプレートを動的に作りたいときに重宝します。</p>



<h2 class="wp-block-heading"><span id="toc7">WRAPCOLSとWRAPROWSの違い</span></h2>



<p class="wp-block-paragraph">WRAPCOLSとよく似た関数に <strong>WRAPROWS</strong> があります。引数構成も同じで、見た目もそっくりです。違いは「折り返しの方向」だけです。</p>



<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>データの流れ</td><td>上→下、次の列へ</td><td>左→右、次の行へ</td></tr><tr><td>結果の形状</td><td>縦長になりやすい</td><td>横長になりやすい</td></tr><tr><td>wrap_countの意味</td><td>各列の要素数（=行数）</td><td>各行の要素数（=列数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">例えば「1, 2, 3, 4, 5, 6」を wrap_count=3 で折り返した場合、結果は次のように違います。</p>



<p class="wp-block-paragraph"><strong>WRAPCOLS（縦に折り返す）</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th></tr></thead><tbody><tr><td>1</td><td>4</td></tr><tr><td>2</td><td>5</td></tr><tr><td>3</td><td>6</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>WRAPROWS（横に折り返す）</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th></tr></thead><tbody><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>迷ったら「結果を <strong>縦長</strong> にしたいか <strong>横長</strong> にしたいか」で選ぶと判断しやすいです。商品リストを縦に並べたいなら WRAPCOLS、データを横に並べた表にしたいなら WRAPROWS、と覚えておきましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">バージョン対応の注意点</span></h2>



<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（サブスクリプション版）</td><td>対応</td></tr><tr><td>Excel 2024（買い切り版）</td><td>対応</td></tr><tr><td>Excel 2021 / 2019 / 2016 / 2013</td><td>非対応</td></tr><tr><td>Excel for the web</td><td>対応</td></tr><tr><td>Excel Mobile（iOS/Android）</td><td>対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Excel 2021以前のバージョンでは、WRAPCOLSという関数自体が存在しないため <code>#NAME?</code> エラーになります。古い環境のユーザーとファイルを共有する場合は、以下の代替方法を検討しましょう。</p>



<ul class="wp-block-list"><li>INDEX関数 + ROW・COLUMN関数で手動配置する</li><li>Power Query で配列を整形する</li><li>VBAマクロで対応する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>WRAPCOLSを使った数式が入ったブックを Excel 2021 以前で開くと <code>#NAME?</code> エラーになります。共有先の環境がわからない場合は、結果を「値貼り付け」で確定してから渡すのが安全です。</p></blockquote>



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



<p class="wp-block-paragraph">WRAPCOLS関数で発生しやすいエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>vector に2次元配列を指定した</td><td>1次元配列（縦1列または横1行）を指定する</td></tr><tr><td><code>#NUM!</code></td><td>wrap_count が 1 未満（0 や負の数）</td><td>wrap_count に 1 以上の整数を指定する</td></tr><tr><td><code>#N/A</code></td><td>端数セルで pad_with を省略した</td><td>pad_with に <code>""</code> や <code>0</code> などを指定する</td></tr><tr><td><code>#NAME?</code></td><td>Excel 2021以前で WRAPCOLS を使った</td><td>Microsoft 365 / Excel 2024 にアップグレードする</td></tr><tr><td><code>#SPILL!</code></td><td>スピル先のセルにデータが入っている</td><td>出力範囲のセルを空にする</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に多いのが、すでに2次元配列のデータ（複数行×複数列のセル範囲）を vector に渡してしまう <code>#VALUE!</code> エラーです。WRAPCOLSは <strong>1次元配列専用</strong> の関数なので、もし2次元データを1列に並べ直したい場合は、先に TOCOL関数 で1列に変換してから WRAPCOLS にかける、という二段構えが有効です。</p>



<h2 class="wp-block-heading"><span id="toc10">関連関数</span></h2>



<p class="wp-block-paragraph">WRAPCOLSと組み合わせて使うことが多い関数を整理しておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-wraprows/">WRAPROWS</a></td><td>1次元配列を行方向（横）に折り返して2次元配列にする</td></tr><tr><td>TOCOL</td><td>2次元配列を縦1列の1次元配列に変換する</td></tr><tr><td>TOROW</td><td>2次元配列を横1行の1次元配列に変換する</td></tr><tr><td>SEQUENCE</td><td>連続する数値の配列を生成する</td></tr><tr><td>CHOOSECOLS</td><td>配列から指定した列だけを抽出する</td></tr><tr><td>CHOOSEROWS</td><td>配列から指定した行だけを抽出する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「2次元データを1列に並べ直してから、別の形に折り返す」流れでは、TOCOL関数 → WRAPCOLSの組み合わせが定番です。逆に、横方向に折り返したいときは <a href="https://mashukabu.com/excel-wraprows/">WRAPROWS関数</a> を使います。連番のグリッドを作るときは SEQUENCE関数 との合わせ技が便利です。</p>



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



<p class="wp-block-paragraph">ExcelのWRAPCOLS関数は、1列のリストを複数列のグリッドに整形できる便利な関数です。要点を整理すると次のとおりです。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=WRAPCOLS(vector, wrap_count, [pad_with])</code></li><li><strong>動作</strong>: 1次元配列を <strong>上から下へ</strong> 折り返し、次の列へ移っていく</li><li><strong>wrap_count</strong>: 各列の要素数（=折り返したときの行数）を指定</li><li><strong>pad_with</strong>: 端数セルを埋める値（省略時は <code>#N/A</code>）</li><li><strong>対応環境</strong>: Microsoft 365 / Excel 2024 のみ（Excel 2021以前は非対応）</li></ul>



<p class="wp-block-paragraph">商品リスト・名簿・連番テンプレートなど、1列のデータを見やすいグリッドに整形したいシーンで活躍します。元データを変更すれば結果も自動で更新されるため、繰り返し使う帳票やダッシュボードのレイアウト整形にも向いています。</p>



<p class="wp-block-paragraph">横方向に折り返したい場合は <a href="https://mashukabu.com/excel-wraprows/">WRAPROWS関数</a> を、2次元データを先に1列にまとめたい場合は TOCOL関数 を組み合わせると、配列操作の幅がぐっと広がります。連番グリッドを作るなら SEQUENCE関数 との組み合わせもおすすめです。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-wrapcols/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Excel】WRAPROWS関数の使い方｜横1行のデータを複数行の表に折り返す</title>
		<link>https://mashukabu.com/excel-wraprows/</link>
					<comments>https://mashukabu.com/excel-wraprows/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 09 May 2026 23:16:08 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[WRAPROWS]]></category>
		<category><![CDATA[スピル]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6728</guid>

					<description><![CDATA[ExcelのWRAPROWS関数の使い方を解説します。横1行や縦1列のデータを横方向に折り返して複数行の表に整形できる新関数で、日付リストを週単位のカレンダーにしたり、長いデータ列を読みやすい表にしたりするのに便利です。構文と引数（vector・wrap_count・pad_with）の使い方、WRAPCOLSとの違い、Microsoft 365 / Excel 2024 / Google Sheets でのバージョン対応、関連関数（TOROW・TOCOL・SEQUENCE）との組み合わせまで実例で整理しました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「横1行に長く並んだデータを、1行あたり7件ずつの表に整形してカレンダー風にしたい」「日付のリストを週単位の表にまとめたい」と思ったことはありませんか？</p>



<p class="wp-block-paragraph">そんなときに便利なのが、Microsoft 365 と Excel 2024 で使える <strong>WRAPROWS関数</strong> です。1次元のデータを <strong>横方向に折り返して</strong> 複数行の2次元配列に整形してくれます。スピル機能と組み合わせれば、レイアウトの組み換えが数式ひとつで完結します。</p>



<p class="wp-block-paragraph">この記事では、WRAPROWS関数の構文から、日付リストを週単位の表に整形する実例、pad_with引数の使い方、WRAPCOLSとの違い、Google Sheets を含むバージョン対応までをまとめて整理します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのWRAPROWS関数とは？</a></li><li><a href="#toc2" tabindex="0">WRAPROWS関数の書き方（構文と引数）</a></li><li><a href="#toc3" tabindex="0">WRAPROWS関数の動作イメージ</a></li><li><a href="#toc4" tabindex="0">実務例1：日付リストを週単位の表に整形する</a></li><li><a href="#toc5" tabindex="0">実務例2：pad_with引数で端数セルを埋める</a></li><li><a href="#toc6" tabindex="0">実務例3：SEQUENCE関数と組み合わせて連番表を作る</a></li><li><a href="#toc7" tabindex="0">WRAPROWSとWRAPCOLSの違い</a></li><li><a href="#toc8" tabindex="0">バージョン対応の注意点</a><ol><li><a href="#toc9" tabindex="0">Google Sheetsでも使える</a></li></ol></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">ExcelのWRAPROWS関数とは？</span></h2>



<p class="wp-block-paragraph">ExcelのWRAPROWS関数（読み方：ラップロウズ）は、<strong>1次元配列の要素を横方向に折り返して2次元配列に整形する関数</strong>です。関数名は「<strong>Wrap</strong>（折り返す）+ <strong>Rows</strong>（行）」の略で、文字どおり「行方向に折り返す」動作をイメージするとわかりやすいです。</p>



<p class="wp-block-paragraph">ざっくり言うと、横1行または縦1列に並んだデータを渡すと、指定した数で <strong>左から右へ折り返し</strong>、次の行へ移ってまた左から右へ、というふうに2次元のグリッド配列を返してくれる関数です。スピル対応なので、数式を1つのセルに入れるだけで結果が複数のセルに自動展開されます。</p>



<p class="wp-block-paragraph">WRAPROWS関数は、Microsoft 365 と Excel 2024 で導入された <strong>比較的新しい関数</strong> です。Excel 2021 以前のバージョンでは利用できないので、共有先の環境に注意が必要です（後述）。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>「スピル（spill）」とは、1つの数式の結果が複数のセルに自動的に展開される機能です。WRAPROWSは2次元配列を返すため、結果が縦横に広がります。展開先のセルに既存データがあると <code>#SPILL!</code> エラーになるので、出力範囲は空けておきましょう。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=WRAPROWS(vector, wrap_count, [pad_with])</code></pre>



<p class="wp-block-paragraph">引数は3つで、最後の pad_with は省略可能です。</p>



<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次元配列またはセル参照（縦1列または横1行）</td></tr><tr><td>wrap_count</td><td>必須</td><td>各行に入れる要素数（1以上の整数。非整数は切り捨て）</td></tr><tr><td>pad_with</td><td>任意</td><td>端数セルを埋める値（省略時は <code>#N/A</code>）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は2次元配列です。要素数が wrap_count で割り切れない場合、最後の行の余ったセルは pad_with で指定した値で埋められます。pad_with を省略すると <code>#N/A</code> になります。</p>



<h2 class="wp-block-heading"><span id="toc3">WRAPROWS関数の動作イメージ</span></h2>



<p class="wp-block-paragraph">WRAPROWS関数は、要素を <strong>左から右へ</strong> 順番に配置していきます。wrap_count に達したら次の行に移り、また左から右へ配置する、という動きです。</p>



<p class="wp-block-paragraph">例えば、A1:E1 に「1, 2, 3, 4, 5」という5個の値が横に並んでいるとします。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:E1, 2)</code></pre>



<p class="wp-block-paragraph">この数式は、5個の要素を「2個ずつ横に並べる」ので、結果は次のような2列×3行の配列になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr><tr><td>5</td><td>#N/A</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「1, 2」が1行目、「3, 4」が2行目、「5」が3行目の最初に入り、残った1セルが <code>#N/A</code> で埋められます。これがWRAPROWSの基本動作です。pad_with を指定すれば、この <code>#N/A</code> を任意の値に置き換えられます。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:E1, 2, &quot;No value&quot;)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr><tr><td>5</td><td>No value</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc4">実務例1：日付リストを週単位の表に整形する</span></h2>



<p class="wp-block-paragraph">縦1列に並んだ14日分の日付を、「1行あたり7日（=1週間）」の表に整形してみます。例えば、A2:A15 に2026年5月10日から14日分の日付が縦に並んでいるとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>A列（日付）</th></tr></thead><tbody><tr><td>2026/5/10</td></tr><tr><td>2026/5/11</td></tr><tr><td>2026/5/12</td></tr><tr><td>2026/5/13</td></tr><tr><td>2026/5/14</td></tr><tr><td>2026/5/15</td></tr><tr><td>2026/5/16</td></tr><tr><td>2026/5/17</td></tr><tr><td>2026/5/18</td></tr><tr><td>2026/5/19</td></tr><tr><td>2026/5/20</td></tr><tr><td>2026/5/21</td></tr><tr><td>2026/5/22</td></tr><tr><td>2026/5/23</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この日付リストを「7列×2行のカレンダー風」に整形するには、空いているセル（例: C2）に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A2:A15, 7)</code></pre>



<p class="wp-block-paragraph">スピル機能で結果が自動展開され、次のような2次元配列が表示されます。</p>



<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>5/10</td><td>5/11</td><td>5/12</td><td>5/13</td><td>5/14</td><td>5/15</td><td>5/16</td></tr><tr><td>5/17</td><td>5/18</td><td>5/19</td><td>5/20</td><td>5/21</td><td>5/22</td><td>5/23</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">要素を左から右へ7つずつ並べ、終わったら次の行へ、という動きで整形されます。1列の日付データから一瞬でカレンダー形式の表が作れます。曜日ヘッダは別途手入力するか、TEXT関数で曜日を生成して連結すると見栄えが整います。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>シフト表・週次レポート・カレンダーなど、<strong>規則的な区切り</strong> で表を作りたいときに WRAPROWS が便利です。元データを変更すれば結果も自動で更新されるので、毎週繰り返す帳票テンプレートにも向いています。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">実務例2：pad_with引数で端数セルを埋める</span></h2>



<p class="wp-block-paragraph">要素数が wrap_count で割り切れないと、最後の行に「余り」が出ます。このとき、pad_with引数で何を入れるかを指定できます。</p>



<p class="wp-block-paragraph">例えば、A1:E1 に「1, 2, 3, 4, 5」の5個の値があるとします。これを wrap_count=2 で折り返すと、3行×2列のうち最後の1セルが余ります。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:E1, 2, &quot;No value&quot;)</code></pre>



<p class="wp-block-paragraph">結果は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th></tr></thead><tbody><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr><tr><td>5</td><td>No value</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最後の余ったセルが「No value」で埋められています。pad_with を省略すると、このセルは <code>#N/A</code> になります。</p>



<p class="wp-block-paragraph">実務では、文字列なら <code>""</code>（空文字）や <code>"-"</code>、数値なら <code>0</code> などを指定して、見た目を整えるのが定番です。空欄にしたい場合は <code>""</code> を渡すのがおすすめです。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:E1, 2, &quot;&quot;)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>pad_with を省略すると <code>#N/A</code> がそのまま表示されます。集計や印刷の体裁を整えたいときは、必ず <code>""</code> や <code>0</code> などのプレースホルダーを指定しましょう。後から IFERROR でラップする方法もありますが、最初から pad_with を指定するほうがシンプルで読みやすい数式になります。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc6">実務例3：SEQUENCE関数と組み合わせて連番表を作る</span></h2>



<p class="wp-block-paragraph">WRAPROWSは、他のスピル対応関数と組み合わせると応用範囲が広がります。例えば、SEQUENCE関数で連番を生成し、WRAPROWSで表に整形する組み合わせは便利です。</p>



<p class="wp-block-paragraph">「1〜12を3行×4列の表に整形する」場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=WRAPROWS(SEQUENCE(12), 4)</code></pre>



<p class="wp-block-paragraph">SEQUENCE(12) で「1, 2, 3, &#8230;, 12」の縦1列の配列を作り、それを WRAPROWS で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>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></tbody></table></figure>



<p class="wp-block-paragraph">九九表のように規則的な数値テーブルを作りたいときや、連番付きのテンプレートを動的に生成したいときに重宝します。</p>



<h2 class="wp-block-heading"><span id="toc7">WRAPROWSとWRAPCOLSの違い</span></h2>



<p class="wp-block-paragraph">WRAPROWSとよく似た関数に <strong>WRAPCOLS</strong> があります。引数構成も同じで、見た目もそっくりです。違いは「折り返しの方向」だけです。</p>



<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>データの流れ</td><td>左→右、次の行へ</td><td>上→下、次の列へ</td></tr><tr><td>結果の形状</td><td>横長になりやすい</td><td>縦長になりやすい</td></tr><tr><td>wrap_countの意味</td><td>各行の要素数（=列数）</td><td>各列の要素数（=行数）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">例えば「1, 2, 3, 4, 5, 6」を wrap_count=3 で折り返した場合、結果は次のように違います。</p>



<p class="wp-block-paragraph"><strong>WRAPROWS（横に折り返す）</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th><th>列3</th></tr></thead><tbody><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>WRAPCOLS（縦に折り返す）</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>列1</th><th>列2</th></tr></thead><tbody><tr><td>1</td><td>4</td></tr><tr><td>2</td><td>5</td></tr><tr><td>3</td><td>6</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>迷ったら「結果を <strong>横長</strong> にしたいか <strong>縦長</strong> にしたいか」で選ぶと判断しやすいです。週単位の表やカレンダー風レイアウトには WRAPROWS、印刷用に縦に並べた商品リストには <a href="https://mashukabu.com/excel-wrapcols/">WRAPCOLS</a>、と覚えておきましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">バージョン対応の注意点</span></h2>



<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（サブスクリプション版）</td><td>対応</td></tr><tr><td>Excel 2024（買い切り版）</td><td>対応</td></tr><tr><td>Excel 2021 / 2019 / 2016 / 2013</td><td>非対応</td></tr><tr><td>Excel for the web</td><td>対応</td></tr><tr><td>Excel Mobile（iOS/Android）</td><td>対応</td></tr><tr><td>Google Sheets</td><td>対応（2023年2月以降）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Excel 2021以前のバージョンでは、WRAPROWSという関数自体が存在しないため <code>#NAME?</code> エラーになります。古い環境のユーザーとファイルを共有する場合は、以下の代替方法を検討しましょう。</p>



<ul class="wp-block-list"><li>INDEX関数 + ROW・COLUMN関数で手動配置する</li><li>Power Query で配列を整形する</li><li>VBAマクロで対応する</li></ul>



<h3 class="wp-block-heading"><span id="toc9">Google Sheetsでも使える</span></h3>



<p class="wp-block-paragraph">WRAPROWSは2023年2月にGoogle Sheetsにも追加されました。引数の構成や動作は Excel 版とほぼ同じです。Google Sheets と Excel を行き来するワークフローでも、配列の折り返し処理を共通の関数で書けます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>WRAPROWSを使った数式が入ったブックを Excel 2021 以前で開くと <code>#NAME?</code> エラーになります。共有先の環境がわからない場合は、結果を「値貼り付け」で確定してから渡すのが安全です。Google Sheets ユーザーとの共有ではこの問題は起きませんが、CSV や XLSX で受け渡しする際の Excel 旧版の存在には注意しましょう。</p></blockquote>



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



<p class="wp-block-paragraph">WRAPROWS関数で発生しやすいエラーをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>vector に2次元配列を指定した</td><td>1次元配列（縦1列または横1行）を指定する</td></tr><tr><td><code>#NUM!</code></td><td>wrap_count が 1 未満（0 や負の数）</td><td>wrap_count に 1 以上の整数を指定する</td></tr><tr><td><code>#N/A</code></td><td>端数セルで pad_with を省略した</td><td>pad_with に <code>""</code> や <code>0</code> などを指定する</td></tr><tr><td><code>#NAME?</code></td><td>Excel 2021以前で WRAPROWS を使った</td><td>Microsoft 365 / Excel 2024 にアップグレードする</td></tr><tr><td><code>#SPILL!</code></td><td>スピル先のセルにデータが入っている</td><td>出力範囲のセルを空にする</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に多いのが、すでに2次元配列のデータ（複数行×複数列のセル範囲）を vector に渡してしまう <code>#VALUE!</code> エラーです。WRAPROWSは <strong>1次元配列専用</strong> の関数なので、もし2次元データを横1行に並べ直したい場合は、先に TOROW関数 で1行に変換してから WRAPROWS にかける、という二段構えが有効です。</p>



<h2 class="wp-block-heading"><span id="toc11">関連関数</span></h2>



<p class="wp-block-paragraph">WRAPROWSと組み合わせて使うことが多い関数を整理しておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>役割</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-wrapcols/">WRAPCOLS</a></td><td>1次元配列を列方向（縦）に折り返して2次元配列にする</td></tr><tr><td>TOROW</td><td>2次元配列を横1行の1次元配列に変換する</td></tr><tr><td>TOCOL</td><td>2次元配列を縦1列の1次元配列に変換する</td></tr><tr><td>SEQUENCE</td><td>連続する数値の配列を生成する</td></tr><tr><td>CHOOSEROWS</td><td>配列から指定した行だけを抽出する</td></tr><tr><td>CHOOSECOLS</td><td>配列から指定した列だけを抽出する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「2次元データを1行に並べ直してから、別の形に折り返す」流れでは、TOROW関数 → WRAPROWSの組み合わせが定番です。逆に、縦方向に折り返したいときは <a href="https://mashukabu.com/excel-wrapcols/">WRAPCOLS関数</a> を使います。連番の表を作るときは SEQUENCE関数 との合わせ技が便利です。</p>



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



<p class="wp-block-paragraph">ExcelのWRAPROWS関数は、横1行（または縦1列）のデータを複数行の表に整形できる便利な関数です。要点を整理すると次のとおりです。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=WRAPROWS(vector, wrap_count, [pad_with])</code></li><li><strong>動作</strong>: 1次元配列を <strong>左から右へ</strong> 折り返し、次の行へ移っていく</li><li><strong>wrap_count</strong>: 各行の要素数（=折り返したときの列数）を指定</li><li><strong>pad_with</strong>: 端数セルを埋める値（省略時は <code>#N/A</code>）</li><li><strong>対応環境</strong>: Microsoft 365 / Excel 2024 / Google Sheets（Excel 2021以前は非対応）</li></ul>



<p class="wp-block-paragraph">日付リストを週単位の表にする・連番テンプレートを生成する・長いデータ列を読みやすい表に整形する、といった場面で活躍します。元データを書き換えれば結果も自動で更新されるので、毎週繰り返す帳票やダッシュボードにも向いています。</p>



<p class="wp-block-paragraph">縦方向に折り返したい場合は <a href="https://mashukabu.com/excel-wrapcols/">WRAPCOLS関数</a> を、2次元データを先に1行にまとめたい場合は TOROW関数 を組み合わせると、配列操作の幅がぐっと広がります。連番表を作るなら SEQUENCE関数 との組み合わせもおすすめです。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-wraprows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのWRAPROWS関数の使い方｜行方向にラップ</title>
		<link>https://mashukabu.com/spreadsheet-wraprows-function/</link>
					<comments>https://mashukabu.com/spreadsheet-wraprows-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 00:42:37 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[WRAPROWS]]></category>
		<category><![CDATA[スプレッドシート関数]]></category>
		<category><![CDATA[データ整形]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6096</guid>

					<description><![CDATA[GoogleスプレッドシートのWRAPROWS関数で縦1列データを行方向に自動整形する方法を解説。基本構文・pad_with引数の4パターン・WRAPCOLSとの使い分け・TOCOL連携まで実例付きで丁寧に紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">縦1列に並んだ商品リストを「4列ずつ折り返して一覧表にしたい」と思ったこと、ありませんか。手作業でコピペしていると、項目数が変わるたびに並べ直しが発生して地味に時間を奪われます。</p>



<p class="wp-block-paragraph">そんなときに便利なのが、Googleスプレッドシートの <strong>WRAPROWS関数</strong> です。縦1列のデータを指定した列数で自動的に行方向へ折り返す関数で、2023年2月から全アカウントで使えるようになりました。</p>



<p class="wp-block-paragraph">この記事では、WRAPROWSの基本構文から、<code>pad_with</code> 引数の使い分け、姉妹関数 WRAPCOLS との違い、TOROWと組み合わせた実務テクまで解説します。</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関数とは？スプレッドシートでの使いどころ</a><ol><li><a href="#toc2" tabindex="0">WRAPROWS関数が役立つ場面</a></li><li><a href="#toc3" tabindex="0">Googleスプレッドシート固有の仕様とExcelとの違い</a></li></ol></li><li><a href="#toc4" tabindex="0">WRAPROWS関数の基本構文と3つの引数</a><ol><li><a href="#toc5" tabindex="0">第1引数：vector（対象範囲）</a></li><li><a href="#toc6" tabindex="0">第2引数：wrap_count（折り返し列数）</a></li><li><a href="#toc7" tabindex="0">第3引数：pad_with（代替文字）</a></li></ol></li><li><a href="#toc8" tabindex="0">基本的な使い方：縦1列データを横方向に折り返す</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">第3引数（pad_with）の使い方：端数セルを制御する</a><ol><li><a href="#toc12" tabindex="0">省略時の挙動（#N/Aが入る理由）</a></li><li><a href="#toc13" tabindex="0">空文字・0・任意文字列を指定した場合の比較</a></li><li><a href="#toc14" tabindex="0">集計関数と組み合わせるときの推奨設定</a></li></ol></li><li><a href="#toc15" tabindex="0">WRAPCOLS関数との違い：どちらを使えばいい？</a><ol><li><a href="#toc16" tabindex="0">折り返し方向とデータの流れの対比</a></li><li><a href="#toc17" tabindex="0">使い分けの基準</a></li></ol></li><li><a href="#toc18" tabindex="0">実務ユースケース：他の関数と組み合わせる</a><ol><li><a href="#toc19" tabindex="0">TOCOL/TOROWとの連携（2次元範囲を渡す場合のエラー回避）</a></li><li><a href="#toc20" tabindex="0">SORT・FILTERと組み合わせた動的整形</a></li></ol></li><li><a href="#toc21" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">#VALUE! エラー（多次元配列を直接渡したとき）</a></li><li><a href="#toc23" tabindex="0">#NUM! エラー（wrap_countに0以下を指定したとき）</a></li><li><a href="#toc24" tabindex="0">#N/A エラー（pad_with省略時の端数セル）</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">WRAPROWS関数とは？スプレッドシートでの使いどころ</span></h2>



<p class="wp-block-paragraph">WRAPROWS関数は、1次元の配列（縦1列または横1行のデータ）を、指定した列数ごとに区切って2次元の表に折り返す関数です。名前の通り、「行（rows）を折り返す（wrap）」動きをします。</p>



<h3 class="wp-block-heading"><span id="toc2">WRAPROWS関数が役立つ場面</span></h3>



<p class="wp-block-paragraph">具体的には、こんな場面で役立ちます。</p>



<ul class="wp-block-list"><li>アンケート回答の縦リストを4列×N行の表示用レイアウトに並べ直したい</li><li>商品コードを縦に並べたデータから印刷用に横並びの台紙を作りたい</li><li>日付の連続データをカレンダー風に7列へ折り返したい</li><li>TOCOLで抽出した1列データを複数列の見やすい形に戻したい</li></ul>



<p class="wp-block-paragraph">従来はINDEX+ROW+COLUMNを組み合わせた長い数式か、手作業のコピペで対応していた領域です。WRAPROWSなら一発で済みます。</p>



<h3 class="wp-block-heading"><span id="toc3">Googleスプレッドシート固有の仕様とExcelとの違い</span></h3>



<p class="wp-block-paragraph">WRAPROWSはExcelにも存在しますが、利用可能な環境が違います。</p>



<figure class="wp-block-table"><table><thead><tr><th>環境</th><th>対応状況</th></tr></thead><tbody><tr><td>Googleスプレッドシート</td><td>2023年2月〜全アカウントで利用可</td></tr><tr><td>Microsoft 365（Excel）</td><td>利用可（Windows/Mac/Web）</td></tr><tr><td>Excel 2024</td><td>利用可</td></tr><tr><td>Excel 2021以前</td><td>非対応</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数名（vector / wrap_count / pad_with）は両者で完全に一致しており、数式のコピペ互換性は高めです。Excel版の詳細は<a href="https://mashukabu.com/excel-wraprows-function/">ExcelのWRAPROWS関数の使い方</a>で解説しています。</p>



<h2 class="wp-block-heading"><span id="toc4">WRAPROWS関数の基本構文と3つの引数</span></h2>



<p class="wp-block-paragraph">構文はシンプルに、引数3つだけです。</p>



<pre class="wp-block-code"><code>=WRAPROWS(vector, wrap_count, [pad_with])</code></pre>



<h3 class="wp-block-heading"><span id="toc5">第1引数：vector（対象範囲）</span></h3>



<p class="wp-block-paragraph">折り返したい<strong>1次元の配列</strong>を指定します。縦1列の範囲（<code>A1:A12</code>）でも、横1行の範囲（<code>A1:L1</code>）でもOKです。</p>



<p class="wp-block-paragraph"><code>A1:D3</code> のような2次元範囲を直接渡すと <code>#VALUE!</code> エラーになります。この回避法は後半で解説します。</p>



<h3 class="wp-block-heading"><span id="toc6">第2引数：wrap_count（折り返し列数）</span></h3>



<p class="wp-block-paragraph">1行あたりに入れる要素数です。<code>4</code> を指定すれば、4要素ごとに次の行へ折り返します。</p>



<p class="wp-block-paragraph">非整数（例: <code>3.7</code>）を指定すると小数点以下は切り捨てられ、<code>3</code> として扱われます。<code>0</code> や負の数を指定すると <code>#NUM!</code> エラーになるので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc7">第3引数：pad_with（代替文字）</span></h3>



<p class="wp-block-paragraph">折り返したときに最終行で発生する<strong>空きセルを埋める値</strong>を指定します。省略可能で、省略時は <code>#N/A</code> が入ります。選択が実務に直結するため、専用セクションで詳しく扱います。</p>



<h2 class="wp-block-heading"><span id="toc8">基本的な使い方：縦1列データを横方向に折り返す</span></h2>



<h3 class="wp-block-heading"><span id="toc9">シンプルな折り返し例</span></h3>



<p class="wp-block-paragraph">A1:A12 に12個の項目（商品1〜商品12）が縦に入っているとします。4列ずつ横に並べ直すなら、次のように書きます。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A12, 4)</code></pre>



<p class="wp-block-paragraph">結果は4列×3行の表としてスピルします。12項目が4で割り切れるので、端数は発生せず <code>#N/A</code> も出ません。</p>



<p class="wp-block-paragraph">SEQUENCE関数で連番を生成して試すこともできます。</p>



<pre class="wp-block-code"><code>=WRAPROWS(SEQUENCE(12), 4)</code></pre>



<p class="wp-block-paragraph">これで1〜12の数字が4列3行に並びます。SEQUENCEは縦1列を返すので、そのままWRAPROWSに渡せます。</p>



<h3 class="wp-block-heading"><span id="toc10">折り返し列数を変えた場合の出力比較</span></h3>



<p class="wp-block-paragraph">同じ12項目でも、<code>wrap_count</code> を変えると出力形状が変わります。</p>



<figure class="wp-block-table"><table><thead><tr><th>wrap_count</th><th>出力形状</th><th>備考</th></tr></thead><tbody><tr><td>2</td><td>2列×6行</td><td>縦長になる</td></tr><tr><td>3</td><td>3列×4行</td><td>割り切れるので端数なし</td></tr><tr><td>4</td><td>4列×3行</td><td>割り切れるので端数なし</td></tr><tr><td>5</td><td>5列×3行</td><td>最終行に3つ空きが出る</td></tr><tr><td>12以上</td><td>1行×12列</td><td>折り返しなし（全要素が1行に並ぶ）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>wrap_count</code> が要素数以上のときは折り返しが発生せず、横1行の配列がそのまま返ります。</p>



<h2 class="wp-block-heading"><span id="toc11">第3引数（pad_with）の使い方：端数セルを制御する</span></h2>



<p class="wp-block-paragraph">WRAPROWSを実務で使うと、ほぼ必ず端数が出ます。その空きセルをどう埋めるかが <code>pad_with</code> の役割です。</p>



<h3 class="wp-block-heading"><span id="toc12">省略時の挙動（#N/Aが入る理由）</span></h3>



<p class="wp-block-paragraph">13項目を4列で折り返すと、4×4=16セル中、最後の3セルが余ります。<code>pad_with</code> を省略すると、この3セルには <code>#N/A</code> が入ります。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A13, 4)</code></pre>



<p class="wp-block-paragraph">表示だけなら問題ありませんが、後続で <code>SUM</code> や <code>COUNTIF</code> を当てるとエラーが伝播します。ここで <code>pad_with</code> の出番です。</p>



<h3 class="wp-block-heading"><span id="toc13">空文字・0・任意文字列を指定した場合の比較</span></h3>



<p class="wp-block-paragraph">実用的な4パターンを整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>指定値</th><th>数式例</th><th>空きセルの見え方</th><th>使いどころ</th></tr></thead><tbody><tr><td>省略</td><td><code>=WRAPROWS(A1:A13, 4)</code></td><td><code>#N/A</code></td><td>デバッグ時に端数を目視したい場合</td></tr><tr><td><code>""</code>（空文字）</td><td><code>=WRAPROWS(A1:A13, 4, "")</code></td><td>空白</td><td>見た目重視・印刷用レイアウト</td></tr><tr><td><code>0</code></td><td><code>=WRAPROWS(A1:A13, 4, 0)</code></td><td><code>0</code></td><td>SUM・SUMIFなど数値集計と組み合わせるとき</td></tr><tr><td>任意文字列</td><td><code>=WRAPROWS(A1:A13, 4, "-")</code></td><td><code>-</code></td><td>「該当なし」を明示したい帳票</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc14">集計関数と組み合わせるときの推奨設定</span></h3>



<p class="wp-block-paragraph">WRAPROWSの結果に対して <code>SUM</code> や <code>AVERAGE</code> を使う場合、<strong><code>pad_with</code> には <code>0</code> を指定するのが鉄則</strong>です。</p>



<pre class="wp-block-code"><code>=SUM(WRAPROWS(A1:A13, 4, 0))</code></pre>



<p class="wp-block-paragraph">省略時の <code>#N/A</code> のまま集計しようとすると、<code>#N/A</code> が伝播して結果全体がエラーになります。空文字 <code>""</code> も数値計算では型不一致で思わぬ挙動を招くことがあるため、集計を挟むときは <code>0</code> を選んでおくと安全です。</p>



<h2 class="wp-block-heading"><span id="toc15">WRAPCOLS関数との違い：どちらを使えばいい？</span></h2>



<p class="wp-block-paragraph">WRAPROWSの姉妹関数として <a href="https://mashukabu.com/spreadsheet-wrapcols-function/">WRAPCOLS関数</a> があります。名前が似ていて混乱しやすいので、しっかり整理しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">折り返し方向とデータの流れの対比</span></h3>



<p class="wp-block-paragraph">同じ6要素 <code>[1,2,3,4,5,6]</code> を <code>wrap_count=3</code> で処理すると、結果はこう変わります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>データの流れ</th><th>出力</th></tr></thead><tbody><tr><td>WRAPROWS</td><td>左→右、次の行へ</td><td><code>[1,2,3]</code> / <code>[4,5,6]</code></td></tr><tr><td>WRAPCOLS</td><td>上→下、次の列へ</td><td><code>[1,4]</code> / <code>[2,5]</code> / <code>[3,6]</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">4軸でまとめると次の通りです。</p>



<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>1行あたりの要素数</td><td>1列あたりの要素数</td></tr><tr><td>典型用途</td><td>横書き一覧表・カレンダー</td><td>縦型カード・リストの段組み</td></tr><tr><td>Excel互換</td><td>あり（引数名同一）</td><td>あり（引数名同一）</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">迷ったらこう考えてください。</p>



<ul class="wp-block-list"><li><strong>完成後の表を「横に読んでいく」なら WRAPROWS</strong>（新聞・表形式のレポート）</li><li><strong>完成後の表を「縦に読んでいく」なら WRAPCOLS</strong>（名刺の段組み・列優先のリスト）</li></ul>



<p class="wp-block-paragraph">WRAPCOLSの詳細な使い方は<a href="https://mashukabu.com/spreadsheet-wrapcols-function/">スプレッドシートのWRAPCOLS関数の使い方</a>で解説しているので、あわせて確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc18">実務ユースケース：他の関数と組み合わせる</span></h2>



<p class="wp-block-paragraph">WRAPROWSは単体でも便利ですが、他の関数と組み合わせるとさらに活きてきます。</p>



<h3 class="wp-block-heading"><span id="toc19">TOCOL/TOROWとの連携（2次元範囲を渡す場合のエラー回避）</span></h3>



<p class="wp-block-paragraph">「A1:D3 の3行4列をいったん並べ替えたい」という場面で、そのままWRAPROWSに渡すと <code>#VALUE!</code> エラーになります。vectorは1次元配列しか受け付けないためです。</p>



<p class="wp-block-paragraph">先に <a href="https://mashukabu.com/excel-function-howto-use-tocol/">TOCOL関数</a> かTOROW関数で1次元化してから渡します。</p>



<pre class="wp-block-code"><code>=WRAPROWS(TOROW(A1:D3), 4)</code></pre>



<p class="wp-block-paragraph"><code>TOROW(A1:D3)</code> で12個の要素が横1行になり、それをWRAPROWSで4列ずつ折り返す流れです。元の並び順を保ちたいかどうかでTOROW（行優先）とTOCOL（列優先）を使い分けてください。</p>



<h3 class="wp-block-heading"><span id="toc20">SORT・FILTERと組み合わせた動的整形</span></h3>



<p class="wp-block-paragraph">FILTERで抽出した結果をWRAPROWSで整形するパターンも実務で出番があります。</p>



<pre class="wp-block-code"><code>=WRAPROWS(FILTER(A2:A100, B2:B100=&quot;有効&quot;), 4, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">B列が「有効」の行だけA列を抽出し、4列ずつ折り返して空きは空白で埋める一発処理です。件数が増減してもスピルが自動追従するので、レイアウトのメンテが不要になります。</p>



<p class="wp-block-paragraph">カレンダー風に日付を並べるのもおすすめです。</p>



<pre class="wp-block-code"><code>=WRAPROWS(SEQUENCE(30,1,DATE(2024,1,1),1), 7)</code></pre>



<p class="wp-block-paragraph">1月1日から30日分の日付を生成し、7列（曜日分）で折り返すとカレンダー状になります。書式を「日付」に設定すれば即実用です。</p>



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



<p class="wp-block-paragraph">最後に、WRAPROWSで遭遇しがちな3大エラーをまとめます。</p>



<h3 class="wp-block-heading"><span id="toc22">#VALUE! エラー（多次元配列を直接渡したとき）</span></h3>



<p class="wp-block-paragraph">原因は、vectorに2次元範囲（複数行かつ複数列）を渡したことです。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:D3, 4)   // NG: 3行4列を直接渡している</code></pre>



<p class="wp-block-paragraph">TOROWかTOCOLで1次元化してから渡します。</p>



<pre class="wp-block-code"><code>=WRAPROWS(TOROW(A1:D3), 4)   // OK</code></pre>



<h3 class="wp-block-heading"><span id="toc23">#NUM! エラー（wrap_countに0以下を指定したとき）</span></h3>



<p class="wp-block-paragraph"><code>wrap_count</code> に <code>0</code> や負の数を渡すと <code>#NUM!</code> になります。セル参照でwrap_countを指定している場合、参照先が空や0になっていないか確認してください。</p>



<pre class="wp-block-code"><code>=WRAPROWS(A1:A12, 0)   // NG: #NUM!
=WRAPROWS(A1:A12, 4)   // OK</code></pre>



<h3 class="wp-block-heading"><span id="toc24">#N/A エラー（pad_with省略時の端数セル）</span></h3>



<p class="wp-block-paragraph">厳密にはエラーというより「想定通りの挙動」ですが、見た目を整えたい・集計に渡したいときは <code>pad_with</code> を明示しましょう。集計用途なら <code>0</code>、表示用途なら <code>""</code> が定番です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">WRAPROWS関数は縦データを横に並べ直すシンプルな関数ですが、<code>pad_with</code> の使い分けとWRAPCOLSとの方向の違いを押さえれば、手作業のコピペ地獄から一気に解放されます。FILTERやSEQUENCEと組み合わせれば動的に追従するレイアウトも作れるので、ぜひ手元のシートで試してみてください。</p>



<p class="wp-block-paragraph">列方向に折り返したいときは<a href="https://mashukabu.com/spreadsheet-wrapcols-function/">WRAPCOLS関数</a>、2次元範囲を前処理したいときは<a href="https://mashukabu.com/excel-function-howto-use-tocol/">TOCOL関数</a>とセットで覚えておくと、配列操作の引き出しがぐっと広がります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-wraprows-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
