プロが教える店舗&オフィスのセキュリティ対策術

エクセルで複数のシートがあり、
その中で重複してるものに数字を立てたいのですが、
COUNTIFを足していく以外になにか良い方法はありますでしょうか。

シート1 7月に利用した人の名前
シート2 8月に利用した人の名前
シート3 9月に利用した人の名前
シート4 10月に利用した人の名前

こんな感じで月ごとにシートを作成して、
10月のシートで、7.8.9月でも利用した人で
10月にも再度利用してくださった人の名前の横に
数字をたてたいのですが、
COUNTIFで数式を足していく以外方法はないのでしょうか??11月、12月とどんどん増えていくと数式が物凄く長くなっていくので、何かいい案がないかと探しましたが、うまくいかず‥。

僕が試した方法は、A1に重複の数字をたてるとして
COUNTIF(シート1名前列,A1)+COUNTIF(シート2名前列,A1)〜のようにして数式を入力しました。

A 回答 (5件)

そもそもの前提として、同姓同名の方が存在するとCOUNTIF関数を使用しても正しい結果が得られません。


同姓同名の方は存在しないという前提とするか、利用者ごとに割り当てた「利用者番号」のような重複しないものを使って表を作成する必要があります。
上記の前提で、複数のシートに亘って、重複する利用者をカウントする手段として、No.2さんがお示しになったシートに1項目追加(仕様累計列)し、vlookupで取得する方法がありますが、この方法だと、No2.さんも述べておられますが、使用していない利用者も記載しないと、先々月の値が反映されなくなります。
そこで、COUNTIF関数とINDIRECT関数を組合せて、添付画像①のような表を作成します。
この方法だと、当月利用者の過去の利用実績(添付画像②~④)を単純にカウントするだけなので、当月利用していない人を記載する必要がなくなります。
添付画像①では7月から9月の利用実績が表示されていますが、「見せたくない」場合は列ごと「非表示」にしてしまう手もあります。
添付画像①の10月分のシートのC2に記述する数式は
=COUNTIF(INDIRECT(C$1&"!$A:$A"),$A2)
これを右方向、下方向にオートフィルでコピー。
=SUM(C2:E2)+1
これを下方向に下方向にオートフィルでコピーすればよいと思います。
「エクセルの複数シートの重複を確認したい」の回答画像5
    • good
    • 1

No.3さんと同じくシートを見直したほうがよいと思います。



自分なら、以下のように月によらず1つのシートに縦方向にデータを作成します。
7/2  Aさん
7/5  Bさん
7/25  Cさん
8/5  Aさん
8/15 Cさん
9/5   Cさん
9/24  Bさん
10/3  Aさん
10/12 Bさん

このように修正するのは容易ですし、これなら簡単に重複を調べられます。
フィルターを使えば、必要な月だけのデータだけを表示することもできます。
    • good
    • 0

そのシート構成、見直した方が良いと思います。


月毎にシートを分けるのではなく、利用月の列を設けて、全データを1シートで管理すべきです。今後の展開も楽になると思います。
    • good
    • 1

シートに1項目追加(仕様累計列)。


そこに、先月までの使用累計を反映し、当月使用しているのであれば、これに1を足す。
先月までの使用累計は、先月シートの使用累計の値を反映。
vlookupで取得可能。
※その代わり、使用していない担当者も記載しないと、先々月の値が反映されなくなる。
上記のようにすればいけるはず。
    • good
    • 1

VBA

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています