<?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/%E8%A1%8C%E5%88%97%E5%85%A5%E3%82%8C%E6%9B%BF%E3%81%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 21 Mar 2026 11:29:34 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</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>スプレッドシートのTRANSPOSE関数の使い方｜行列入れ替え</title>
		<link>https://mashukabu.com/spreadsheet-transpose-function/</link>
					<comments>https://mashukabu.com/spreadsheet-transpose-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:29:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ARRAYFORMULA関数]]></category>
		<category><![CDATA[QUERY関数]]></category>
		<category><![CDATA[TRANSPOSE関数]]></category>
		<category><![CDATA[行列入れ替え]]></category>
		<category><![CDATA[配列操作]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4741</guid>

					<description><![CDATA[スプレッドシートのTRANSPOSE関数で行と列を入れ替える方法を解説。「貼り付け→行列を入れ替え」との違い、QUERY関数やARRAYFORMULA関数との組み合わせ技、よくあるエラーの対処法まで、実務で使えるテクニックを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで表の縦と横を入れ替えたいとき、「貼り付けオプションで転置」を使っている方は多いですよね。でもこの方法だと、元データを修正しても入れ替え先には反映されません。</p>



<p class="wp-block-paragraph">TRANSPOSE関数を使えば、行と列を数式で入れ替えられます。元データが変わると自動で更新されるのが最大のメリットです。</p>



<p class="wp-block-paragraph">この記事では、TRANSPOSE関数の基本から、QUERY関数との組み合わせや「貼り付け→転置」との違いまでわかりやすく解説します。</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">スプレッドシートのTRANSPOSE関数とは？</a><ol><li><a href="#toc2" tabindex="0">TRANSPOSE関数の基本構文</a></li></ol></li><li><a href="#toc3" tabindex="0">TRANSPOSE関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">サンプルデータ</a></li><li><a href="#toc5" tabindex="0">数式を入力する</a></li><li><a href="#toc6" tabindex="0">単一行・単一列の転置</a></li></ol></li><li><a href="#toc7" tabindex="0">「貼り付け→行列を入れ替え」との違い</a></li><li><a href="#toc8" tabindex="0">TRANSPOSE関数の実務活用パターン</a><ol><li><a href="#toc9" tabindex="0">パターン1: 横持ちデータを縦持ちに変換する</a></li><li><a href="#toc10" tabindex="0">パターン2: QUERY関数と組み合わせてデータを抽出・転置する</a></li><li><a href="#toc11" tabindex="0">パターン3: SORT関数・FILTER関数と組み合わせる</a></li><li><a href="#toc12" tabindex="0">パターン4: ARRAYFORMULA関数と組み合わせて一括変換する</a></li><li><a href="#toc13" tabindex="0">パターン5: 複数列のデータを転置してカード形式にする</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">TRANSPOSE関数の結果は編集できない</a></li></ol></li><li><a href="#toc16" tabindex="0">ExcelのTRANSPOSE関数との違い</a></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのTRANSPOSE関数とは？</span></h2>



<p class="wp-block-paragraph">TRANSPOSE関数（読み方: トランスポーズ関数）は、セル範囲の<strong>行と列を入れ替える</strong>関数です。英語の「transpose」は「転置する・入れ替える」という意味があります。</p>



<p class="wp-block-paragraph">たとえば、縦3行 x 横4列の表を、横4行 x 縦3列に変換できます。元のデータと数式でつながっているため、元データを変更すると入れ替え先も自動で更新されますよ。</p>



<p class="wp-block-paragraph">TRANSPOSE関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>セル範囲の行と列を入れ替える（転置する）</li><li>元データとリアルタイムに連動する</li><li>他の関数（QUERY、SORT、FILTERなど）の結果も転置できる</li><li>横持ちデータと縦持ちデータの相互変換に使える</li></ul>



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



<pre class="wp-block-code"><code>=TRANSPOSE(配列またはセル範囲)</code></pre>



<p class="wp-block-paragraph">カッコの中に、行列を入れ替えたい範囲を指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>配列またはセル範囲</td><td>必須</td><td>行と列を入れ替えたいセル範囲。元の行が新しい列に、元の列が新しい行になる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけなので覚えやすい関数です。結果は自動でスピル展開されるため、出力先の範囲を事前に選択する必要はありません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>Googleスプレッドシートでは、TRANSPOSE関数の結果は常に自動展開（スピル）されます。Excelの旧バージョンのようにCtrl+Shift+Enterで配列数式として入力する必要はありません。</p></blockquote>



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



<p class="wp-block-paragraph">ここでは、社員名簿のような縦長の表をTRANSPOSE関数で横方向に変換する例を紹介します。</p>



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



<p class="wp-block-paragraph">A1:D4に以下のデータが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>名前</td><td>部署</td><td>入社年</td><td>等級</td></tr><tr><td>2</td><td>田中</td><td>営業</td><td>2018</td><td>A</td></tr><tr><td>3</td><td>佐藤</td><td>総務</td><td>2020</td><td>B</td></tr><tr><td>4</td><td>鈴木</td><td>経理</td><td>2019</td><td>A</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">数式を入力する</span></h3>



<p class="wp-block-paragraph">出力先の左上セル（たとえばA7）に以下の数式を入力して、Enterを押します。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(A1:D4)</code></pre>



<p class="wp-block-paragraph">元の4行が4列に、元の4列が4行に変換されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>7</td><td>名前</td><td>田中</td><td>佐藤</td><td>鈴木</td></tr><tr><td>8</td><td>部署</td><td>営業</td><td>総務</td><td>経理</td></tr><tr><td>9</td><td>入社年</td><td>2018</td><td>2020</td><td>2019</td></tr><tr><td>10</td><td>等級</td><td>A</td><td>B</td><td>A</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">元データ（A1:D4）を変更すると、転置先（A7:D10）も自動で更新されますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">単一行・単一列の転置</span></h3>



<p class="wp-block-paragraph">1行のデータを1列に変換することもできます。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(A1:D1)</code></pre>



<p class="wp-block-paragraph">横1行x4列の「名前, 部署, 入社年, 等級」が、縦4行x1列に変換されます。逆に、縦1列のデータを横1行に展開したいときも同じように使えます。</p>



<h2 class="wp-block-heading"><span id="toc7">「貼り付け→行列を入れ替え」との違い</span></h2>



<p class="wp-block-paragraph">スプレッドシートには、コピー後に「特殊貼り付け→転置して貼り付け」を選ぶ方法もあります。TRANSPOSE関数とどちらを使うべきか、比較表で整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>TRANSPOSE関数</th><th>貼り付けの転置</th></tr></thead><tbody><tr><td>元データとの連動</td><td>あり（自動更新）</td><td>なし（静的コピー）</td></tr><tr><td>操作方法</td><td>数式を入力</td><td>コピー → 右クリック → 特殊貼り付け → 転置して貼り付け</td></tr><tr><td>元データの追加</td><td>参照範囲を広げれば自動対応</td><td>再度コピー＆貼り付けが必要</td></tr><tr><td>書式の引き継ぎ</td><td>なし（値のみ）</td><td>あり（書式も含めてコピー）</td></tr><tr><td>結果の編集</td><td>不可（数式の結果のため）</td><td>可能（独立したデータ）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けの目安はこうです。</strong></p>



<ul class="wp-block-list"><li><strong>元データが更新される場合</strong> → TRANSPOSE関数（連動して自動更新される）</li><li><strong>一度きりの変換で書式も残したい場合</strong> → 貼り付けの転置</li></ul>



<p class="wp-block-paragraph">月次データや日報のように継続的に更新される表では、TRANSPOSE関数のほうが便利です。一方、レイアウトを整えた最終版の表をコピーしたいだけなら、貼り付けの転置で十分ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>貼り付けの転置はショートカットでも操作できます。範囲をコピーした後、Ctrl+Shift+V（特殊貼り付け）で「転置して貼り付け」にチェックを入れてください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc8">TRANSPOSE関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc9">パターン1: 横持ちデータを縦持ちに変換する</span></h3>



<p class="wp-block-paragraph">月別の売上が横方向に並んでいる表を、縦方向に変換する場面はよくあります。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(B1:M1)</code></pre>



<p class="wp-block-paragraph">横1行x12列の月名データを、縦12行x1列に変換できます。グラフの元データやピボットテーブルとして使いやすい形になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン2: QUERY関数と組み合わせてデータを抽出・転置する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-query-function/">QUERY関数</a>で抽出した結果を、そのままTRANSPOSEで転置できます。</p>



<p class="wp-block-paragraph">たとえば、売上データから営業部のデータだけを抽出して横方向に展開する数式です。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(QUERY(A1:D10, &quot;SELECT B WHERE A='営業'&quot;))</code></pre>



<p class="wp-block-paragraph">QUERY関数が縦方向に抽出した結果を、TRANSPOSEで横方向に並べ替えます。ダッシュボードで複数部署のデータを横並びに表示したいときに便利なパターンです。</p>



<p class="wp-block-paragraph">もう少し複雑な例として、QUERY関数のPIVOT句と組み合わせることもできます。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(QUERY(A1:C10, &quot;SELECT A, SUM(C) GROUP BY A&quot;))</code></pre>



<p class="wp-block-paragraph">グループ集計の結果を転置して、横方向に並べたレポート形式にできます。</p>



<h3 class="wp-block-heading"><span id="toc11">パターン3: SORT関数・FILTER関数と組み合わせる</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">SORT関数</a>や<a href="https://mashukabu.com/spreadsheet-filter-function/">FILTER関数</a>の結果を転置することもできます。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(SORT(A2:A10))</code></pre>



<p class="wp-block-paragraph">縦方向に並べ替えたデータを、横方向に展開します。ランキングを横一列に表示したいときに使えるテクニックです。</p>



<pre class="wp-block-code"><code>=TRANSPOSE(FILTER(B2:B10, A2:A10=&quot;東京&quot;))</code></pre>



<p class="wp-block-paragraph">FILTER関数で絞り込んだ結果を横方向に展開します。特定条件のデータを横並びで見たい場面で活躍しますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン4: ARRAYFORMULA関数と組み合わせて一括変換する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせると、転置した結果に対して一括で計算を適用できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(TRANSPOSE(B2:B10) * 1.1)</code></pre>



<p class="wp-block-paragraph">縦方向の売上データを横方向に転置しつつ、すべての値に1.1（税込み換算）を掛けています。転置と計算を1つの数式でまとめられるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン5: 複数列のデータを転置してカード形式にする</span></h3>



<p class="wp-block-paragraph">個人の情報が横一列に並んでいるデータを、縦型のプロフィールカード形式に変換する使い方です。</p>



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



<p class="wp-block-paragraph">A2:F2に「田中, 営業部, 東京, 2018年入社, A等級, 内線1234」と横並びのデータがあれば、縦6行の一覧に変換できます。</p>



<p class="wp-block-paragraph">ヘッダー行も一緒に転置すると、さらに見やすくなります。</p>



<pre class="wp-block-code"><code>=TRANSPOSE({A1:F1; A2:F2})</code></pre>



<p class="wp-block-paragraph">「{}」で配列を作り、ヘッダー行とデータ行を結合してから転置しています。ラベルとデータが横並びになるので、カード形式のレイアウトに最適ですよ。</p>



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



<p class="wp-block-paragraph">TRANSPOSE関数自体はシンプルですが、使い方によってはエラーが発生します。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#REF!</code></td><td>転置先のセルに既にデータがある</td><td>転置先の範囲を空にしてください</td></tr><tr><td><code>#REF!</code></td><td>参照先の行や列が削除された</td><td>参照先セルが存在するか確認してください</td></tr><tr><td><code>#ERROR!</code></td><td>配列の展開先がシートの端を超える</td><td>出力先をシートの左上寄りに移動してください</td></tr><tr><td><code>#N/A</code></td><td>他の関数と組み合わせた際に空セルが含まれる</td><td>IFERROR関数で空文字に置換してください</td></tr><tr><td>結果が1セルだけ</td><td>単一セルを指定している</td><td>範囲（例: A1:D4）を指定してください</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に注意したいのが「転置先のセルに既にデータがある」ケースです。スプレッドシートのスピル展開は、出力先にデータがあると <code>#REF!</code> エラーになります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>転置後のサイズがわからないときは、空白の多いエリアにTRANSPOSE関数を入力してみてください。元データが3行x5列なら、転置後は5行x3列になります。行数と列数が入れ替わるルールを覚えておけば迷いません。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc15">TRANSPOSE関数の結果は編集できない</span></h3>



<p class="wp-block-paragraph">TRANSPOSE関数の結果はスピル展開された配列です。結果の一部のセルだけを編集・削除することはできません。変更したい場合は、元データを修正するか、貼り付けの転置に切り替えてください。</p>



<h2 class="wp-block-heading"><span id="toc16">ExcelのTRANSPOSE関数との違い</span></h2>



<p class="wp-block-paragraph">ExcelにもTRANSPOSE関数がありますが、スプレッドシート版との違いがいくつかあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>スプレッドシート</th><th>Excel（Microsoft 365）</th><th>Excel（2019以前）</th></tr></thead><tbody><tr><td>入力方法</td><td>Enterのみ（自動スピル）</td><td>Enterのみ（自動スピル）</td><td>Ctrl+Shift+Enter（配列数式）</td></tr><tr><td>出力先の事前選択</td><td>不要</td><td>不要</td><td>必要（サイズを正確に合わせる）</td></tr><tr><td>結果の自動展開</td><td>あり</td><td>あり（スピル）</td><td>なし</td></tr><tr><td>出力先にデータがある場合</td><td><code>#REF!</code> エラー</td><td><code>#SPILL!</code> エラー</td><td>上書きされる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スプレッドシートとMicrosoft 365のExcelでは、ほぼ同じ感覚で使えます。Excel 2019以前を使っている方が移行する場合は、Ctrl+Shift+Enterが不要になる分、スプレッドシートのほうがシンプルですよ。</p>



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



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



<p class="wp-block-paragraph">TRANSPOSE関数は、セル範囲の行と列を入れ替えるシンプルな関数です。元データとリアルタイムに連動するため、更新頻度の高い表の変換に最適です。</p>



<p class="wp-block-paragraph">この記事のポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>TRANSPOSE関数は <code>=TRANSPOSE(範囲)</code> で、行と列を入れ替える（Enterだけで自動展開）</li><li>「貼り付け→転置」は静的コピー、TRANSPOSE関数は元データと連動する</li><li>QUERY関数と組み合わせれば、抽出結果の転置も1つの数式で完結する</li><li>SORT・FILTER・ARRAYFORMULAとの組み合わせで活用の幅が広がる</li><li>転置先のセルを空にしておかないと <code>#REF!</code> エラーが出るので注意</li></ul>



<p class="wp-block-paragraph">まずは <code>=TRANSPOSE(A1:D4)</code> のシンプルな使い方から試してみてください。QUERY関数との組み合わせを覚えれば、データの見せ方がグッと柔軟になりますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-transpose/">ExcelのTRANSPOSE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-query-function/">スプレッドシートのQUERY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">スプレッドシートのARRAYFORMULA関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-filter-function/">スプレッドシートのFILTER関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-sort-sortn-sortby/">スプレッドシートのSORT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-unique-function/">スプレッドシートのUNIQUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-index-function/">スプレッドシートのINDEX関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-transpose-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
