エクセルの効率化

①メール配信者リスト

②メール配信に関係なく、全体の申込者リスト

 

今回、厄介なのが、申込者リストのなかで、

複数商品申し込んだ人は、購入数ごとに列が出力されていることだ。

 

これを特に加工せずに扱おうとすると、集計が面倒だ。

 

これらの一致するデータの件数を集計するのに、count if関数を利用した。つまり、メール配信者の横に作業列を置き、申込件数を出力した。

作業列の1以上の人が、メール配信した人で申し込んだ人の数。これが何件あるのか、数える。

3つの工程を踏んで集計したが、一回で終わる方法はないか…

 

一致するということは、あるセルとセルの値が等しいということ。等しいということを関数で表現すると、exact関数。

一致または不一致した場合になんらかの値を返す、という意味ではif関数。◯or×、あるいは1or0と、出力する値を選べる。

これからは、比較するセルが横並びの場合を想定している。

列数が違うデータを比べるには…

つまり、2つのデータを比較し他方にない(両方にある)データを探す。

https://www.helpforest.com/excel/fx_sample/ex070014.htm

このブログによると、

count ifか、vlook upしか方法はないらしい。

vlook upだと、一致した場合に、一致した値が出力される。それだと、何件一致したのかが分かりづらい。

 

一方で、申込データをユーザーごとに集計し直すと…つまり、count ifを使い、ユーザー名が重複した回数をカウントする。そして、ユーザー名が重複した列を削除する。これを②-bとする。

 

このデータを使い再度集計をし直す。

すると、①に②-bの申込件数列をvlook upで引っ張ってくると、メール配信者が何件申込にいたったかがわかる。

 

なぜ、大概のデータが出力される際に、ユーザーごとに申込み件数で出力されるかがよく分かった。商品が何件申し込まれたか、とユーザーが何件申し込んだかの違いだ。簡単なケースだが、データの加工方法は用途によって違うことがわかった。