FILTER関数の結果を横に並べる方法|TOROW・TRANSPOSEとの組み合わせ

結論(先に答え)

FILTERの結果を横1行に並べるには =TOROW(FILTER(A2:A10, 条件)) が最速です。TOROWが使えないExcel 2021などでは =TRANSPOSE(FILTER(A2:A10, 条件)) で行列を入れ替えます。

FILTER関数で条件抽出した結果は、必ず縦方向にスピルします。「抽出したメンバー名を横一列に並べたい」「見出しの下に横向きで表示したい」という場合は、TOROW関数またはTRANSPOSE関数で向きを変換します。この記事では両方の方法と使い分けを解説します。

目次

今回のゴール:営業部のメンバーを横1行に並べる

以下のサンプルデータをExcelシートにコピーしてください。

練習用のExcelファイルはこちらからダウンロードできます:
Excel-filter-yoko-narabe-1.xlsx(ダウンロード)

AB
1氏名部署
2佐藤営業
3鈴木総務
4高橋営業
5田中経理
6伊藤営業
FILTER関数の結果をTOROW関数で横1行に並べる図解

方法1:TOROW関数(Microsoft 365)

=TOROW(FILTER(A2:A6, B2:B6="営業")) → 佐藤 高橋 伊藤(横1行にスピル)

内側のFILTERが「営業」の氏名を縦に抽出し、TOROWがそれを1行に変換します。逆に縦1列に揃えたいときはTOCOL関数です。

方法2:TRANSPOSE関数(Excel 2021でもOK)

=TRANSPOSE(FILTER(A2:A6, B2:B6="営業")) → 同じく横1行に表示

TRANSPOSEは行と列を入れ替える関数なので、縦1列の抽出結果なら結果はTOROWと同じです。TOROWがないバージョン(Excel 2021など)ではこちらを使ってください。

複数列を抽出して横向きにする場合

複数列をFILTERで抽出した場合、TOROWは全データを1行に「つなげて」しまいます。表の縦横を丸ごと入れ替えたいときはTRANSPOSEを使います。

=TRANSPOSE(FILTER(A2:B6, B2:B6="営業")) → 1行目に氏名、2行目に部署が横に並ぶ

使いたい形使う関数
1列の抽出結果を横1行にTOROW(またはTRANSPOSE)
複数列の抽出結果の縦横を入替TRANSPOSE
何行×何列と形を指定して並べたいWRAPROWS/WRAPCOLS

注意点

スピルの出力先に既存のデータがあると #SPILL! エラーになります。横方向に十分な空きセルを確保してから数式を入力してください。また、該当データが0件のときのエラーは =TOROW(FILTER(A2:A6, B2:B6="営業", "該当なし")) のようにFILTERの第3引数で回避できます。

まとめ

「FILTERで抽出 → TOROW/TRANSPOSEで横向きに変換」の2段構えを覚えれば、抽出結果を自由なレイアウトで表示できます。名簿の横並び表示や、集計表の見出し行づくりにぜひ活用してください。

こんな場合はこちら:FILTER関数の基本の使い方動的配列・スピル関数のまとめ

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

この記事を書いた人

コメント

コメントする

目次