基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成27年 秋期 基本情報技術者 午後 問13
問13   表計算

 次の表計算のワークシート及びマクロの説明を読んで,設問1,2に答えよ。

〔表計算の説明〕

 ある PC 販売店では,セット値引きを導入することにした。セット値引きでは, 指定された3種類の商品を同時に購入する場合,各商品を単品で購入する場合に比べて 購入金額を安くする。セット値引きとなる商品の組合せ(以下,セットという)と 値引きを適用していく順序は,商品の仕入状況と販売状況に基づいて適宜見直しを行う。 セット値引きの導入に合わせて,これまで手書きであった購入伝票の作成について, 表計算ソフトを使って行うことにした。

 

〔ワークシート:価格表〕

 商品の単価を記載したワークシート“価格表”の例を,図1に示す。


図1 ワークシート“価格表”の例

(1) 販売している商品は 50 品目あり,セル A2 〜 A51 には1から始まる連番で商品番号を入力する。

(2) セル B2 〜 B51 には商品名を,セル C2 〜 C51 には商品コードを, セル D2 〜 D51 には単価を入力する。商品名と商品コードは,それぞれ重複するものはない。

 

〔ワークシート:セット値引き表〕

 セットと値引き額を記載したワークシート“セット値引き表”の例を,図2に示す。


図2 ワークシート“セット値引き表”の例

(1) セットは 10 種類あり,値引きを適用していく順に入力する。

(2) セル A3 〜 A12 には,1から始まる連番でセット番号を入力する。

(3) セル B3 〜 B12 には,セット名を入力する。

(4) セットは3種類の商品の組合せから成り,セル C3 〜 H12 には組み合わせる商品の 商品コードと数量を入力する。商品コードは,ワークシート“価格表”に登録されているものを用いる。

(5) セル I3 〜 I12 には,セットの値引き額を入力する。

(6) 列 K 〜 M は,セット値引き適用処理のための作業領域に用いる。

〔ワークシート:購入伝票〕

 購入する商品の一覧(購入内容),セット値引き適用状況の一覧(セット値引き内容), 合計金額などを表示するワークシート“購入伝票”の例を,図3に示す。


図2 ワークシート“購入伝票”の例

(1) 1回に購入できる商品は 20 品目以下である。 ワークシート“購入伝票”のセル B7 〜 C26 の各行に,商品名と数量を1件ずつ入力すると, 各行の列 D と列 E にそれぞれ単価と金額(数量×単価)が, セル E1 に金額の合計が表示される。ワークシート“価格表”に登録されていない商品名を 入力することはない。また,同一の商品を2行以上入力することができる。

(2) マクロ Calc_Discount_Price を実行すると,セル C30 〜 C39 に, セット値引きを適用するセットについてだけ数量が設定され, 対応する各行の列 E にセット値引き金額(数量×値引き額)が, セル E2 にセット値引き金額の合計が表示される。

設問1 ワークシート“購入伝票”に関する次の説明中の に入れる正しい答えを,解答群の中から選べ。

(1) セル A7 〜 A26 には,1 から始まる連番を入力する。

(2) セル E1 には,購入する商品の合計金額を求めるための式を入力する。

(3) セル E2 には,セット値引き金額の合計を求めるための式を入力する。

(4) セル E3 には,購入金額を求めるための式を入力する。

(5) 商品ごとの単価を表示するために,セル D7 に次の式を入力し,セル D8 〜 D26 に複写する。

IF(B7=null, null, 垂直照合(B7, , 0))

(6) 商品ごとの金額を求めるために,セル E7 に次の式を入力し, セル E8 〜 E26 に複写する。

IF(D7=null, null, C7*D7) (7) セル B30 〜 B39 には,ワークシート“セット値引き表”のセット名を, 同表と同じ順序で表示するための式を入力する。

(8) セル C30 〜 C39 には,マクロ Calc_Discount_Price を用いて,数量を設定する。

(9) ワークシート“セット値引き表”の値引き額を,同表と同じ順序で表示するために, セル D30 に次の式を入力し,セル D31 〜 D39 に複写する。

   

(10) セット値引き金額を求めるために,セル E30 に次の式を入力し,セル E31 〜 E39 に複写する。

IF(C30=null, null, C30*D30)

a に関する解答群

ア 価格表!A$2:D$51,2       イ 価格表!A$2:D$51,3

ウ 価格表!A$2:D$51,4       エ 価格表!B$2:D$51,2

オ 価格表!B$2:D$51,3

b に関する解答群

ア セット値引き表!A3       イ セット値引き表!A$3

ウ セット値引き表!I3       エ セット値引き表!I$3

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

設問2 セット値引き適用処理に関する次の説明及びマクロ中の に入れる 正しい答えを,解答群の中から選べ。

 

〔セット値引き適用処理の説明〕

 “セット値引き表”に記載されているセットに対して,セット番号が小さいものから順に セット化して,値引きを適用していく。

(1) セットを構成する商品の商品番号を表示するために,ワークシート“セット値引き表”の セル K3 に次の式を入力し,セル K4 〜 K12 に複写する。

照合検索(C3, ,

 同様の方法で,セル L3 〜 L12 とセル M3 〜 M12 にも,セットを構成する商品の 商品番号を表示するための式を入力する。

(2)ワークシート“購入伝票”にマクロ Calc_Discount_Price を格納する。

 

〔マクロの説明〕

 マクロ Calc_Discount_Price は,次の手順で処理を行う。

(1) 購入する各商品の数量を求め,配列 Goods_Num に格納する。 商品番号が i(i=1,2,…,5Ø)の商品の数量は,Goods_Num[i−1] に格納される。

(2) セット番号が 1,2,…,10 の順に,セット値引きの対象となる数量を求めるために (3)〜 (5) の処理を繰り返す。

(3)配列 Goods_Num について,セットを構成する3種類の商品の数量を調べ, セットにできる最大の数量 Set_Num を求める。

(4) 数量 Set_Num が 0 でない場合は,ワークシート“購入伝票”のセットの 数量のセルに数量 Set_Num を格納し,セット値引きの対象とした3種類の商品の 数量を,配列 Goods_Num から減らす。

(5) 数量 Set_Num が 0 の場合は,ワークシート“購入伝票”のセットの数量の セルに空値 null を格納する。

 

c,d に関する解答群

ア 価格表!A$2:A$51        イ 価格表!B$2:B$51       
ウ 価格表!C$2:C$51        エ 価格表!D$2:D$51       

e に関する解答群

ア 価格表!A2        イ 価格表!B2       
ウ 価格表!C2        エ 相対(価格表!A2,I,Ø)       
オ 相対(価格表!B2,I,Ø)        カ 相対(価格表!C2,I,Ø)       

f に関する解答群

ア Num < Set_Num        イ Num > Set_Num       
ウ Num = Ø        エ Num ≠ Ø       
オ Num ≠ Set_Num        カ Set_Num = Ø       
キ Set_Num ≠ Ø       

g に関する解答群

ア + 1        イ + Set_Num       
ウ − 1        エ − Set_Num       
オ * Set_Num        カ / Set_Num       

解答 c ←クリックすると正解が表示されます

解答 d ←クリックすると正解が表示されます

解答 e ←クリックすると正解が表示されます

解答 f ←クリックすると正解が表示されます

解答 g ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]