【Excel】担当者名を自動でカンマ区切りにする!FILTER関数×TEXTJOIN関数
Excelで名簿や担当表を作っていると、「条件に当てはまる人だけを抜き出して、1つのセルにまとめたい」ということがあります。
たとえば、担当者の一覧があり、「担当」の列がTRUEになっている人だけを、「木村,鈴木,佐藤,長谷川,山口」のようにカンマ区切りで表示したい場合です。
そんなときに便利なのが、FILTER関数とTEXTJOIN関数の組み合わせです。
① 挿入タブからチェックボックスを挿入する
まず、担当者の一覧を作り、「担当」の列にチェックボックスを挿入します。
チェックが入っている人はTRUE、チェックが外れている人はFALSEとして扱われます。
このTRUE・FALSEをFILTER関数の条件として利用します。

② FILTER関数で必要な名前だけを抽出
まずは、FILTER関数を使って、担当になっている人だけを取り出します。
=FILTER(E4:E13,D4:D13=TRUE,"")
FILTER関数の基本的な構成は次のとおりです。
=FILTER(配列,条件,[空の場合])
●「配列」とは?
取り出したいデータの範囲です。
今回の場合は、「E4:E13」 となっており、E列の名前から必要なものを取り出します。
●「条件」とは?
どのデータを取り出すのかを決める条件です。
今回の、
「D4:D13=TRUE」 は、「D4~D13の中でTRUEになっている行」という意味です。
そのため、チェックが入っている人の名前だけが抽出されます。
●「空の場合」とは?
条件に合うデータが1つもなかった場合に、何を表示するかを指定します。
今回の 「""」は、「何も表示しない」という指定です。
この数式によって、
木村
鈴木
佐藤
長谷川
山口
という名前が抽出されます。

③ TEXTJOIN関数で1つのセルにまとめる
FILTER関数で名前を抽出できたら、次はTEXTJOIN関数を使って、1つのセルにつなげます。
=TEXTJOIN(",",TRUE,FILTER(E4:E13,D4:D13=TRUE,""))
TEXTJOIN関数の基本的な構成は、
=TEXTJOIN(区切り文字,空白セルを無視,文字列1,[文字列2],...)です。
●「区切り文字」とは?
文字と文字の間に何を入れるかを指定します。
今回の「","」は、カンマを指定しています。
そのため、
木村,鈴木,佐藤……のように、名前と名前の間にカンマが入ります。
●「空白セルを無視」とは?
空白のセルを、つなげる対象から除外するかどうかを指定します。
ここでは、「TRUE」としているので、空白セルを無視します。
●「文字列1」とは?
つなげたい文字列を指定します。
今回は、ここにFILTER関数を入れています。
FILTER(E4:E13,D4:D13=TRUE,"")
つまり、FILTER関数で「担当者だけを抽出」し、その結果をTEXTJOIN関数で「カンマ区切りにつなげる」という仕組みです。
④ 完成!
最終的な数式は、
=TEXTJOIN(",",TRUE,FILTER(E4:E13,D4:D13=TRUE,""))
となります。
結果は、
木村,鈴木,佐藤,長谷川,山口と、1つのセルに表示されます。

さらに便利なのが、チェックボックスを変更するだけで、結果も自動的に変わることです。
たとえば、佐藤さんのチェックを外すと、一覧から「佐藤」が自動的に外れます。
担当者一覧やシフト表、チェックリストなど、「条件に合う人を1つのセルにまとめたい」という場面で活用できます。
FILTER関数で「必要なデータを抽出」、TEXTJOIN関数で「抽出したデータをつなげる」。
この2つの関数を組み合わせることで、Excelの一覧表をより便利にできます。ぜひ試してみてください!
たとえば、担当者の一覧があり、「担当」の列がTRUEになっている人だけを、「木村,鈴木,佐藤,長谷川,山口」のようにカンマ区切りで表示したい場合です。
そんなときに便利なのが、FILTER関数とTEXTJOIN関数の組み合わせです。
① 挿入タブからチェックボックスを挿入する
まず、担当者の一覧を作り、「担当」の列にチェックボックスを挿入します。
チェックが入っている人はTRUE、チェックが外れている人はFALSEとして扱われます。
このTRUE・FALSEをFILTER関数の条件として利用します。

② FILTER関数で必要な名前だけを抽出
まずは、FILTER関数を使って、担当になっている人だけを取り出します。
=FILTER(E4:E13,D4:D13=TRUE,"")
FILTER関数の基本的な構成は次のとおりです。
=FILTER(配列,条件,[空の場合])
●「配列」とは?
取り出したいデータの範囲です。
今回の場合は、「E4:E13」 となっており、E列の名前から必要なものを取り出します。
●「条件」とは?
どのデータを取り出すのかを決める条件です。
今回の、
「D4:D13=TRUE」 は、「D4~D13の中でTRUEになっている行」という意味です。
そのため、チェックが入っている人の名前だけが抽出されます。
●「空の場合」とは?
条件に合うデータが1つもなかった場合に、何を表示するかを指定します。
今回の 「""」は、「何も表示しない」という指定です。
この数式によって、
木村
鈴木
佐藤
長谷川
山口
という名前が抽出されます。

③ TEXTJOIN関数で1つのセルにまとめる
FILTER関数で名前を抽出できたら、次はTEXTJOIN関数を使って、1つのセルにつなげます。
=TEXTJOIN(",",TRUE,FILTER(E4:E13,D4:D13=TRUE,""))
TEXTJOIN関数の基本的な構成は、
=TEXTJOIN(区切り文字,空白セルを無視,文字列1,[文字列2],...)です。
●「区切り文字」とは?
文字と文字の間に何を入れるかを指定します。
今回の「","」は、カンマを指定しています。
そのため、
木村,鈴木,佐藤……のように、名前と名前の間にカンマが入ります。
●「空白セルを無視」とは?
空白のセルを、つなげる対象から除外するかどうかを指定します。
ここでは、「TRUE」としているので、空白セルを無視します。
●「文字列1」とは?
つなげたい文字列を指定します。
今回は、ここにFILTER関数を入れています。
FILTER(E4:E13,D4:D13=TRUE,"")
つまり、FILTER関数で「担当者だけを抽出」し、その結果をTEXTJOIN関数で「カンマ区切りにつなげる」という仕組みです。
④ 完成!
最終的な数式は、
=TEXTJOIN(",",TRUE,FILTER(E4:E13,D4:D13=TRUE,""))
となります。
結果は、
木村,鈴木,佐藤,長谷川,山口と、1つのセルに表示されます。

さらに便利なのが、チェックボックスを変更するだけで、結果も自動的に変わることです。
たとえば、佐藤さんのチェックを外すと、一覧から「佐藤」が自動的に外れます。
担当者一覧やシフト表、チェックリストなど、「条件に合う人を1つのセルにまとめたい」という場面で活用できます。
FILTER関数で「必要なデータを抽出」、TEXTJOIN関数で「抽出したデータをつなげる」。
この2つの関数を組み合わせることで、Excelの一覧表をより便利にできます。ぜひ試してみてください!








