5/31/2019

Excel。新関数のCONCAT関数はこう使う!3-D集計は数値しかできないので、文字の場合はどうするの?【CONCAT】

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関数を使うと、今までよりも改善できる場合もありそうですね。