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

平成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 〜 F9999 に入力する各式は, 当該行の列 A のセルの値が空値であれば空値を返す。

(1) セル D2 には,セル A2 の時刻に対応する時間帯を表示する次の式を入力する。

  a  

(2) セル E2 には,セル A2 の時刻に対応する曜日コードを表示する次の式を入力する。 ここで,1440 は,1日を分に換算した値( 24 × 60 )である。

IF(A2=null,null,剰余(切捨て(A2/1440,0),7))

(3) セル F2 には,セル D2 とセル E2 の値をつないで,一つの文字列として返す次の式を入力する。

IF(A2=null,null,結合(D2,E2)) (4) セル D2,E2,F2 に入力した式を,行 3 〜 9999 の対応する列のセルに複写する。

 

a に関する解答群 ア IF(A2=null,null,切上げ(剰余(A2/24,60),0))

イ 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))

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

基本情報技術者試験


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

〔ワークシート:集計〕

 ワークシート“集計”には,“アクセス集計表”及び“アクセス分析表”を作成する。 ワークシート“集計”の例を,図3に示す。

 

図3 ワークシート“集計”の例

 

(1) “アクセス集計表”は,ワークシート“ログ”を参照して,社外の Web ページに アクセスした回数(以下,アクセス回数という)を,該当する曜日, 時間帯ごとに集計して表示する。

(2) “アクセス分析表”は,アクセス回数が,最多となる時間帯と最少となる時間帯, 及び最多となる曜日と最少となる曜日を表示する。

(3) セル A3 〜 A9 には,曜日として“月”〜“日”を入力する。

(4) セル B2 〜 Y2 には,時間帯として 0 〜 23 を入力する。

(5) セル B3 には,ワークシート“ログ”のデータの中から,曜日と時間帯がそれぞれ, 当該セルと同じ行の列 A で示す曜日と,同じ列の行 2 で示す時間帯に一致するデータの 個数を数えて表示する次の式を入力して,セル B3 〜 Y9 に複写する。

条件付個数(ログ!$F$2:$F$9999,   b  )

(6) セル Z3 には,当該セルと同じ行の列 B 〜 Y の値を合計する式を入力し, セル Z4 〜 Z9 に複写する。

(7) セル B10 には,当該セルと同じ列の行 3 〜 9 の値を合計する式を入力し, セル C10 〜 Z10 に複写する。

(8) セル D14 には,アクセス回数を時間帯ごとに集計したときに, その値が最多となる時間帯を表示する式を入力し, セル D15 にはその値が最少となる時間帯を表示する式を入力する。 ここで,最多,最少となる時間帯が複数あったときは, そのうちアクセス集計表の左端に最も近い時間帯を表示する。

(9) セル D17 には,アクセス回数を曜日ごとに集計したときに, その値が最多となる曜日を,“月”〜 “日”で表示する次の式を入力する。

  c  

 セル D18 には,アクセス回数を曜日ごとに集計したときに,その値が最少となる曜日を, “月”〜 “日”で表示する式を入力する。

 ここで,最多,最少となる曜日が複数あったときは,そのうちアクセス集計表の 上端に最も近い曜日を表示する。

 

b に関する解答群 ア =結合(B$2,照合一致($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))

エ =結合(照合一致($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 に関する解答群 ア 照合検索(最大(B10:Y10),B10:Y10,B2:Y2)

イ 照合検索(最大(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),
         照合一致(最大(B10:Y10),B10:Y10,0))

カ 表引き(曜日!B1:H1,1,照合一致(最大(Z3:Z9),Z3:Z9,0))

 

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

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

基本情報技術者試験


設問3   Tさんは,ワークシート“ログ”のデータから,アクセス先の URL ごとのアクセス回数を 求めるマクロ Page_count を作成し,ワークシート“アクセス先集計”に格納した。 マクロ Page_count 中の   に入れる正しい答えを, 解答群の中から選べ。

 

〔ワークシート:アクセス先集計〕

 マクロ実行後のワークシート“アクセス先集計”の例を,図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)

カ 論理和(count_url ≠ null, count_url ≠ log_url)

 

e に関する解答群 ア count_url = log_url

イ count_url = null

ウ count_url ≠ null

エ log_url = null

オ log_url ≠ null

 

f に関する解答群 ア 相対(A1, count_line, 1) ← 相対(A1, count_line, 1) + 1

イ 相対(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

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

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

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


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