Excel。「;(セミコロン)」で繋げて手早く一斉メールアドレスをつくりたい
<TEXTJOIN関数>
テレワークに限らず、多くのスタッフ宛に一斉メールを送りたい場合、メールアドレスごとに「;(セミコロン)」で結合します。
例えば、次のようなスタッフメールアドレス一覧が用意されています。
メールアドレスの間に「;(セミコロン)」をいれた文字列をつくるわけですが、どのようにしたら、手早く作ることができるのでしょうか?
例えば「&(アンパサンド)」で文字列を結合する方法もあります。
=B2&”;”B3…
というような数式になるわけですが、件数が多いので大変ですね。
また、文字結合をする関数である「CONCAT関数」や「CONCATENATE関数」をつかうとしても、「&(アンパサンド)」と同じような数式になってしまいます。
=CONCAT(B2,";",B3,";"…)
それでは、Excel VBAでプログラムをつくるしかないのでしょうか。
そこで、新しく追加された関数「TEXTJOIN関数」をつかうことで、とても簡単につくることができます。
D2に次の数式をつくりました。
=TEXTJOIN(";",TRUE,B2:B10)
数式のままだと、つかえませんので、あとは値のコピーをすることで、一斉メール用のメールアドレスをつくることができました。
では、TEXTJOIN関数を確認しておきましょう。
最初の引数は、「区切り文字」。
結合する文字の間にいれたい文字を設定します。
今回は「;(セミコロン)」で区切りたいので、「”;”」と設定します。
2番目の引数は、「空のセルの無視」。
結合したいセルが空白だった場合、空白にするのか、無視するのかを決めることができます。
今回は、無視することにしますので、「TRUE」と設定します。
この後の引数は、「テキスト1」。結合したいセルを範囲選択してきます。
よってB2:B10と設定します。
文字結合する関数も、色々用意されていますので、用途に合わせて使い分けることで、効率的に処理することができますので、関数を探してみるといいかもしれませんね。