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

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

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

 

〔表計算の説明〕

 T社のUさんは,3種類の商品X,Y,Zを納品書に基づいて梱(こん)包し, 宅配便業者に集荷を依頼して発送する業務を担当している。 従来,発送する商品をまとめて荷物として梱包した後に,個別に重量を量って料金計算をしていたが, 表計算ソフトを用いて作業の効率化を図ることにした。

 

〔ワークシート:料金表〕

 商品の発送に利用する宅配便サービスの発送料金は,料金計算上同一地域とする都道府県の 区分である着地域区分と,荷物の重量で区分された重量区分に基づいて決定される。 ワークシート“料金表”には,T社の所在地からの発送料金を検索するために 利用する“料金表”が格納されている。ワークシート“料金表”の例を,図1に示す。

 

図1 ワークシート“料金表”の例

 

(1) セル C2 〜 N2 には着地域区分の名称が,セル C3 〜 N10 には, それぞれの列の行2の着地域区分に属する都道府県名が,上のセルから順に入力されている。 全ての都道府県はいずれか一つの着地域区分に必ず属する。

(2) セル B11 〜 B15 には,重量区分(1〜5)が入力されている。

(3) セル C11 〜 N15 には,着地域区分と重量区分に対応する発送料金が入力されている。

(4) セル C16 〜 N16 は,料金計算で着地域区分を検索するための作業領域である。

 

〔ワークシート:商品重量〕

 ワークシート“商品重量”には,料金計算で商品の重量を検索するときに利用する “商品重量表”が格納されている。セル A3 〜 A5 には商品名が,セル B3 〜 B5 には 各商品1個の重量が入力されている。ワークシート“商品重量”を,図2に示す。

 

図2 ワークシート“商品重量”

 

〔ワークシート:重量区分〕

 ワークシート“重量区分”には,荷物の重量から重量区分を検索するときに 利用する“重量区分表”が格納されている。ワークシート“重量区分”を,図3に示す。

 

図3 ワークシート“重量区分”

 

(1) セル A4 〜 A8 には重量区分が,セル B4 〜 B8 には各重量区分で発送できる荷物の 重量の上限が入力されている。この宅配便サービスで発送できる荷物の重量は 30,000g までである。

(2) 商品の梱包には,重量区分に応した梱包用の箱を用いる。セル C4 〜 C8 には, 各重量区分で用いる梱包用の箱の重量が入力されている。

(3) セル D4 〜 E8 には,箱の重量を加えたときに,当該重量区分で発送可能な商品の 総重量の範囲が入力されている。

 

〔ワークシート:料金計算〕

 ワークシート“料金計算”には,“料金計算表”を作成して格納する。 セル A4 に発送先の都道府県名,セル B4 〜 D4 に発送する商品X,Y, 及びZの数量を入力すると,商品総重量,重量区分,梱包後重量及び発送料金を表示する。 ワークシート“料金計算”の例を,図4に示す。

 

図4 ワークシート“料金計算”の例

 

設問1  ワークシート“料金表”に関する次の記述中の   に入れる正しい答えを,解答群の中から選べ。

 セル C16 には,セル C3 〜 C10 の中に,ワークシート“料金計算”のセル A4 に 入力された発送先都道府県名と一致するものがあるときには1を,そうでなければ空値を 表示する次の式を入力し,セル D16 〜 N16 に複写する。

IF(料金計算!$A4=null,null,   a   )

 

a に関する解答群 ア IF(条件付個数(C3:C10, =料金計算!$A4)=0, 1, null)

イ IF(条件付個数(C3:C10, =料金計算!$A4)=1, 1, null)

ウ IF(条件付個数(C3:C10, =料金計算!$A4)>1, null, 1)

エ IF(条件付個数($C3:$C10, =料金計算!$A4)=0, null, 1)

オ IF(条件付個数($C3:$C10, =料金計算!$A4)=1, null, 1)

カ IF(条件付個数($C3:$C10, =料金計算!$A4)>1, 1, null)

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

基本情報技術者試験


設問2  ワークシート“料金計算”に関する次の記述中の   に入れる正しい答えを,解答群の中から選べ。

 

(1) セル E4 には,発送する商品の総重量を表示する次の式を入力する。 B4*商品重量!B3+C4*商品重量!B4+D4*商品重量!B5

(2) セル F4 には,セル E4 の値が 0 のときは“−”を,セル E4 の値が 発送可能な商品の総重量の上限を超えるときは“×”を表示し,それ以外のときは, セル E4 の商品総重量の商品を一つの荷物として発送できる最も小さい重量区分を, ワークシート“重量区分”から検索して表示する次の式を入力する。

IF(E4=0, '−', b )

(3) セル G4 には,セル F4 の値が“−”又は“×”のときは“−”を表示し, それ以外のときは,セル E4 の商品総重量にセル F4 の重量区分で利用する箱 の重量を加えた値を梱包後重量として表示する式を入力する。

(4) セル H4 には,セル A4 〜 D4 に入力した条件でワークシート“料金表”から 発送料金の検索ができないときは“−”を表示し,それ以外のときは,セル A4 の 発送先都道府県名とセル F4 の重量区分に該当する発送料金をワークシート“料金表”から 検索して表示する次の式を入力する。

IF( c , '−', d )

 

b に関する解答群 ア IF(E4>重量区分!E8, '×', 照合一致(E4, 重量区分!D4:D8, 1))

イ IF(E4>重量区分!E8, '×', 照合一致(E4, 重量区分!D4:D8,−1))

ウ IF(E4>重量区分!E8, '×', 照合一致(E4, 重量区分!E4:E8, 1))

エ IF(E4>重量区分!E8, '×', 照合一致(E4, 重量区分!E4:E8,−1))

 

c に関する解答群 ア 論理積(G4≠ '−', A4≠ null)

イ 論理積(論理和(F4='−', F4='×'), A4=null)

ウ 論理和(G4='−', 合計(料金表!C16:N16)=0)

エ 論理和(論理積(F4≠ '−', F4≠ '×'), 合計(料金表!C16:N16)=1)

 

d に関する解答群 ア 垂直照合(F4, 料金表!B11:N15, 照合一致(1, 料金表!C16:N16, 0), 0)

イ 垂直照合(照合一致(1, 料金表!C16:N16, 0), 料金表!B11:N15, F4, 0)

ウ 表引き(料金表!C11:N15, F4, 照合一致(1, 料金表!C16:N16, 0))

エ 表引き(料金表!C11:N15, 照合一致(1, 料金表!C16:N16, 0), F4)

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

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

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

基本情報技術者試験


設問3  ワークシート“料金計算”で,商品総重量が発送可能な商品の総重量の上限を 超え,重量区分欄に“×”が表示されると,Uさんは,商品を発送可能な重量に 収まるような組合せに分割して梱包し,発送しなければならない。 この商品の組合せを求めるために,ワークシート“料金計算”に新たな表を追加するとともに, マクロ Package_count を作成して格納した。マクロ Package_count 中の   に入れる正しい答えを,解答群の中から選べ。

 

〔“梱包作業表”及び“梱包指示表”の追加〕

 マクロ Package_count を実行すると,商品を分割して発送するときの商品の組合せを “梱包作業表”を利用して求め,その結果が“梱包指示表”に格納される。 “梱包作業表”及び“梱包指示表”を追加したワークシート“料金計算”の例を, 図5に示す。

 

図5 “梱包作業表”と“梱包指示表”を追加したワークシート“料金計算”の例

 

(1) セル B9 〜 D9 には,まだ梱包の組合せが決定していない商品の数量(以下, 残数量という)がマクロ Package_count によって格納される。

(2) セル E9 には,まだ梱包の組合せが決定していない商品の総重量(以下,残重量という)を 表示する式を入力する。

(3) セル F9 には,セル E9 の値が 0 のときは“−”を,セル E9 の値が発送可能な商品の 総重量の上限を超えるときは 5 を,それ以外のときは,セル E9 の商品総重量の商品を 一つの荷物として発送できる最も小さい重量区分を表示する式を入力する。

(4) セル G9 には,セル E9 の値が 0 のときは“−”を表示し,それ以外のときは, セル A4 の発送先都道府県名とセル F9 の重量区分に該当する発送料金を表示する式を入力する。

(5) セル B10 〜 D10 は,マクロ Package_count が作業領域として利用し, それぞれ商品X,Y及びZの数量を格納する。また,セル E10 には, セル B10 〜 D10 に格納された数量の各商品の重量の合計(以下,作業重量という)を 表示する式を入力する。

(6) 1枚の納品書で発送する荷物の数は 10 個を超えないものとし,セル A16 〜 G25 には, 発送可能な組合せに分割した結果を表示する。また,セル B26 〜 E26 及びセル G26 には, 各列の行 16 〜 25 の値の合計を表示する式を入力する。

 

〔マクロ:Package_count の説明〕

 マクロ Package_count では,残重量が,発送可能な商品の総重量の上限を超える間は, その上限以下で最大の重量になるように荷物を作成し,残りを次の荷物に割り振る作業を 繰り返すことによって組合せを求める。

(1) セル B4 〜 D4 に入力されている数量を,セル B9 〜 D9 に格納して残数量とする。 また,荷物番号を数える変数 package_no に初期値として 1 を設定する。

(2) セル E9 の残重量が 0 になるまで,(3)〜 (5) の処理を繰り返す。

(3) 行 15 から数えて package_no の値だけ下の行を,該当する荷物番号の荷物を 表示する行(以下,表示行という)とし,表示行の列 A に package_no,列 F に セル F9 の重量区分,列 G にセル G9 の発送料金を複写する。 また,梱包する商品総重量の最大値を保存する変数 work_weight に,初期値として 0 を設定する。

(4) セル B10 〜 D10 の数量を,それぞれ 0 から対応する商品の残数量まで順に変化させて, それぞれの数量の組合せで求めた作業重量の中で,値が一つの荷物として発送可能な 商品の総重量の上限以下で最大となるものを表示行の列 E に, そのときの商品X,Y及びZの数量を表示行の列 B 〜 D に格納する。

(5) 商品の全ての組合せの比較が終了したとき,表示行の列 B 〜 D に格納されている数量を, 当該荷物番号の荷物に梱包する商品の数量として確定し,各商品の残数量から差し引き, package_no に1を加え,(2) に戻る。

 

〔マクロ:Package_count〕

 

e に関する解答群 ア 論理積(work_weight < E9, E1Ø >重量区分!E8)

イ 論理積(work_weight < E1Ø,E1Ø ≦ 重量区分!E8)

ウ 論理積(work_weight > E9, E1Ø > 重量区分!E8)

エ 論理積(work_weight > E1Ø, E1Ø≦ 重量区分!E8)

 

f に関する解答群 ア 相対(B9, Ø, i) ← 相対(B4, Ø, i) − 相対(B1Ø, Ø, i)

イ 相対(B9, Ø, i) ← 相対(B4, Ø, i) − 相対(B15, package_no, i)

ウ 相対(B9, Ø, i) ← 相対(B9, Ø, i) − 相対(B1Ø, Ø, i)

エ 相対(39, Ø, i) ← 相対(B9, Ø, i) − 相対(B15, package_no, i)

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

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


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