平成29年 秋期 基本情報技術者 午後 問13
問13 表計算次の表計算のワークシート及びマクロの説明を読んで,設問1〜3に答えよ。 〔表計算の説明〕 S社では,社内の業務用 PC(以下,PC という)からインターネットヘの接続に, 社内に設置した Proxy サーバ(以下,サーバという)を利用している。 サーバの運用担当である T さんは,社内から社外の Web ページヘのアクセス状況を 確認するために,サーバのアクセスログを分析することにした。 〔ワークシート:ログ〕 ワークシート“ログ”には,2017 年 4 月 3 日(月)から 2017 年 4 月 30 日(日)までの 4 週間に社外の Web ページにアクセスした記録だけをアクセスログから取り出し, 集計に必要な加工を行った結果が入力されている。ワークシート“ログ”の例を,図1に示す。
図1 ワークシート“ログ”の例 (1) 行 1 は見出し行で,データは行 2 以降に入力されている。 (2) 列 A には,PC がサーバにアクセスした時刻が入力されている。ここで,時刻は, 基準となる 1970 年 1 月 1 日(木曜日)の 0 時 00 分から当該時刻までの分を 単位とする経過時間で表現する。 (3) 列 B には,社外の Web ページにアクセスした PC の IP アドレスが入力されている。 (4) 列 C には,アクセスした Web ページの URL が入力されている。 (5) 列 D には,列 A の時刻に対応する時間帯( 0 〜 23 )を表示する式が入力されている。 ここで,時間帯は,0 時台( 0 時 00 分〜 0 時 59 分)を 0,1 時台( 1 時 00 分〜 1 時 59 分)を 1,…,23 時台( 23 時 00 分〜 23 時 59 分)を 23 とする整数値である。 (6) 列 E には,列 A の時刻に対応する曜日を 0 〜 6 の整数値で表現する曜日コードを 表示する式が入力されている。ここで,曜日コードは, 基準となる 1970 年 1 月 1 日の曜日である木曜日を 0 とし,水曜日の 6 までを順に割り振る。 (7) 列 F には,時間帯と曜日コードをつないで一つの文字列とした集計キーを 表示する式が入力されている。 (8) データは最大 9,998 件までとし,データの最終行よりも下の行の列 A 〜 C の各セルには 空値が入力されている。 〔ワークシート:曜日) 曜日と曜日コードとの対応を,ワークシート“曜日”に入力する。 ワークシート“曜日”を,図2に示す。
図2 ワークシート“曜日”
(1) セル D2 には,セル A2 の時刻に対応する時間帯を表示する次の式を入力する。
(2) セル E2 には,セル A2 の時刻に対応する曜日コードを表示する次の式を入力する。 ここで,1440 は,1日を分に換算した値( 24 × 60 )である。 (3) セル F2 には,セル D2 とセル E2 の値をつないで,一つの文字列として返す次の式を入力する。 a に関する解答群 イ IF(A2=null,null,切上げ(剰余(A2,60)/1440,0)) ウ IF(A2=null,null,切捨て(剰余(A2/24,60),0)) エ IF(A2=null,null,切捨て(剰余(A2,60)/1440,0)) オ IF(A2=null,null,剰余(切捨て(A2/1440,0),60)) カ IF(A2=null,null,剰余(切捨て(A2/60,0),24))
〔ワークシート:集計〕 ワークシート“集計”には,“アクセス集計表”及び“アクセス分析表”を作成する。 ワークシート“集計”の例を,図3に示す。
図3 ワークシート“集計”の例 (1) “アクセス集計表”は,ワークシート“ログ”を参照して,社外の Web ページに アクセスした回数(以下,アクセス回数という)を,該当する曜日, 時間帯ごとに集計して表示する。 (2) “アクセス分析表”は,アクセス回数が,最多となる時間帯と最少となる時間帯, 及び最多となる曜日と最少となる曜日を表示する。 (3) セル A3 〜 A9 には,曜日として“月”〜“日”を入力する。 (4) セル B2 〜 Y2 には,時間帯として 0 〜 23 を入力する。 (5) セル B3 には,ワークシート“ログ”のデータの中から,曜日と時間帯がそれぞれ, 当該セルと同じ行の列 A で示す曜日と,同じ列の行 2 で示す時間帯に一致するデータの 個数を数えて表示する次の式を入力して,セル B3 〜 Y9 に複写する。 (6) セル Z3 には,当該セルと同じ行の列 B 〜 Y の値を合計する式を入力し, セル Z4 〜 Z9 に複写する。 (7) セル B10 には,当該セルと同じ列の行 3 〜 9 の値を合計する式を入力し, セル C10 〜 Z10 に複写する。 (8) セル D14 には,アクセス回数を時間帯ごとに集計したときに, その値が最多となる時間帯を表示する式を入力し, セル D15 にはその値が最少となる時間帯を表示する式を入力する。 ここで,最多,最少となる時間帯が複数あったときは, そのうちアクセス集計表の左端に最も近い時間帯を表示する。 (9) セル D17 には,アクセス回数を曜日ごとに集計したときに, その値が最多となる曜日を,“月”〜 “日”で表示する次の式を入力する。 セル D18 には,アクセス回数を曜日ごとに集計したときに,その値が最少となる曜日を, “月”〜 “日”で表示する式を入力する。 ここで,最多,最少となる曜日が複数あったときは,そのうちアクセス集計表の 上端に最も近い曜日を表示する。 b に関する解答群 イ =結合(B$2,照合検索($A3,曜日!$B$2:$H$2,曜日!$B$1:$H$1)) ウ =結合(B$2,水平照合($A3,曜日!$B$1:$H$2,2,0)) エ =結合(照合一致($A3,曜日!$B$1:$H$1,0),B$2) オ =結合(照合検索($A3,曜日!$B$2:$H$2,曜日!$B$1:$H$1),B$2) カ =結合(水平照合($A3,曜日!$B$1:$H$2,2,0),B$2) c に関する解答群 イ 照合検索(最大(Z3:Z9),Z3:Z9,A3:A9) ウ 照合検索(照合一致(最大(Z3:Z9),Z3:Z9,0)−1,曜日!B2:H2,曜日!B1:H1) エ 表引き(A3:Z9,1,照合一致(最大(Z3:Z9),Z3:Z9,0))
オ 表引き(A3:Z9,照合一致(最大(Z3:Z9),Z3:Z9,0), カ 表引き(曜日!B1:H1,1,照合一致(最大(Z3:Z9),Z3:Z9,0))
〔ワークシート:アクセス先集計〕 マクロ実行後のワークシート“アクセス先集計”の例を,図4に示す。
図4 ワークシート“アクセス先集計”の例 (1) 行1は見出し行である。 (2) マクロ実行前のセル A2 〜 B9999 には,あらかじめ空値を入力しておく。 (3) マクロ Page_count の実行結果は,行 2 以降に表示される。 〔マクロ:Page_count の説明〕 (1) ワークシート“ログ”のセル C2 を最初の対象セルとして,以降,セル C3, C4,…と順次,対象セルを下に移しながら,対象セルの値が空値になるまで, (2) の処理を繰り返す。 (2) ワークシート“ログ”の対象セルに入力されている URL と同じ値が 入力されているかどうかを,ワークシート“アクセス先集計”のセル A2 から 下に検索し,同じ URL を値としてもつセルが見つかったときは, 当該行の列 B のアクセス回数に 1 を加える。列 A のセルの値が空値になるまで 検索しても同じ URL を値としてもつセルが見つからなかったときは, 最初に現れた空値の行の,列 A に対象セルの値を,列 B に 1 を格納する。 〔マクロ:Page_count〕
d に関する解答群 イ 論理積(count_url = null, count_url ≠ log_url) ウ 論理積(count_url ≠ null, count_url ≠ log_url) エ 論理和(count_url = null, count_url = log_url) オ 論理和(count_url = null, count_url ≠ log_url) カ 論理和(count_url ≠ null, count_url ≠ log_url) e に関する解答群 イ count_url = null ウ count_url ≠ null エ log_url = null オ log_url ≠ null f に関する解答群 イ 相対(A1, count_line, 1) ← 相対(ログ!A1, log_line, 2) ウ 相対(A1, count_line, 2) ← 相対(A1, count_line, 2) + 1 エ 相対(A1, count_line, 2) ← 相対(ログ!A1, log_line, 2) オ 相対(A1, log_line, 1) ← 相対(A1, log_line, 1) + 1 カ 相対(A1, log_line, 2) ← 相対(A1, log_line, 2) + 1
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||