今週の午後問題〔問題〕表計算 メロンの仕分 2019 (令和元) 年度

error

この記事は基本情報技術者試験の旧制度( 2022 年以前)の記事です。
この記事の題材となっている「午後問題」は現在の試験制度では出題されません。 ご注意くださいませ。

今週の午後問題 のコーナーでは毎週月曜に午後の必須選択問題から 1 問ピックアップして出題し、 解答欄 を設け、読者の皆さまも参加して解答できます! その週の金曜にはその解答と 矢沢久雄 さんによる 解説 ページを公開し、皆さんの正解率も発表します。

ぜひ腕試しにお使い下さい!

今回は「 2019 年度 秋期 表計算」を出題します

今週の午後問題
2019 年度 秋期 表計算 メロンの仕分

問 13

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

Z 組合では,収穫したメロンのうち 1 kg 以上かつ 3 kg 未満のものだけを組合で決めた 3 等級に分類して直接小売店に出荷している。出荷するメロンの等級と価格を決定する処理に,表計算ソフトを用いている。

〔メロンの等級〕
 出荷するメロンは,形状及び表皮色をそれぞれ評価して “優” , “良” , “並” のいずれかに分類する。評価は “優” が最も高く, “並” が最も低い。形状と表皮色の評価のうち低い方が,そのメロンの等級となる。メロンの等級ごとに “キログラム当たり単価” が設定されている。

〔ワークシート:単価表〕
キログラム当たり単価が格納されたワークシート “単価表” を,図 1 に示す。

図 1 ワークシート “単価表”
A B C D
1 等級
2 キログラム当たり単価 (円 / kg ) 1,500 1,200 800
  1. 列 A は,見出し列である。
  2. セル B1 ~ D1 には,等級として,順に “優” , “良” , “並” を入力する。
  3. セル B2 ~ D2 には,各等級のキログラム当たり単価を入力する。

〔ワークシート: 集計表〕
  1 回の出荷ごとに,出荷する個々のメロンに対して一意となる ID を付与する。 1 回 の出荷数は 1,000 個以内である。各メロンの等級と価格 (価格は,等級が “優” と “良” のものだけ) を決定するワークシート “集計表” の例を,図 2 に示す。

infoスマートフォンをご覧の際、表とプログラムは右にスクロールできます

図 2 ワークシート “集計表” の例
A B C D E F G
1 ID 重量
(kg)
形状 表皮色 等級 算出価格
(円)
販売価格
(円)
2 1 1.621 2,431.5 2,450
3 2 1.854 2,224.8 2,250
4 3 2.023 2,427.6 2,450
5 4 2.456
more_vert more_vert more_vert more_vert more_vert more_vert more_vert more_vert
16 15 2.454 2,944.8 2,950
17 16 2.858 4,287.0 4,300
18 17 1.214 1,456.8 1,500
19 18 1.014
more_vert more_vert more_vert more_vert more_vert more_vert more_vert more_vert
79 78 2.812 4,218.0 4,250
more_vert more_vert more_vert more_vert more_vert more_vert more_vert more_vert
  1. 行 1 は見出し行である。出荷するメロンのデータは,行 2 以降にそれぞれ 1 行で入力する。
  2. データの最終行よりも下の行の列 A ~ D の各セルには空値が入力されている。
  3. 列 A には,付与した ID を入力する。
  4. 列 B には,メロンの重量を kg 単位で小数第 3 位まで入力する。
  5. 列 C と列 D には,メロンの形状と表皮色の評価をそれぞれ入力する。
  6. セル E2 には,セル C2 及び D2 の評価に基づいて,メロンの等級を表示する次の式を入力し,セル E3 ~ E1001 に複写する。
    IF(A2 = null, null, a)
  7. セル F2 には,次の式を入力し,セル F3 ~ F1001 に複写する。この式は,等級が “並” のときは “―” を表示し,それ以外のときは,メロンの算出価格を表示する。算出価格は,ワークシート “単価表” を参照して,メロンのキログラム当たり単価 に重量を掛けた値である。
    IF(A2 = null, null, IF(E2 = '並', '―',b* B2) )
  8. セル G2 には,次の式を入力し, セル G3 ~ G1001 に複写する。この式は,等級が “並” のときは “―” を表示し,それ以外のときは,メロンの販売価格を表示する。販売価格は,算出価格を 50 円単位で切り上げた値である。
    IF(A2 = null, null, IF(E2 = '並', '―',c)

設問 1

ワークシート”集計表” の説明文中のに入れる正しい答えを,解答群の中から選べ。

a に関する解答群

ア IF(論理積(C2 = '並', D2 = '並'), '並',
        IF(論理積(C2 = '良', D2 = '良'), '良', '優'))
イ IF(論理積(C2 = '優', D2 = '優'), '優',
        IF(論理積(C2 = '並', D2 = '並'), '並', '良'))
ウ IF(論理積(C2 = '優', D2 = '優'), '優',
        IF(論理積(C2 = '良', D2 = '良'), '良', '並'))
エ IF(論理和(C2 = '並', D2 = '並'), '並',
        IF(論理和(C2 = '良', D2 = '良'), '良', '優'))
オ IF(論理和(C2 = '優; D2 = '優'), '優' ,
        IF(論理和(C2 = '並', D2 = '並'), '並', '良'))
カ IF(論理和(C2 = '優', D2 = '優'), '優',
        IF(論理和(C2 = '良', D2 = '良'), '良', '並'))

b に関する解答群

ア 照合一致(E2, 単価表!$B2:$D2, 0)
イ 照合一致(E2, 単価表!B$2:D$2, 0)
ウ 水平照合(E2, 単価表!$B1:$D2, 2, 0)
エ 水平照合(E2, 単価表!B$1:D$2, 2, 0)
オ 表引き(単価表!$B1:$D2, 2, 1)
カ 表引き(単価表!B$1:D$2, 2, 1)

c に関する解答群

ア 切上げ(F2 * 2, 0) / 2
イ 切上げ(F2 / 2, 0) * 2
ウ 切上げ(F2 / 50, 0) * 50
エ 四捨五入(F2, -2)
オ 四捨五入(F2 + 50, -2) -50
カ 四捨五入(F2 / 50, 0) * 50

設問 2

 等級が “優” 及び “良” のメロンは, 1 個ずつ箱に入れて梱包する。等級が “並” のメロンは,複数個を大箱に入れて梱包する。大箱の販売価格は,梱包したメロンの合計重量に,等級が “並” のキログラム当たり単価を掛けて, 50 円単位で切り上げた値である。等級が “並” のメロンを大箱に割り振るために,ワークシート “重量計算表” を作成し,マクロ Packing を格納した。マクロ Packing 中のに入れる正しい答えを,解答群の中から選べ。

〔ワークシート:重量計算表〕
 ワークシート “集計表” の行 2 以降のデータを上から順に参照し,メロンを大箱に割り振っていく。大箱には箱連番を付与する。一つの大箱には,出荷条件である “メロンの合計重量が5kg 以上” 又は “メロンの個数が4個” のどちらかを満たすまでメロンを割り振る。ワークシート “重量計算表” の例を,図 3 に示す。

図 3 ワークシート “重量計算表” の例
A B C D E F G
1 箱定番 1 個目の
ID
2 個目の
ID
3 個目の
ID
4 個目の
ID
合計重量
(kg)
販売価格
(円)
2 1 4 7 18 5.728 4,600
3 2 26 29 5.434 4,350
4 3 32 36 39 41 4.822 3,900
5 42 50 58 6.859 5,500
6 5 61 69 72 77 6.536 5,250
7 6 80 88 91 5.312 4,250
8
more_vert more_vert more_vert more_vert more_vert more_vert more_vert more_vert
1001

 行 1 は見出し行である。マクロ Packing の実行前に,セル A2 ~ F1001 には,空値が格納されている。セル G2 ~ G1001 には,籍連番が示す大箱に割り振られたメロンの合計重量から販売価格を算出する式を入力しておく。この式は,合計重量を格納するセルが空値の場合は,空値を表示する。

 マクロ Packing は,処理 1. ~ 4. を実行する。

  1. 列 A の行 2 以降には, 1 から順に箱連番を格納する。
  2. 列 B ~ E の行 2 以降には,箱連番が示す大箱に割り振られたメロンの ID を格納する。割り振られたメロンの個数が 4 未満だった場合, ID を格納しなかったセルは空値のままとなる。
  3. 列 F の行 2 以降には,箱連番が示す大箱に割り振られたメロンの合計重量を格納する。
  4. 割り振った結果,出荷条件を満たさない大箱に関する情報は,表示しないようにする。

〔マクロ: Packing 〕

○ マクロ: Packing
○ 数値型: i, j, k, CurrentColumn
・ i ← 1
・ j ← 1
・ CurrentColumn ← 0
■ 相対(集計表!A1, i, 0) ≠ null
| ▲ 相対(集計表!E1, i, 0) = '並'
| | ▲ CurrentColumn = 0
| | | ・ 相対(A1, j, 0) ← j 
| | | ・ 相対(F1, j, 0) ← 0
| | ▼
| | ・ 相対(B1, j, CurrentColumn) ← 相対(集計表!A1, i, 0)
| | ・ d
| | ・ CurrentColumn ← CurrentColumn + 1
| | ▲ e
| | | ・ j ← j + 1
| | | ・ CurrentColumn ← 0
| | ▼
| ▼
| ・ i ← i + 1
■
▲ 相対(F1, j, 0) ≠ null
| ■ k: 0, k ≦ 5, 1
| | ・ f
| ■
▼

d に関する解答群

ア 相対(F1, i, 0) ← 相対(F1, i, 0) + 相対(集計表!B1, 1, 0)
イ 相対(F1, i, 0) ← 相対(F1, i, 0) + 相対(集計表!B1, i, 0)
ウ 相対(F1, i, 0) ← 相対(F1, i, 0) + 相対(集計表!B1, j, 0)
エ 相対(F1, i, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, j, 0)
オ 相対(F1, j, 0) ← 相対(F1, i, 0) + 相対(集計表!B1, 0, 0)
カ 相対(F1, j, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, 0, 0)
キ 相対(F1, j, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, i, 0)
ク 相対(F1, j, 0) ← 相対(F1, j, 0) + 相対(集計表!B1, j, 0)

e に関する解答群

ア 論理積(相対(F1, j, 0) = 5, CurrentColumn = 4)
イ 論理積(相対(F1, j, 0) = 5, CurrentColumn ≧ 4)
ウ 論理積(相対(F1, j, 0) < 5, CurrentColumn = 4)
エ 論理積(相対(F1, j, 0) ≧ 5, CurrentColumn < 4)
オ 論理和(相対(F1, j, 0) = 5, CurrentColumn ≧ 4)
力 論理和(相対(F1, j, 0) < 5, CurrentColumn = 4)
キ 論理和(相対(F1, j, 0) ≧ 5, CurrentColumn = 4)
ク 論理和(相対(F1, j, 0) ≧ 5, CurrentColumn < 4)

f に関する解答群

ア 相対(A1, j, 1) ← null
イ 相対(A1, j, k) ← null
ウ 相対(A1, j, k) ← 相対(A1, j, k) + 1
エ 相対(A1, k, 1) ← null
オ 相対(A1, k, j) ← null
カ 相対(A1, k, j) ← 相対(A1, k, j) + 1
問題のヒント

メロンの等級を、優、良、並に仕分けする、という問題です。

他の多くの過去問題と同様に、前半部はセルに入れる式を選ぶ設問であり、後半部はマクロのプログラムの穴埋めをする設問です。

前半部では、問題に示された条件を IF 関数で示すこと、切り上げ関数や四捨五入関数で目的の形式の数値を得ること、および、照合一致関数、水平照合関数、表引き関数の使い方がポイントになります。選択肢の中には、式が同じで、絶対参照を示す$の付け方だけが異なるものがあるので、注意してください。

後半部は、繰り返し処理の中で相対関数を使っている部分が穴埋めになっています。マクロの説明と照らし合わせながらプログラムの流れを読み、選択肢を大いにヒントにして、消去法で答えを選ぶとよいでしょう。

みんなの解答欄

こちらから解答できます!

infoスマートフォンをご覧の場合、解答欄は一部切れている可能性がありますが、縦にスクロールすると表示されます

今週の金曜に解答解説ページを、ご解答頂いた方の正解率とともに公開します !!

 

label 関連タグ
科目A試験は、
免除できます。
独習ゼミで科目A試験を1年間免除して、科目B試験だけに集中しましょう。
免除試験を受けた 74.9% の方が、
科目A免除資格を得ています。
科目A免除試験 最大 2 回の
受験チャンス !
info_outline
科目A免除試験 最大 2 回の
受験チャンス !
詳しく見てみるplay_circle_filled
label これまでの『今週の午後問題』の連載一覧 label 著者