第5問 商品売上高を示したデータが下記のように、表計算ソフトウェアのシート中の
A〜C 列に入力されている。
D 列に示したような、売上高が多い順の順位を求めたい。同じ値が複数ある場合は同じ順位を与え、次の大きさの値には重複した分を飛ばした順位を与える。 このために、条件に一致した値の個数を数えるのに COUNTIF 文を利用して順 位を求める式を考え、その式を D2 のセルに入力する。D2 の式を下の行に複写して、D 列のような順位を求めたい。
COUNTIF 文 を用いた D2 のセルに入る式として、最も適切なものを下記の解答群から選べ。
ただし、COUNTIF 文、&の使用方法は以下のとおりである。
・COUNTIF: 対象範囲,条件式対象範囲のうち、条件式に記述した内容を満たすセルの個数を返す関数
・&:文字列の連結
他の問題を考えるとCOUNTIFなら知っていて当然だと言わんばかりなのに、この問題は解説をくれていますね。
さて、いずれの場合もC列の2行目から7行目を範囲指定としています。
問題ではD2のセルに入力した内容を下に引っ張って楽したい、ということです。
COUNTIFは、()の内容に合致する条件の個数を表示させる変数とあります。
COUNTIF(探す範囲, 探す対象) だと思ってください。
例えば、=COUNTIF(C$2:C$7,”バナナ”)とすると、C2〜C7の間で「バナナ」が入力されている個数を表示します。
では問題にあるように、順位をつけたいが同数は同位とみなしたい、ということですね。
答えを日本語で表記して見ましょう。
=次に該当するものの数(検索対象はC2〜C7で、C2の売上高より高い売上高の数)+1
これを数式にすると、
=COUNTIF(C$2:C$7,”>”&C2)+1
例えば500だった場合、500より高い数字はありませんから、カウント個数は0となります。でもそれでは順位がつきませんから、カウント個数に+1とさせます。
売上高が440の場合、440より高い数字は500が2個ありますから、カウント個数は2個になります。これに+1すると順位が3となるわけですね。