比較演算がExcelで極めて重要な演算であることは別の記事ですでに解説していますが(【Excel】IF関数が使えない原因は「比較演算」の練習不足である - わえなび ワード&エクセル問題集)、TRUEとFALSEを0と1に変換して計算に利用することは、IF関数だけでなく配列数式、SUMPRODUCTなどでも使われます。わざわざ関数を呼び出さなくてもよいという利点だけでなく、複雑な計算式がすっきりして見やすくなります。
そこで、今回は、比較演算を用いた応用事例として、データが連続する回数をカウントする方法と、数値データを複数列に振り分ける方法について出題します。
目次
問題文のあとに簡単な操作方法を解説していますが、静止画では、わかりにくいと思いますので、最後に動画を載せています。ぜひご覧ください。
1.比較演算子の基本(復習)
比較演算の基本についてはこちらの記事をご覧ください。
2.連続する回数のカウント
(1)連続するデータの個数
問題
A列に数値が入力されており、連続して同じデータが入力されている部分がある。
図のように、B列に連続する回数を求めなさい。
解説
A1とA2をイコールで結びます。
TRUEになります。A1とA2が等しければTRUE、違っていればFALSEです。オートフィルをします。
FALSEのタイミングで数字が変わっています。
初めに1を入力します。単に、上のセルに1をたすと、1ずつ増えていきます。
この性質を利用して、さきほどの計算式を修正します。
初めに1を入力します。上のセルをかけて1を足します。
オートフィルをします。これで完成です。
ちなみに、イコールで比較する計算は日本語のデータでも使えます。
したがって、同じように連続回数をカウントできます。
A1=A2のときは、TRUE、つまり、1になりますので、そのまま上のセルに1を加える式になります。
A1とA2が等しくないときには、この部分がゼロになりますから、1に戻ります。
(2)1以外すべて0にする方法
問題
C列に、A列が「1」の時だけ連続する回数を求め、それ以外は0にしなさい。
解説
次に、A列が1でないときにゼロにする方法です。まず、A1=1に1をかけます。
1のところ以外はすべて0になります。
A1=1のときは、TRUE、つまり、1になります。A1が1でないときには、FALSE、つまり、0になります。これで、1以外のものがすべてゼロになります。この性質を利用します。
B列とC列の数値を掛け算することによって、「1」の時だけ連続する回数を求めることになります。最初はA1=1に1をかけます。これで、最初のセルが1でなければ0になります。
次に、さきほどの計算式を入力します。これにかっこをつけます。A2=1をかけます。
オートフィルをします。これで完成です。
3.複数列に振り分ける
問題
次の表で、A列の分類は1行目の項目名を入れることになっている。
次の完成イメージのように、Aの項目名にしたがってB列の金額をC~F列に振り分けなさい。
解説
まずは、A列の文字と1行目の文字が一致しているかを判定します。A列と1行目をイコールで結びます。複合参照にします。
これでオートフィルをします。TRUEとFALSEになります。
次にTRUEのところに金額を入れて、それ以外をゼロにします。TRUEは1で、FALSEが0なので、これに金額をかければよいです。金額をかけます。B列固定の複合参照です。
オートフィルをします。これで完成です。
解説は以上です。
4.動画版はこちら(無料)
この記事は、わえなび実力養成講座「Excel新演習3数式・計算式集中講義」Program 3-9-3、3-9-4 のYoutube動画を書き起こして、加筆修正したものです。
- Excel新演習3数式・計算式集中講義 3-9-3 補講 比較演算子特講2(連続するデータの個数)【わえなび】 - YouTube
- Excel新演習3数式・計算式集中講義 3-9-4 補講 比較演算子特講3(複数列に振り分ける)【わえなび】 - YouTube