スポンサーリンク
今回の記事では、Excelで知らなければ恥ずかしいレベルといえる、文字列を結合する方法について述べていく。
算数とか足し算とかの超基礎だし、最低限のことは1分も読めば分かるはずなので、理解していこう。
文字列を結合するのは「&」で
Excelで文字列を結合するといったら「&」を使う。それだけだ。
上図の例なら「=A1&B1&C1&A2&B2&C2」と、各文字を「&」で順につなげれば結合できる。
正直この「&」については、私の中では足し算の「+」みたいな演算記号と同じレベルの扱いで、これを知らない頃を思い出せないくらいなので当サイトで書くつもりはなかった。
しかし職場で、これを使えるだけで解決できるケースも全然自分たちでやりきらず、私にぶん投げられることが多い。
しまいにはこの間、よその部署からわざわざ内線電話で「Excelで、文字を繋げるにはどうすればいいんでしょうか?」などと聞かれたりした(聞くにしても内線電話なんかで聞くな・・・)。
なので、意外に書いてみる価値はあると思ったし、後々書くExcelの題材にもちょっと関連付けられると思ったので、取り上げることにした。
先述の例では、既にセルの中に書かれた文字列どうしを結合するだけの例を挙げたが、当然ながらセルに書かれていない文字列も一緒に結合するのにも使える。
私にわざわざこれを質問してくるような人たちは恐らく、その辺の使い方が想像できていないのだろう。
上図では、A列・B列の情報からC列に摘要を作成したいという例だけど、
=$A2&” ” &$B2&“さん”
と、空白文字や「さん」なんかといった文字も一緒に結合している。
文字列はダブルクォーテーション「”」で囲めば良いわけだけど、うーん、内線電話してきた人は、この辺りから分かっていないのかな。
文字列を結合するには、この「&」だけ覚えておけば事足りるけど、一応おまけでそれ以外の方法も紹介しておく。
存在意義の分からないCONCATENATE関数
上記の「&」は関数というより演算子とか単なる記号みたいなものだが、文字列結合の関数としてはCONCATENATEというのがある。
でもこんなの、やたら長ったらしいばかりで、はっきり言って覚える必要はないし、普通に「&」一本でやっていけばスマートだ。
まあこの関数なら、中身を半角カンマ「,」記号で区切れるけど、メリットはそのくらい。この関数はスルーしよう。正直、存在意義が分からない。
使える人は限られるCONCAT関数
CONCAT関数というのは、上記のわけ分からんCONCATENATE関数とは異なり、けっこう強力な文字列結合関数だ。
しかし使用できるのはOffice365というやつの、Excel2016以降バージョンを使っているユーザーのみ。
私の会社のPC(Excelは2013)なんかでも使えないし、使えない環境の人が多いだろう。
私の自宅PCではOffice365が入っていて、常時最新バージョンのExcelが使えるから、それでこの記事は書いてるけどね。
このCONCAT関数を使えば、上図のように
=CONCAT($A$1:$C$2)
と簡単な範囲指定で複数セルの文字列もあっさり結合できる。
縦横に交差したセル範囲を指定した例にしているけど、横方向を優先して結合しているのが分かると思う。
これが「&」演算子だと、こういう風にセル範囲を「$A$1:$C$2」と一括指定することはできなくて
「=A1&B1&C1&A2&B2&C2」
と、必ず1個1個丁寧に指定しないといけない。
CONCATENATEより文字数も少なくシンプルで、このCONCAT関数なら使いまくりたいのだけどね。
区切り文字まで使って結合できるけど、これも使える人は限られるTEXTJOIN関数
Office365のExcel2016以降バージョンには、CONCAT関数の他に、各文字列の間に決まった区切り文字を入れられるTEXTJOIN関数というのが追加された。
上図の例では、会社・部・課・社員名のそれぞれを「の」という文字で区切っていった摘要をE2セルに入れたいので、
=TEXTJOIN(“の”,TRUE,A2:D2)
というようにしている。結果は下図の通り、E2セルには「の」文字で区切られた値が入る。
分かりにくいのがTRUEって部分は何よってことだけど、まあこれは、図中にも関数の注釈を付けてるけど「空のセルは無視」するかどうかってこと。
このTRUEをFALSEにしたらどうなるか。
上図のように、空白セルがあってもそれもカウントして、区切り文字で区切られていくようになる。
この使い所は難しいけど、空白文字とかで区切る用途が多いかな?
あるいは半角カンマ「,」文字で区切ってCSVファイルを作成するのに使うとか。
半角カンマ区切り、空白セル無視はFALSE、縦横混在の範囲で設定してみた例が下図の通り。
CSVファイルについては↓の記事もどうぞ。
まあ色々と書いたけど、最初に言ったとおり、文字列結合には「&」を使えば基本的に十分だ。
CONCAT関数とTEXTJOIN関数は結構強力だけど、なにぶんExcelのバージョンが最新レベルでないと対応していないのが痛い。
自分個人で使うならともかく、互換性に配慮して周囲に配布するには、まだまだ避けておいた方が無難だろう。
かく言う私も、会社のPCのExcel2013ではこれらの新関数は使えないから、ググって受け売りで書いただけだ。
スポンサーリンク