FILTER関数の結果を横に並べる|TRANSPOSEの書き方(Excel 2021・2019の代替も)

FILTER関数の結果を横に並べる|TRANSPOSEの書き方(Excel 2021・2019の代替も)

FILTER関数で取り出した名前を横に並べるには、結果をTRANSPOSE関数で囲みます。都道府県ごとに該当する人を横並びに表示する例で、式の入力場所、コピーの方向、該当者がいないときの対処を説明します。

練習用Excelファイル(無料ダウンロード)
FILTER+TRANSPOSEと、旧Excel向けのINDEX+MATCHを収録。対応するシートを選び、A3の都道府県を変更して試します。ボタンをクリック/タップして保存し、Excelで開いてください。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

FILTERの結果を横に並べる基本式

A7:A9に氏名、B7:B9に都道府県、A3に抽出したい都道府県を入力します。結果の先頭となるB3へ、次の式を入力してください。

B3に入力:FILTERの結果をTRANSPOSEで横に並べる
数式=TRANSPOSE(FILTER($A$7:$A$9,$B$7:$B$9=$A3,"該当なし"))
ひとことでA3の都道府県の人の氏名を、横に並べる
$A$7:$A$9
取り出す範囲です。氏名の列だけを指定します($ で固定)
$B$7:$B$9=$A3
条件です。都道府県が A3 と同じ行だけが TRUE になります。B4へコピーすると、条件のセルだけが A3 → A4 に変わります
"該当なし"
該当する人がいないとき(0件)に表示する文字です
TRANSPOSE(…)
FILTERが縦に取り出した結果の、縦と横を入れ替えます
データの流れ
① 都道府県が「埼玉県」の行の氏名を、縦に取り出す(黄色)
A7木村洋子A8田中康規A9堀川千里
▼
② 縦横を入れ替えて、B3から横に並べる結果
B3木村洋子C3田中康規

FILTERが該当する氏名を縦に抽出し、TRANSPOSEが縦横を入れ替えます。A3が埼玉県なら、サンプルの木村洋子・田中康規がB3、C3へ横に並びます。

FILTERの結果を横に並べる(TRANSPOSEとFILTER)式 =TRANSPOSE(FILTER($A$7:$A$9,$B$7:$B$9=A3)) の解説図。B3に入力する
B3に =TRANSPOSE(FILTER($A$7:$A$9,$B$7:$B$9=A3)) を入力。FILTER で埼玉県の氏名を 縦に取り出し、 TRANSPOSE で横に並べる

数式は右へコピーしない

注意Microsoft 365・Excel 2024・2021では、B3の式だけで結果が右へスピルします。C3以降へ同じ式をコピーすると、結果どうしがぶつかる原因になります。表示先は空けておきましょう。
ポイント別の都道府県も表示したい場合は、A4に都道府県を入力し、B3の式をB4へコピーします。データ範囲は $ で固定しているため動かず、条件セルだけが $A3 から $A4 に変わります。

該当者がいない・空白が0になる場合

ポイントFILTERの第3引数「該当なし」は0件のときの表示です。空白にしたいなら "" に変更できます。元データの氏名が空白の行を除きたい場合は、抽出条件にも空白除外を加えます。
B3に入力:元データの空白行を除いて、横に並べる
数式=TRANSPOSE(FILTER($A$7:$A$100,($B$7:$B$100=$A3)*($A$7:$A$100<>""),"該当なし"))
ひとことで都道府県が一致し、かつ氏名が空白でない行だけを横に並べる
$A$7:$A$100
取り出す範囲です。データが増えてもよいように、7〜100行と広めにします
($B$7:$B$100=$A3)*($A$7:$A$100<>"")
都道府県が一致し、かつ氏名が空白でない行だけを 1 にします(* は「かつ」)。抽出範囲と同じ行数(7〜100行)にそろえます
"該当なし"
0件のときに表示する文字です
補足見た目だけ空白のスペースは、<>“” では除外できません。
ポイント抽出範囲と条件範囲は同じ行数にします。ここではどちらも7~100行です。見た目だけ空白のスペースは、<>"" では除外できません。
練習用Excelファイル(無料ダウンロード)
TRANSPOSE版とINDEX・MATCH版の両方が入っています都道府県を書き換えて、氏名が横に並ぶ様子を確認できます。FILTERが使えないExcel向けの補助列のシートも入っています。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

Excel 2019・2016で横に抽出する方法

FILTERが使えない場合は、都道府県ごとの連番を補助列へ作ります。サンプルと同じD7へ次の式を入力し、D9までコピーします。

D7に入力(D9までコピー):都道府県ごとの連番キーを作る
数式=B7&COUNTIF($B$7:B7,B7)
ひとことで都道府県名の後ろに、「同じ都道府県の何人目か」を付ける
B7
都道府県名です
COUNTIF($B$7:B7,B7)
7行目から今の行までに、同じ都道府県が何回出たかを数えます。範囲の最初だけ固定($B$7)して、下へコピーします
データの流れ
① 木村洋子・田中康規は埼玉県(1人目・2人目)、堀川千里は神奈川県(1人目)結果
D7埼玉県1D8埼玉県2D9神奈川県1
ポイント埼玉県が2件なら「埼玉県1」「埼玉県2」というキーができます。都道府県名を条件にするこのサンプルでは、末尾に連番を付けて区別できます。一般の商品名などで使う場合は区切り文字も含め、別の組み合わせが同じキーにならないようにしてください。

B3へ次の式を入力し、右方向へ必要な人数分コピーします。その後、別の都道府県の行へ下方向にコピーします。

B3に入力(右・下へコピー):補助キーで、1人ずつ横に取り出す
数式=IFNA(INDEX($A$7:$A$9,MATCH($A3&COLUMN(A1),$D$7:$D$9,0)),"")
ひとことで都道府県と連番をつなげたキーを探して、氏名を取り出す
$A3&COLUMN(A1)
探すキーです。都道府県(A3)と、列の番号(COLUMN(A1)は 1。右へコピーすると COLUMN(B1) で 2)をつなげます
$D$7:$D$9
補助キー(埼玉県1・埼玉県2・神奈川県1)の範囲です
$A$7:$A$9
氏名の範囲です。キーが見つかった行の氏名を返します
IFNA(…,"")
見つからないとき(人数が足りない分)は、空白にします
データの流れ
① 「埼玉県1」を探すと、氏名の1行目
キー埼玉県1B3木村洋子
▼
② 右へコピーして「埼玉県2」を探すと、2行目結果
キー埼玉県2C3田中康規
ポイントCOLUMN(A1)は1、右へコピーするとCOLUMN(B1)で2になります。条件と連番で1人目、2人目を順に探し、見つからない分は空白になります。
練習用Excelファイル(無料ダウンロード)
A3・A4の都道府県を変えて、並ぶ人数が変わることを確かめられます。FILTER対応のMicrosoft 365・Excel 2024・2021で開いてください。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

横並びにならない・エラーになるときの確認表(#SPILL!・#CALC!)

症状確認すること
#SPILL!右側に値や数式、結合セルがないか
#CALC!FILTERの第3引数を省略し、該当行が0件になっていないか
#VALUE!氏名範囲と条件範囲の行数が同じか
想定より結果の行数が増えるFILTERの抽出範囲に複数列を含めていないか
注意氏名だけを1行に並べるなら、FILTERの第1引数は氏名の1列にします。表全体をTRANSPOSEすると、表全体の行列が入れ替わるため、別の配置になります。

氏名だけを横1行にするなら、TOROW関数でも書ける(Microsoft 365)

Microsoft 365では、TRANSPOSEの代わりに TOROW 関数を使っても、同じ結果になります。TOROWとTRANSPOSEの使い分け(複数列を抽出したとき、縦に戻すTOCOLなど)は、FILTER関数の結果を横に並べる方法|TOROW・TRANSPOSEとの組み合わせで解説しています。

B3に入力:TOROW関数で、横1行にする(Microsoft 365)
数式=TOROW(FILTER($A$7:$A$9,$B$7:$B$9=$A3,"該当なし"))
ひとことでFILTERの結果を、TOROWで横1行にする(TRANSPOSEと同じ結果)
TOROW(…)
縦に並んだ結果を、横1行に並べる関数です。氏名の1列だけを抽出するなら、TRANSPOSEと同じ結果になります
補足複数列を抽出したときの違い(TOROWは全データを1行につなげ、TRANSPOSEは表の縦横を入れ替える)は、関連記事で解説しています。

複数条件や横方向の表を扱う場合

「都道府県が一致し、氏名が空白でない」のようなAND条件は * でつなぎます。条件の書き方はFILTERのAND・OR条件、表示先のエラーは#SPILL!の原因と直し方で確認できます。

練習用Excelファイル(無料ダウンロード)
FILTER+TRANSPOSEと、旧Excel向けのINDEX+MATCHを収録。対応するシートを選び、A3の都道府県を変更して試します。ボタンをクリック/タップして保存し、Excelで開いてください。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

仕様の確認:Microsoft公式・FILTER関数

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次