大学入学共通テスト(情報) 過去問
令和5年度(2023年度)追・再試験
問63 (<旧課程>情報関係基礎(第4問) 問12)
問題文
なお、以下の問題を解答するにあたっては、使用する 表計算ソフトウェアの説明(リンク) を参照するとよい。
ある高等学校の体育祭は、a~fの6クラスで競い合う。この体育祭の競技は9つあり、競技ごとに試合数が決まっており、20が最大である。各試合の1位から3位までに得点が与えられ、得点の合計により優勝が決まる。競技ごとに得点は異なり、同順位は存在しない。競技には、必ず全クラスが全試合に出場する。また、点差などから作戦を立て、競技への出場者の変更が可能である。
Yさんは、体育祭で使用するシートの作成を大会本部から依頼され、昨年の結果を動作確認のためのテストデータとして使い、シートを作成することにした。
Yさんは、各クラスが各競技で獲得した得点、全競技での合計得点と総合順位を求めるためのシート3総合結果の作成を行うことにした。セル範囲D2~D7の第1競技における各クラスが獲得した得点は、シート1とシート2の値を用いて、
「1位で獲得した得点+2位で獲得した得点+3位で獲得した得点」で求めることができる。これよりシート3のセルD2に入力する計算式のうち「1位で獲得した得点」の部分は、
[ カ ]([ キ ])*得点一覧!( ク )
となり、これに2位、3位で獲得した得点の計算式を加えて、セルD2の計算式を完成させ、セル範囲D3~D7に複写した。
同様にシート3のセル範囲E2~L7には、第2競技から第9競技で各クラスが獲得した得点を求める適切な計算式を入力した。また、他のセルに関しても適切な計算式を入力した。シート3のセル範囲D8~L8の競技ごとの得点の合計は、シート1のセル範囲F2~F10の値と同じであったので、各クラスが獲得した得点の計算が正しいことが確認できた。
次にYさんは、クラス間の合計得点の差を求めるシート4合計得点差一覧の作成を行うことにした。シート4のセル範囲B3~B8には、シート3から総合順位を求める適切な計算式を入力した。次に、シート4に合計得点の差「自分のクラス−相手のクラス」を求めるため、セルD3に次の計算式を入力し、セル範囲D4~D8とセル範囲E3~I8に複写した。
VLOOKUP([ ケ ],総合結果![ コ ],[ サ ])
−VLOOKUP([ シ ],総合結果![ コ ],[ サ ])
( シ )にあてはまるものを1つ選べ。
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
大学入学共通テスト(情報)試験 令和5年度(2023年度)追・再試験 問63(<旧課程>情報関係基礎(第4問) 問12) (訂正依頼・報告はこちら)
なお、以下の問題を解答するにあたっては、使用する 表計算ソフトウェアの説明(リンク) を参照するとよい。
ある高等学校の体育祭は、a~fの6クラスで競い合う。この体育祭の競技は9つあり、競技ごとに試合数が決まっており、20が最大である。各試合の1位から3位までに得点が与えられ、得点の合計により優勝が決まる。競技ごとに得点は異なり、同順位は存在しない。競技には、必ず全クラスが全試合に出場する。また、点差などから作戦を立て、競技への出場者の変更が可能である。
Yさんは、体育祭で使用するシートの作成を大会本部から依頼され、昨年の結果を動作確認のためのテストデータとして使い、シートを作成することにした。
Yさんは、各クラスが各競技で獲得した得点、全競技での合計得点と総合順位を求めるためのシート3総合結果の作成を行うことにした。セル範囲D2~D7の第1競技における各クラスが獲得した得点は、シート1とシート2の値を用いて、
「1位で獲得した得点+2位で獲得した得点+3位で獲得した得点」で求めることができる。これよりシート3のセルD2に入力する計算式のうち「1位で獲得した得点」の部分は、
[ カ ]([ キ ])*得点一覧!( ク )
となり、これに2位、3位で獲得した得点の計算式を加えて、セルD2の計算式を完成させ、セル範囲D3~D7に複写した。
同様にシート3のセル範囲E2~L7には、第2競技から第9競技で各クラスが獲得した得点を求める適切な計算式を入力した。また、他のセルに関しても適切な計算式を入力した。シート3のセル範囲D8~L8の競技ごとの得点の合計は、シート1のセル範囲F2~F10の値と同じであったので、各クラスが獲得した得点の計算が正しいことが確認できた。
次にYさんは、クラス間の合計得点の差を求めるシート4合計得点差一覧の作成を行うことにした。シート4のセル範囲B3~B8には、シート3から総合順位を求める適切な計算式を入力した。次に、シート4に合計得点の差「自分のクラス−相手のクラス」を求めるため、セルD3に次の計算式を入力し、セル範囲D4~D8とセル範囲E3~I8に複写した。
VLOOKUP([ ケ ],総合結果![ コ ],[ サ ])
−VLOOKUP([ シ ],総合結果![ コ ],[ サ ])
( シ )にあてはまるものを1つ選べ。
- B2
- B$2
- $B2
- C3
- C$3
- $C3
- D2
- D$2
- $D2
正解!素晴らしいです
残念...
この過去問の解説 (1件)
01
最初に、VLOOKUP()関数を使って、自分のクラスの合計得点を求めることを考えます。
VLOOKUP()関数の書式はVLOOKUP(検索値、セル範囲、列位置)となっています。
まず、2番目の引数の「セル範囲」ですが、「総合結果」シート上のセル範囲で、その中には得点データを得たいクラス名と、そのクラス毎の合計得点のデータが必要なので、「A2~C7」の範囲を含んでいなければなりません。と同時に、セルD3にこの関数を入力したあと、下方向と右方向のセルに複写するので、複写してもセル範囲の行番号と列番号は動かないようにするために、行番号と列番号は共に絶対参照としなければなりません。以上の条件を満たすセル範囲の指定は、「総合結果!$A$2~$C$7」になります。
次に、VLOOKUP()関数の1番目の引数である「検索値」ですが、ここは自分のクラス名なので、この式を入力する「合計得点一覧」のシートのセル「C3」となりますが、この式を右方向のセルに複写した時に列番号がずれないように、列番号を絶対参照とします。よって、検索値は「$C3」となります。
さらに、VLOOKUP()関数の3番目の引数である「列位置」ですがセル範囲の左端にある「クラス名」の列を1番目として、右に3番目の列に「合計得点」があるので、「3」となります。
以上より、自分のクラスの合計点を求める式は、「VLOOKUP($C3、総合結果!$A$2~$C$7、3)」となります。
次に、相手のクラスの合計得点を求める式をVLOOKUP()関数を使って表します。
2番目の引数の「セル範囲」は、自分のクラスのときと同じで、「総合結果!$A$2~$C$7」、また3番目の引数の「列位置」も、自分のクラスを求めるときと同じで「3」です。また、1番目の引数の「検索値」ですが、相手のクラス名が入力してあるセル「D2」となります。ただ、この式を下方向のセルに複写したとき、行番号がずれていかないように、行番号を絶対参照とします。よって、1番目の引数は「D$2」となります。以上より、相手のクラスの合計点を求める式は、「VLOOKUP(D$2、総合結果!$A$2~$C$7、3)」となります。
以上より、合計得点の差「自分のクラス-相手のクラス」を求めるためにセル「D3」入力する式は、「VLOOKUP($C3、総合結果!$A$2~$C$7、3)-VLOOKUP(D$2、総合結果!$A$2~$C$7、3) です。
これより、解答欄(シ)には「D$2」の選択肢の番号が入ります。
(シ)に入るのが「B2」だとすると、相手のクラスの合計得点を求める式は、「VLOOKUP(B2、総合結果!$A$2~$C$7、3)」などとセル「D3」に入力することになります。しかし、セル「B2」にはクラスの「総合順位」が入力されていて、VLOOKUP()関数の第1引数が「クラス名」でなくなってしまい、「総合結果!$A$2~$C$7」の範囲の左端列からクラス名を検索することはできません。よって、正しい式ではありません。
(シ)に入るのが「B$2」だとすると、相手のクラスの合計得点を求める式を「VLOOKUP(B$2、総合結果!$A$2~$C$7、3)」などとセル「D3」に入力することになります。しかし、セル「B2」にはクラスの「総合順位」が入力されていて、VLOOKUP()関数の第1引数が「クラス名」でなくなってしまい、「総合結果!$A$2~$C$7」の範囲の左端列からクラス名を検索することはできません。よって、正しい式ではありません。
(シ)に入るのが「$B2」だとすると、相手のクラスの合計得点を求める式を「VLOOKUP($B2、総合結果!$A$2~$C$7、3)」などとセル「D3」に入力することになります。しかし、セル「B2」にはクラスの「総合順位」が入力されていて、VLOOKUP()関数の第1引数が「クラス名」でなくなってしまい、「総合結果!$A$2~$C$7」の範囲の左端列からクラス名を検索することはできません。よって、正しい式ではありません。
(シ)に入るのが「C3」だとすると、相手のクラスの合計得点を求める式を「VLOOKUP(C3、総合結果!$A$2~$C$7、3)」などとセル「D3」に入力することになります。しかし、セル「C3」には自分のクラス名が入力されていて、VLOOKUP()関数から相手のクラスの合計得点を得ることはできません。よって、正しい式ではありません。
(シ)に入るのが「C$3」だとすると、相手のクラスの合計得点を求める式を「VLOOKUP(C$3、総合結果!$A$2~$C$7、3)」などとセル「D3」に入力することになります。しかし、セル「C3」には自分のクラス名が入力されていて、VLOOKUP()関数から相手のクラスの合計得点を得ることはできません。よって、正しい式ではありません。
(シ)に入るのが「$C3」だとすると、相手のクラスの合計得点を求める式を「VLOOKUP($C3、総合結果!$A$2~$C$7、3)」などとセル「D3」に入力することになります。しかし、セル「C3」には自分のクラス名が入力されていて、VLOOKUP()関数から相手のクラスの合計得点を得ることはできません。よって、正しい式ではありません。
(シ)に入るのが「D2」だとすると、相手のクラスの合計得点を求める式を、「VLOOKUP(D2、総合結果!$A$2~$C$7、3)」などとセル「D3」に入力することになります。しかし、この関数を下方向のセルに複写すると、VLOOKUP()関数の第1引数が「D3」、「D4」・・と次第にずれていき、VLOOKUP()関数の「検索値」が「クラス名」ではなくなってしまいます。よって、正しい式ではありません。
解説の冒頭で述べた理由により、正しい式です。
(シ)に入るのが「$D2」だとすると、相手のクラスの合計得点を求める式を「VLOOKUP($D2、総合結果!$A$2~$C$7、3)」などとセル「D3」に入力することになります。しかし、この関数を下方向のセルに複写すると、VLOOKUP()関数の第1引数が「$D3」、「$D4」・・と次第にずれていき、VLOOKUP()関数の「検索値」が「クラス名」ではなくなってしまいます。よって、正しい式ではありません。
この問題の場合も、やはり「相対参照」なのか「絶対参照」なのかということが関わってきます。あまり難しく考えず、右方向や下方向に複写した時に列番号や行番号を固定したい時には「絶対参照」($マークをつける)と覚えておいてください。
参考になった数0
この解説の修正を提案する
前の問題(問62)へ
令和5年度(2023年度)追・再試験 問題一覧
次の問題(問64)へ