スゴ技会計士からの挑戦状 Vol.11
5月 22, 2017
▼第11号-2017/05/22
──────────────────────────────────
■■■スゴ技会計士からの挑戦状 Vol.11■■■
──────────────────────────────────
本日の内容に入る前に前回出題した問題を再掲いたします。
【問題3】難易度★★
A列に1~9の数字が入っています。
抜けている数字をCOUNTIF関数で見つけてください。
<図10-1>
この数だと目で見て3,5,7と分かりますが、常に実務を想定して数万行のデータを前提にして考えてください。
・・・ここまで。
【連番を作成する技】
1~9の数字のうち、A列にない数字を関数で探す問題です。
ないものを探すというのは、一般的に難しいです。
あるべきもののリストを用意する必要があるからです。
今回のケースでは連続した数字なので比較的簡単です。
まずは「あるべきリスト」として連続した数字のリスト(C列)を用意しましょう。
<図11-1>
関数で連番を作成する方法は2つ考えられます。
一般的なのは最初の行に「1」と入力し、
次の行以降に「前行のセル+1」と入力してコピペする方法です。
<図11-2>
これでも良いのですが、欠点があります。
行を削除すると以下のようにエラーになってしまうのです。
<図11-3>
参照先を削除したことによるエラーです。
また、最初の行(連番1)と、次以降の行の数式が異なるというのも少し気持ちが悪いです。
これを回避する方法として、
行番号を取得することができるROW関数を使う方法があります。
ROW関数は引数を省略するとROW関数が記載されているセルの行番号を取得します。
<図11-4>
例えば2行目は2-1=1となります。
さらにタイトル行の行番号を使って、
=ROW()-ROW($C$1)
とするとめったなことでは壊れない連番になります。
状況に応じて使い分けてください。
連番を10万行作成しなくてはならない時はどうしますか?
マウスで範囲選択するのはもうやめてください。
CTRLキーを押しながらGキーを押してセル番地を指定すると、指定したセルにジャンプすることができます。
これを使って素早くコピペを完成させてください。
連番を使って「あるべきリスト」を作成することを思い付けばあとは簡単です。
「あるべきリスト」とCOUNTIF関数を使ってA列にない数字を関数で探してください。
次回は解答と応用問題です。
<<前回の内容