小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2026年1月20日【ID:0】

【Excel】1つの数式でセル結合を解除

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


以下の画像のように、一部のセルが結合された表を、たった1つの数式(黄色のセル)で、セルの結合を解除して抽出する方法について紹介していきます。


セル結合を解除して抽出する数式

こちらでは、以下の左側の「セルの結合を含む表」から、セルの結合を含まない状態で右側の表に抽出していきます。

数式に使う関数は、SCAN関数です。
SCAN関数は、指定した範囲のそれぞれの値に対して、1つ前に処理した値を活用し、さらに処理を行った結果を返します。

まずは、先頭の「大カテゴリー」をセルの結合を含まない状態で抽出する場合、SCAN関数を用いて、以下の法則で抽出する必要があります。

大カテゴリーの先頭のセルから順番に確認し、
・セルが空でない場合は、そのまま値を抽出
・セルが空の場合は、1つ前に抽出した値を抽出

これを数式で表現すると、以下のようになります。

=SCAN("",B3:B11,LAMBDA(a,b,IF(b<>"",b,a)))
// "":初期値に、最初の値に関しては1つ前に抽出した値が存在しないため「空」を指定
// B3:B11:処理対象の範囲に、「大カテゴリーの範囲」を指定
// LAMBDA(a,b,IF(b<>"",b,a):処理の内容に、「LAMBDA関数」を指定
// → LAMBDA(1つ前に抽出した値[1], 確認対象の値[2], [1]と[2]を用いた数式)

数式を入力することで、以下のように抽出することができます。

他の項目に関して、単純に「B3:B11(大カテゴリー)」の範囲を広げれば抽出できそうに思えますが、実際は、以下のように上手くいきません。

=SCAN("",B3:D11,LAMBDA(a,b,IF(b<>"",b,a)))

この原因は、SCAN関数が処理する順番にあります。
SCAN関数は、指定された範囲の先頭行の先頭列から隣の列へと処理をします。
そのため、SCAN関数を用いて複数列の範囲を指定する場合は、行と列の値を入れ替える必要があります。

それを実現するには、TRANSPOSE関数を活用します。
SCAN関数に指定する範囲をTRANSPOSE関数で囲って、以下のように指定します。

=SCAN("",TRANSPOSE(B3:D11),LAMBDA(a,b,IF(b<>"",b,a)))

ただ以下のように、処理した結果も行と列の値が入れ替わってしまいます。

そのため、SCAN関数自体もTRANSPOSE関数で囲って、以下のように指定します。

=TRANSPOSE(SCAN("",TRANSPOSE(B3:D11),LAMBDA(a,b,IF(b<>"",b,a))))

これで完成です。
以下のように、セルの結合を解除して抽出することができます。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

7149010

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】海外資料を数式でサクッと翻訳

【Excel】シートの増減に対応した串刺し演算

【Excel】特定の条件を満たしたときにメッセージを表示

【Excel】複数のセルを異なる区切り文字で文字結合

【Excel】重複を除いた件数と重複した件数

【Excel】VLOOKUP関数で効率的に抽出

【Excel】数式などでシートを切り替えずに別シートを参照!?

【Excel】該当する氏名をカンマ区切りで抽出

【Excel】数値以外の連続した文字を入力

【Outlook・Word】定型のあいさつ文を入力

【Excel】商品ごとの発注単位を考慮したリスト

【Excel】期限に応じた優先度を自動で表示させる

【Excel】キーボードのみでフィルター操作

【Excel】複数の目標値を自動で計算「ソルバー」

【ExcelVBA】相関性を保ったまま重複のない番号を自動入力

【Excel】セル参照や数式に名前を付ける「LET関数」

【ExcelVBA】半角文字を自動で全角文字に変換

【Excel】在庫数が指定値未満の場合に自動色付け

【Excel】登録データから未来を予測

【Excel】組織図を簡単に作成する方法

【Excel】各シートのセルの値を一括抽出

【Excel】スケジュール表の今日の日付を自動で色付け

【Excel】「選択範囲内で中央」の本当の使い道

【Excel】セル自体が斜めになる!?

【Excel】シートを完全に非表示にする





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ