Excel。新関数のCONCAT関数はこう使う!3-D集計は数値しかできないので、文字の場合はどうするの?
【IF+CONCAT関数】
複数シートの同じ位置にある場合、3-D集計を使うと、あっという間に合算してくれたりします。数値だから3-D集計を使えるわけですが、次のような文字の場合どのようにしたらいいのでしょうか?
【複数シートから同じ文字を見つける】
次の3枚のシートがあります。このシートは各人の予定表で会議に参加できる時間には○。
参加できない時間には×を入力した表です。
この3枚のシートの同じ位置が○ならば、3名とも空いているとわかるようにしたいわけです。
そして、その結果を、別のシートに集計したいということをやりたいわけですね。
当然、人力による『目視』で確認するという方法もありますが、時間がかかりすぎます。
また、先程も書きましたが、数値を合算させるならば、3-D集計という考え方がありますが、文字ですので、集計というわけにはいきません。
考え方としては、営業部長の9月1日の10時が○で、企画部長の9月1日の10時が○で…というように、AND関数を使ってみようと考えるところですが、AND関数だと、数式が長くなる傾向がありますので、今回は、Office365・Office2019で追加された新関数のCONCAT関数を使うと比較的簡単に確認することができます。
【CONCAT関数は作業グループのように設定できる】
まずは、CONCAT関数の動きだけを確認してみましょう。集計先の参加可能日シートのB4をクリックして、CONCAT関数ダイアログボックスをクリックしましょう。
テキスト1のボックスをクリックしてカーソルを表示したら、集計したい先頭のシートである、営業部長のシート名をクリックして、最終シートの経理部長のシート名をShiftキーを押しながら、クリックします。
つまり『作業グループ』です。
そして、B4をクリックします。
OKボタンをクリックしましょう。B4には、
=CONCAT(営業部長:経理部長!B4)という数式が設定されています。
結果は、×××。つまり、3シートともB4には×が入力されていることがわかります。
ところで、CONCATENATE関数ではダメなのでしょうか?
念のために確認しておきましょう。
=CONCATENATE(営業部長:経理部長!B4)
とB4の数式を変更してみましたが、残念ながら、#REF!というエラーが表示されてしまいました。
CONCATENATE関数では、作業グループのような数式を使うことができません。
なので、一つずつシートごとにセルをクリックする方法ならばエラーはでません。
=CONCATENATE(営業部長!B4&企画部長!B4&経理部長!B4)
これでもいいのですが、シートが増えるとAND関数どうように数式が長くなってしまい煩雑になってしまいます。
では、本題に戻っていきましょう。
CONCAT関数の結果が、”○○○”だったら、○で、そうでなければ×と表示すればいいわけですから、IF+CONCAT関数で簡単に算出することができます。
B4の数式は、
=IF(CONCAT(営業部長:経理部長!B4)="○○○","○","×")
あとは、オートフィルで数式をコピーすれば完成ですね。
このように、新しく登場したCONCAT関数を使うと、今までよりも改善できる場合もありそうですね。