Excelの式はシンプルにしよう
こんにちは。なおです。
先日、Excelで複数の文字列を1つのセルに表示する方法を紹介しました。
複数の文字列を1つのセルに表示する方法は
連結演算子&を使う
CONCATENATE関数を使う
CONCAT関数を使う
TEXTJOIN関数を使う
ですが、どの関数を使うかによって式の長さ・複雑さが異なります。
十数行にわたる文字列を1つのセルに表示したいとき、CONCATENATE関数を使うと式が長くなり間違いが起きやすいです。
TEXTJOIN関数を使うと式がシンプルになり、間違いも起きにくくなります。
式をシンプルにできる方法があれば、シンプルにするようにしましょう。
CONCATENATE関数
先日、CONCATENATE関数を使ってリストを作成していましたが、作成しているうちに式が複雑になってしまいました。
=CONCATENATE(IF(B2="","",B2),IF(B3="","",IF(B2="","","、")&B3),IF(B4="","","、"&B4),IF(B5="","","、"&B5),IF(B6="","","、"&B6),IF(B7="","","、"&B7),IF(B8="","","、"&B8),IF(B9="","","、"&B9),IF(B10="","","、"&B10),IF(B11="","","、"&B11))
見ているだけで頭がクラクラになってしまいそうです。
、を区切り文字に入れて空白セルを無視して表示するときはIF関数を使う必要があります。
CONCATENATE関数は範囲指定できず、条件指定もできないので1つずつ式を入力しなければいけません。
データを追加したいときに追加したい分の式を入力する必要があるので、式がさらに長くなってしまいます。
式が長くなって複雑になってしまうと、間違いが起きやすいです。
TEXTJOIN関数
簡単に表せる式はないのか試したところ、TEXTJOIN関数を使うことで式がシンプルになりました。
=TEXTJOIN("、",TRUE,B2:B11)
超シンプル!
CONCATENATE関数を使ったときと結果は同じなら、こちらのほうがいいですよね?
CONCATENATE関数ではIF関数を使って条件指定しましたが、TEXTJOIN関数は1つの式で同じことができます。
TEXTJOIN関数は以下の特徴があります。
区切り文字を指定できる
空白セルを無視するか含めるかを指定できる
範囲指定できる
指定した区切り文字で文字列を結合でき、範囲指定もできるのでシンプルで間違いが起きにくいです。
シンプルにできる方法があれば、式をシンプルにしましょう。
この記事が気に入ったらサポートをしてみませんか?