平成30年 秋期 基本情報技術者 午後 問13
問13 表計算次の表計算のワークシート及びマクロの説明を読んで,設問1〜3に答えよ。 〔表計算の説明〕 Z社は,店舗の窓口で自社商品に関する諸手続のサービスを行っている。 来店した顧客が受付機のボタンを押すと,1 から始まる連番の受付番号を記した受付票が発行される。 窓口では,受付番号の順に担当者が PC を用いて業務処理用サーバ(以下,業務サーバという)の 機能を利用しながらサービスを行う。最近,顧客へのアンケートで“待ち時間が長い”との意見が増えたので, 表計算ソフトを用いて待ち時間の状況などを分析することにした。 なお,本間において,関数“条件付個数”は,セル範囲に含まれる空白セルでないセルのうち検索条件の 記述で指定された条件を満たすセルの個数を返す。 〔ワークシート:来店状況〕 業務サーバには,顧客に対して行ったサービスに関するデータが受付番号ごとに記録される。 この記録から分析に必要なデータを得るために,ある1日のデータを業務サーバから抽出,加工して, ワークシート“来店状況”に入力した。ワークシート“来店状況”の例を,図1に示す。 図1 ワークシート“来店状況”の例 (1)列 A 〜 F の行 3 以降に,業務サーバから抽出した,受付票の発行後にサービスを 受けた顧客(以下,窓口利用者という)のデータが入力されている。 データは,一つの受付番号に関するものが1レコードとして同一行に入力され, 受付番号の昇順に整列されている。データの件数は 5 件以上 250 件以下であり, 最後のデータが入力された行よりも下の行の各セルには空値が格納されている。 (2)業務サーバは,時間を分の単位の整数値で保持し,時刻を午前 0 時 00 分からの 経過分数として保持する。時間及び時刻の計算にはこの整数値を用いる。 時間及び時刻は,hh:mm(時:分)の形式で表示する。 (3)列 A の受付番号は受付票に記された番号であり,列 B の受付時刻はその受付票が 発行された時刻である。受付機による受付票の発行は 10 時 0O 分になると同時に開始し, 19 時 00 分になると同時に終了する。 (4)列 C のサービス種別は,窓口利用者に対して行ったサービスの種別であり,A,B,C の三つがある。 全てのサービスは,1日に1回以上利用される。 (5)列 D の窓口番号は,サービスを行った窓日の番号である。窓回は三つあり, それらの窓口番号は 1,2,3 である。どの窓口でも全ての種別のサービスを行っている。 (6)列 E の開始時刻は窓口でサービスを開始した時刻,列 F のサービス時間はサービスに掛かった時間である。 (7)セル G3 に,開始時刻にサービス時間を加えて終了時刻を求める次の式を入力し, セル G4 〜 G252 に複写する。 (8)セル H3 に,受付時刻から開始時刻までの時間(以下,待ち時間という)を求める次の式を入力し, セル H4 〜 H252 に複写する。 (9)セル I3 に,当該行の受付番号よりも小さい受付番号をもつ窓口利用者のうち, 当該行の受付時刻にまだサービスが開始されていない人数(以下,待ち人数という)を 求める次の式を入力し,セル I4 〜 I252 に複写する。ここで,待ち時間が 0 の窓口利用者は, 待ち人数に含めない。 +条件付個数(H$&H3,=H3))
ウ 条件付個数(E$3:E3,>B3) エ 条件付個数(G3:G$252,>B3) オ 条件付個数(G3:G$252,<B3) カ 条件付個数(G$3:G3,>B3) 〔ワークシート:分析〕 ワークシート“来店状況”のデータを基に窓口利用者の状況を分析するために, ワークシート“分析”を作成し,セル A2〜 D12 に“時間帯別分析”,セル F2 〜 I6 に “種別分析”,セル F9〜 I14 に“待ち時間分析(上位 5 件)”の表を格納した。 ワークシート“分析”の例を,図2に示す。 図2 ワークシート“分析”の例
(1)集計の区分を1時間ごとの時間帯とし,セル A4 〜 B12 に,各時間帯の始まりの時刻 (毎時の 00 分)と終わりの時刻(毎時の 59 分)を上から順に入力する。 また,セル F4 〜 F6 にサービスの種別を,セル F10 〜 F14 に待ち時間の順位を 示す数値 1 〜 5 を入力する。 (2) セル C4 に,ワークシート“来店状況”のデータから,受付時刻が当該行の 時間帯にあるデータの個数を求める次の式を入力し,セル C5 〜 C12 に複写する。 b (3) セル D4 に,ワークシート“来店状況”のデータから,受付時刻が当該行の 時間帯にあるデータの待ち時間の平均値を求める式を入力し,セル D5 〜 D12 に複写する。 ここで,当該行の時間帯の受付人数が 0 のときの待ち時間の平均値は 0 とする。 (4) セル G4 に,ワークシート“来店状況”のデータから,サービス種別が当該行の サービス種別と一致するデータの件数を求める式を入力し,セル G5 〜 G6 に複写する。 また,セル H4 に全サービス件数に対する当該行の件数の構成比率を求める式を入力し, セル H5 〜 H6 に複写する。 (5)セル I4 に,ワークシート“来店状況”のデータから,サービス種別が当該行の サービス種別と一致するデータのサービス時間の平均値を求める次の式を入力し, セル I5 〜 I6 に複写する。 切捨て( c ,0 ) (6)セル G10 に,ワークシート“来店状況”のデータから,待ち時間順位がセル F10 の 順位に該当するデータの受付番号を求める次の式を入力し,セル G11 〜 G14 に複写する。 d (7)セル H10 に,ワークシート“来店状況”のデータから,セル G10 の受付番号に 該当するデータの受付時刻を求める式を入力し,セル H11 〜 H14 に複写する。 (8)セル I10 に,ワークシート“来店状況”のデータから,セル G10 の受付番号に 該当するデータの待ち時間を求める式を入力し,セル I11 〜 I14 に複写する。 b に関する解答群 −条件付個数(来店状況!B$3:B$252,>A5)
イ 条件付個数(来店状況!B$3:B$252,>A4)
ウ 条件付個数(来店状況!B$3:B$252,>B4)
エ 条件付個数(来店状況lB$3:B$252,<A4)
オ 条件付個数(来店状況!B$3:B$252,≦ B4) c に関する解答群 イ 条件付合計(来店状況!C$3:C$252,=F4,来店状況!F$3:F$252)/G4 ウ 条件付合計(来店状況!C$3:C$252,=F4,来店状況!F$3:F$252)/合計(G$4G$6) エ 条件付合計(来店状況!F$3:F$252,=F4,来店状況!C$3:C$252)/G4 オ 条件付合計(来店状況!F$3:F$252,=F4,来店状況!C$3:C$252)/合計(G$4G$6) カ 平均(来店状況!F$3:F$252)*H4 d に関する解答群 イ 照合検索(F10,来店状況!J$3:J$252,来店状況!A$3:A$252) ウ 垂直照合(順位(F10,来店状況!H$3:H$252,1),来店状況!A$3J$252,1,0) エ 垂直照合(F10,来店状況!A$3:J$252,10,0) オ 表引き(来店状況!A$3:A$252,順位(F10,来店状況!H$3:H$252,1),1) カ 表引き(来店状況J$3J$252,照合一致(F10,来店状況!A$3:A$252,0),1) 〔マクロ:queue_simulation の説明〕 待ち時間の短縮策を検討するために,窓回数を変えたときのサービスを行う窓回の窓口番号, 開始時刻,終了時刻,待ち時間及び待ち人数の変化をシミュレーションするマクロ queue_simulation を作成し, ワークシート“来店状況”に格納した。シミュレーションに使う窓回数をワークシート“来店状況”の セル B1 に入力し,受付番号,受付時刻,サービス種別及びサービス時間は, ワークシート“来店状況”のセル A3 〜 F252 の内容をそのまま用いる。窓回数として,1 〜 8 を指定できる。 (1)各窓口でサービスを受けている窓口利用者へのサービスが終了する時刻(以下,前者終了時刻という)を 格納する配列 end_time を用意する。配列 end_time の添字の値 1 〜 8 は窓口番号の 1 〜 8 と対応する。 各要素の初期値として 0 を格納する。 (2)処理する行(以下,処理行という)の位置を格納する変数 work_line を用意し,初期値を 1 とする。 (3)ワークシート“来店状況”の行 3 のデータから処理を始め,全てのデータの処理が終わるまで, @〜Cの処理を繰り返す。 A @で求めた前者終了時刻の最小の値が処理行の列 B の受付時刻よりも小さいときは受付時刻を, そうでなければ@で求めた前者終了時刻の最小の値を,開始時刻として処理行の列 E のセルに格納する。 B @で決定した窓回の前者終了時刻を更新するために,配列 end_time の当該窓口に対応する要素に, 処理行の列 G の終了時刻を格納する。 C 変数 work_line に 1 を加える。
〔マクロ queue_smulation〕
e に関する解答群 イ min_time < end_time[min_no] ウ min_time < 相対(A2, work_line, 1) エ min_time > end_time[i] オ min_time > end_time[min_no] カ min_time > 相対(A2, work_line, 1) ウ i エ min_no オ min_time カ work_line イ end_time[min_no] ← 相対(A2, work_line, 4) ウ end_time[min_no] ← 相対(A2, work_line, 6) エ end_time[work_line] ← min_time オ end_time[work_line] ← 相対(A2, work_line, 4) カ end_time[work_line] ← 相対(A2, work_line, 6)
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ] | |||||||