Excel。帳票で、上のセルと同じデータは「〃(おなじ)」で表示したい
<IF+COUNTIF関数>
データベースとは別。帳票レベルにおいて、見やすくしたいということがあります。
例えば、次のような表。
A列の分類フィールドをみると、ペンが3レコードあって、クレヨンが4レコードある状態の表です。
データベースとしては、正しいのですが、帳票なので、繰り返しを「〃(同じ)」という文字で表示したい場合、どのようにしたらいいのでしょうか?
このような表にしたいわけです。
まさか、自力で、変更するのは大変ですし、置換で対応することもできません。
では、どのようにしたら効率よく「〃(同じ)」にすることができるのでしょうか?
そこで、考え方ですが、何度その文字が登場しているのかを算出させて、1回目に登場したところ以外を「〃(同じ)」にするようにすればいいわけです。
上のセルと同じ文字かどうかを、判断して、その件数を算出させるので、使用する関数はCOUNTIF関数がつかえそうですね。
では、次の表をつかって、数式をつくっていきます。
B列に分類2として、B2に次の数式を作りました。
=IF(COUNTIF($A$2:A2,A2)=1,A3,"〃")
あとは、オートフィルで数式をコピーすれば、「〃(同じ)」と表示することができました。
IF関数で「〃(同じ)」を表示させるかどうかの判定をさせていますが、論理式のCOUNTIF関数をつかうことで、容易に対応することができます。
論理式のCOUNTIF関数のところだけを取り出してみたのが、D列です。
D2の数式は、
=COUNTIF($A$2:A2,A2)
としてあります。
この数式のポイントは、最初の引数の「範囲」です。
最初のセル番地だけを、絶対参照にすることで、オートフィルで数式をコピーしたときに、自動的に、範囲が拡張する仕組みになっています。
A2ならば、A2:A2という範囲なので、「1」と算出されるわけです。
つぎのA3は、A2:A3という範囲の中でA3と同じものは2件あるので、「2」と算出することができるわけです。
こうすることで、COUNTIF関数で「1」以外のところが複数回登場しているということがわかります。
よって、「〃(同じ)」と表示させることができます。
データベースでは、「〃(同じ)」としてはダメですが、帳票として入力したい時には、IF+COUNTIF関数の組み合わせで対応することができます。