メルマガ「スゴ技会計士からの挑戦状」VOL.4
1月 30, 2017
▼第4号-2017/01/30
──────────────────────────────────
■■■スゴ技会計士からの挑戦状 Vol.4■■■
──────────────────────────────────
【COUNTIF関数を使って重複チェックする技】
Vol.1で出題した問題は「重複チェック」の問題です。
実務において重複チェックをしたい場面は頻繁にあります。
Excelでも重複チェックの機能はありますが、応用が利かないので関数を使って重複チェックをできるようになりましょう。
Excelで重複チェックをするにはCOUNTIF関数を使います。
これはExcel中上級者であれば知っておくべきテクニックです。
COUNTIF関数を使って重複チェックすることを自分で思いつくのは大変ですが、
「Excel 重複チェック」
と検索すればすぐに探すことができます。
検索能力も「ITを活用した問題解決能力」の大切なひとつです。
COUNTIF関数のパラメータは以下のようになります。
COUNTIF(範囲,検索条件)
「範囲」の中に「検索条件」に合致するセルがいくつあるかを調べてくれる関数です。
COUNTIF関数は簡単な関数ですが、非常に応用範囲の広い関数です。
上級者はあっと驚くような使い方をします。
簡単な関数だからといってないがしろにせず、きっちりと基本を身に付けてください。
まずは典型的な重複チェックの方法を試してみました。
C2セル=COUNTIF($B$2:B2,B2)
範囲の左上であるB2セルが絶対参照($B$2)になっているのがポイントです。
これを行数分だけ下にコピペすると図のようになります。
<図4-1>
各行にある「コード」が先頭からその行までの範囲内にいくつあるかを調べています。
例えば9行目は以下のような数式になっています。
C9セル=COUNTIF($B$2:B9,B9)
これはB9セルの「888」がB2セルからB9セルの範囲にいくつあるかを調べています。
ひとつしかなければ9行目の「888」が最初に出現する「コード」であることが分かります。
1より大きければ、すでに前の行のどこかに同じコードが含まれています。
分かりやすくするためにC列が「1」より大きい行に色を付けてみます。
これは「条件付き書式」を使ってできるようになりましょう。
漫然とデータを眺めていても良いアイデアは浮かびません。
視覚的に確認することはとても重要になります。
<図4-2>
データを観察すると、これではうまくいかないことが分かります。
まずコード「111」はaaaとcccのファイル間で重複(2行目と14行目)していますが、実際にはどちらのファイルに誤りがあるのか分かりません。
見やすくするためにaaaファイルの「111」(2行目)にも色がついていて欲しいところです。
「888」も同様で、ファイル間で重複している「コード」はすべて色がついていた方が分かりやすいです。
では、図のように重複している「コード」すべてに色がつくようにCOUNTIF関数を書き直してみてください。
最初のセルだけ修正して、残りの行はコピペで仕上げます。
<図4-3>
次回解答をお伝えします。