別シートに条件に合う行だけ自動で転記!FILTER関数ひとつで担当者別の表ができる

条件に合う行だけ自動で転記。FILTER関数で担当者別の表をつくる 集計・転記

担当者ごとに受注一覧を分けるとき、毎回オートフィルターで絞り込んで、コピーして、別のシートに貼り付けて…ってやっていませんか?月末にこれを何人分もやると、地味に時間がかかるんですよね😅

結論から書くと、転記先のシートにこの式を1つ入れるだけです!

=FILTER(受注,受注[担当者]=B1,"該当なし")

B1 の名前を変えれば、表が勝手に入れ替わります。コピーも貼り付けも要りません♪ 元の一覧を「テーブル」にしておけば、行が増えても式を直す必要もなし。

ただ、実際に作ってみると「#スピル!」が出たり、日付が 46296 みたいな数字になったりと、つまずくところがいくつかありました。その直し方も、試した順に書いていきますね。FILTER 関数がない Excel 向けの書き方も最後に載せています。

🎬 実際の Excel 画面で、最初から最後まで操作している動画もあります(5分半くらい)。テーブルの作り方やエラーの直し方も入っているので、動画で見たい方はこちらからどうぞ♪

動画で見る:FILTER関数で担当者別の表を作る(音声あり・章ごとに見られます)

できあがりはこんな感じです

「担当者別」シートの B1 に「佐藤」と入れると、受注一覧から佐藤さんの7件だけが並びます。

担当者別シートでB1に佐藤と入れると、佐藤の受注7行だけが表示された完成形
B1 に「佐藤」→ 佐藤さんの7件だけが並ぶ

B1 を「鈴木」に変えると、鈴木さんの5件にパッと入れ替わります。式はそのままです✨

B1を鈴木に変えると鈴木の受注5行に切り替わる
B1 を「鈴木」に変えただけで切り替わる

作り方は3ステップ

1. 元の表を「テーブル」にしておく

まず元の表(ここでは「受注一覧」シートの A1:F21)のどこかを選んで、Ctrl + T を押します。「先頭行をテーブルの見出しとして使用する」にチェックが入っているのを確かめて OK です。

受注一覧シート(元の表)。受注日・担当者・取引先・商品・数量・金額の20行
元の表(受注一覧シート)をテーブルにしたところ

次に、リボンの「テーブルデザイン」タブの左端にある「テーブル名」を 受注 に変えます。これで式の中で 受注(表全体)や 受注[担当者](担当者の列)と書けるようになります。

テーブルにしておくと何がうれしいかというと、あとで一覧の下に行を足したとき、転記先の表にも自動で反映されることなんです。試しに佐藤さんの受注を1行足してみたら、担当者別シートの表がちゃんと7行から8行に増えました!

2. 転記先のシートに見出しと条件のセルを用意する

「担当者別」シートの A1 に「担当者」、B1 に「佐藤」と入れます。3行目には元の表と同じ見出し(受注日・担当者・取引先・商品・数量・金額)を並べておきます。

3. A4 に FILTER 関数を1つだけ入れる

=FILTER(受注,受注[担当者]=B1,"該当なし")
  • 受注:取り出したい表(テーブル全体)
  • 受注[担当者]=B1:残す行の条件。「担当者の列が B1 と同じ行」という意味
  • "該当なし":1行も当てはまらないときに出す文字

Enter を押すと、A4 から右下に向かって結果が広がって表示されます(これを「スピル」と言います)。B5 から下に式をコピーする必要はありません。これだけで完成です🙌

仕上げ:日付と金額の表示をそろえる

…と言いたいところなんですが、式を入れた直後は、受注日が 46296 のような数字で、金額もカンマなしで表示されました。FILTER は値だけを持ってきて、元の表の表示形式までは持ってきてくれないんです。

FILTERで取り出した直後は受注日が46296のような数字、金額がカンマなしで表示される
式を入れた直後。受注日が数字になっている

A 列(A4 から下の、行が増えそうなところまで)を選んで Ctrl + 1 →「日付」、F 列は「数値」で「桁区切り(,)を使用する」にチェックを入れれば直ります。結果がまだ入っていない下の行まで先に設定しておくのがコツです。行が増えたときもそのままきれいに表示されますよ😊

うまくいかないときは(実際に出たエラーと直し方)

「#スピル!」と出たら、結果が広がる場所に何か入っています

英語版の Excel では #SPILL! ですが、日本語版ではカタカナで #スピル! と出ます。初めて見ると、何のエラーかわかりにくいですよね(^^;試しに C8 に「メモ」と1つ書いただけで、表がまるごと消えてこの表示になりました。

取り出す範囲のC8にメモがあると、A4に#スピル!と表示される
C8 の「メモ」がじゃまをして #スピル! になった

じゃまになっているセル(ここでは C8)の中身を消すと、すぐに元どおり表示されます。

やっかいなのが、見た目は空っぽのセルでも起きることです。C8 にスペースを1つ入れただけでも同じエラーになりました。怪しい範囲は選んで Delete キーで消すのが確実です。転記先のシートには、FILTER の結果の下や右にメモを書かないようにしておくと安心ですね。

「#CALC!」と出たら、当てはまる行が1つもありません

3つ目の引数("該当なし")を省いた =FILTER(受注,受注[担当者]=B1) のまま、一覧にいない名前(サンプルでは「山本」)を B1 に入れたら #CALC! になりました。3つ目の引数を付けておけば、代わりに「該当なし」と表示されます。

FILTERの3つ目の引数を省き、該当者がいないとき#CALC!と表示される
3つ目の引数がなく、該当者もいないと #CALC!

「名前は一覧にあるのに、なぜか該当なしになる…」というときは、B1 や元の表の名前の前後に空白が入っていないか見てみてください。B1 を「佐藤 」(後ろに空白)にしてみたら、佐藤さんの行があるのに「該当なし」になりました。見た目ではまったくわからないので、これは本当に気づきにくいです(>_<)

受注日が数字のまま → 表示形式を「日付」に

上の「仕上げ」のとおりです。数字になっていても壊れているわけではなく、Excel の中での日付の持ち方(1900年1月1日からの日数)がそのまま見えているだけなので安心してください。

応用編:条件を増やす・並べ替える・列をしぼる

ここからはちょっと応用です。どれもサンプルで結果の行数を数えて、手で数えた件数と合っていることを確かめました✅

「佐藤さん かつ 1万円以上」だけ出したい

条件をかっこで囲んで * でつなぎます。I1 に下限の金額(10000)を入れておく例です。

=FILTER(受注,(受注[担当者]=B1)*(受注[金額]>=I1),"該当なし")

佐藤さんの7件のうち、1万円以上の3件だけが残りました。

「佐藤さん または 田中さん」を出したい

「または」のときは + でつなぎます。

=FILTER(受注,(受注[担当者]="佐藤")+(受注[担当者]="田中"),"該当なし")

佐藤さん7件+田中さん4件で、11件になりました。

金額の大きい順に並べたい

FILTER をまるごと SORT で包みます。6 は「6列目(金額)で」、-1 は「大きい順に」という意味です。

=SORT(FILTER(受注,受注[担当者]=B1,"該当なし"),6,-1)

受注日・取引先・金額だけ転記したい

CHOOSECOLS で、残したい列の番号を並べます。Microsoft 365 の Excel で使える関数です。

=CHOOSECOLS(FILTER(受注,受注[担当者]=B1,"該当なし"),1,3,6)

FILTER 関数がない Excel を使っている場合

FILTER 関数は Microsoft 365 と Excel 2021 以降の関数なので、それより前の Excel では使えません。その場合は、INDEX と AGGREGATE を組み合わせた式を、表の大きさの分だけコピーして使います。A4 にこの式を入れて、A4:F23 にコピーしてください(元の表がテーブルではなく、受注一覧シートの A2:F21 にある場合の例です)。

=IFERROR(INDEX(受注一覧!A$2:A$21,AGGREGATE(15,6,(ROW(受注一覧!$A$2:$A$21)-1)/(受注一覧!$B$2:$B$21=$B$1),ROW()-3)),"")
FILTERを使わずINDEXとAGGREGATEで同じ表を作った結果
INDEX+AGGREGATE でも同じ7件が並んだ

ちょっと長いので、何をしているか分けて書きますね。

  • (ROW(…)-1)/(担当者の列=$B$1):条件に合う行は「表の中で何行目か」、合わない行はエラーになる
  • AGGREGATE(15,6,…,ROW()-3):エラーは無視して、小さい順に1番目・2番目…の行番号を取り出す(4行目に置いた式なので ROW()-3 が1になる)
  • IFERROR(…,""):当てはまる行がなくなったら空欄にする

Microsoft 365 の Excel で、この式の結果が FILTER と1セルずつ同じになり、余った行が空欄になることを確かめました(古い版の Excel そのものでは試せていないので、その点だけご了承ください m(_ _)m)。

式を置く行を変えたときは、ROW()-3 の「3」を見出しの行番号に合わせてください。それから、FILTER と違って行が増えても自動では伸びないので、元の表の範囲(A$2:A$21 など)と式をコピーする行数は、多めにとっておくのがおすすめです。

サンプルファイルはこちら

この記事で使ったファイルです。「受注一覧」「担当者別」(FILTER 版)「古い版向け」(INDEX+AGGREGATE 版)の3シートが入っています。データはすべて架空のものです。

マクロは入っていません。ダウンロードしたファイルが「保護ビュー」で開いたら、「編集を有効にする」を押すと式が動きます。

月末の「担当者ごとに分ける作業」、これで少しでもラクになったらうれしいです(*^^*)

この記事の式は、Microsoft 365 の Excel(ビルド 16.0.20527.20150、Windows 11)で、2026年11月8日にすべて試しました。


毎月の転記や集計を、ボタン1つで終わるようにしたい場合は、ココナラで Excel の自動化のご依頼も受けています。

タイトルとURLをコピーしました