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

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

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

〔表計算の説明〕

 F社では,所有する顧客情報のデータを分析して営業活動に役立てている。このたび, 情報漏えいなどの事故に備えるために,必要に応じて匿名性の高いデータに変換してから, 分析を担当する部署に渡すことになった。そこで,顧客データに対して匿名化処理を 行うプログラムを表計算ソフトで作成した。

〔ワークシート:顧客リスト〕

 分析対象の顧客は 5,000 人である。各顧客に対して固有の ID,氏名,郵便番号,住所, 電話番号,年齢,職業コードの情報を所有している。 顧客情報を格納したワークシート“顧客リスト”の例を図1に示す。 ここで,郵便番号は7桁の数値として取り扱う。

図1 ワークシート“顧客リスト”の例

〔ワークシート:匿名化顧客リスト〕

 ワークシート“顧客リスト”を基に,匿名化処理を施したワークシート“匿名化顧客リスト”を 作成した。ワークシート“匿名化顧客リスト”の例を図2に示す。

 なお,列 H,列 I は,後述のマクロ GenerateList で使用する。

図2 ワークシート“匿名化顧客リスト”の例

設問1 ワークシート“匿名化顧客リスト”に関する次の記述の に入れる正しい答えを, 解答群の中から選べ。ここで,c1 と c2 に入れる答えは,c に 関する解答群の中から組合せとして正しいものを選ぶものとする。

(1) 氏名,住所,電話番号の情報は完全に秘匿するために,“*”にする。 そこでセル B2,D2,E2 に“*”を入力し, それぞれセル B3 〜 B5001,D3〜 D5001,E3 〜 E5001 に複写する。

(2) 郵便番号は,7桁の郵便番号のうち上位2桁だけの値に置き換えることで 匿名化する。そこで,次の式をセル C2 に入力し,セル C3 〜 C5001 に複写する。

    (3) セル F2 〜 F5001 には,図3に示す各年齢区分の最小値である表示年齢を 表示することで匿名化する。各年齢区分の最小値である表示年齢を, セル K2 〜 K9 に昇順に入力する。また,セル K10 には, 終端を示す 1000 を入力する。

 
 年齢区分  表示年齢
  0 〜 19歳    0
 20 〜 24歳   20
 25 〜 29歳   25
 30 〜 34歳   30
 35 〜 39歳   35
 40 〜 49歳   40
 50 〜 59歳   50
 60 歳以上    60

図3 年齢区分

 例えば,顧客の年齢が 23 歳の場合,“20”と表示する。そこで, 次の式をセル F2 に入力し,セル F3 〜 F5001 に複写する。

   

(4) 職業コードは図4に示す項目から成る3桁の数値である。各桁は,1〜9の 整数値である。

 大分類
  1桁 
 中分類
  1桁 
 小分類
  1桁 

図4 職業コードの様式

 セル G2 〜 G5001 には,必要に応じて大分類化するか中分類化することで 匿名化した職業コートを表示する。大分類化とは,中分類,小分類の値をいずれも 0 に 置き換えた数値に変換することであり,中分類化とは,小分類の値を 0 に置き換えた数値に 変換することである。大分類化,中分類化された3桁の数値をそれぞれ大分類コード, 中分類コードと呼ぶ。

 セル L2 〜 M41 には,職業コードの大分類化,中分類化に関する情報が入力されている。 存在し得る大分類コード,中分類コードは合わせて 40 種類であり, セル L2 〜 L41 に昇順で格納されている。次の規則によって,職業コードを変換する。

@ 大分類コードが格納されているセルの右側の対応するセルに“*”が 格納されている場合,その大分類に属する職業コードは全て大分類コードに変換する。 例えば,セル L2 には大分類コード 100 が格納されていて,その右隣のセル M2 は“*”なので, 100 番台の全ての職業コードは 100 に変換する。

A @に該当しない場合であって,中分類コードが格納されているセルの右側の 対応するセルに“*”が格納されている場合,その中分類に属する職業コードは 全て中分類コードに変換する。例えば,セル L6 には中分類コード 210 が格納されていて, 右隣のセル M6 は“*”なので,210 番台の全ての職業コードは 210 に変換する。

B @,Aのいずれも該当しない場合,職業コードは変換しない。

 そこで,次の式をセル G2 に入力し,セル G3 〜 G5001 に複写する。

IF (垂直照合 ( ,L$2:M$41, 2, 0)='*', ,

IF (垂直照合 ( ,L$2:M$41, 2, 0)='*', ,
顧客リスト!G2))

a に関する解答群 ア 剰余 (10^5, 顧客リスト!C2)

イ 剰余 (顧客リスト!C2, 10^5)

ウ 整数部 ((顧客リスト!C2/10)^5)

エ 整数部 (顧客リスト!C2/10^5)

オ 整数部 (顧客リスト!C2/10)^5

b に関する解答群

ア 垂直照合 (顧客リスト!F2, K$2:K$10, 1, 0)

イ 垂直照合 (顧客リスト!F2, K$2:K$10, 1, 1)

ウ 垂直照合 (顧客リスト!F2+1, K$2:K$10, 1, 0)

エ 垂直照合 (顧客リスト!F2+1, K$2:K$10, 1, 1)

オ 表引き (K$2:K$10, 照合一致 (顧客リスト!F2, K$2:K$10, −1), 1)

カ 表引き (K$2:K$10, 照合一致 (顧客リスト!F2+1, K$2:K$10, 1), 1)

c に関する解答群

           c1         c2
 ア 切捨て (顧客リスト!G2,−1)  顧客リスト!G2
 イ 切捨て (顧客リスト!G2,−2)  切捨て (顧客リスト!G2,−1)
 ウ 切捨て (顧客リスト!G2,−2)  顧客リスト!G2
 エ 顧客リスト!G2  切捨て (顧客リスト!G2,−1)
 オ 顧客リスト!G2  切捨て (顧客リスト!G2,−2)

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

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

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

基本情報技術者試験


〔ワークシート:提供リスト〕

 匿名化された後の郵便番号,年齢,職業コードが全て同一となる顧客の数(多重度と呼ぶ)の リストをデータ分析の担当部署に渡すために,図5に示すワークシート“提供リスト”を作成する。

図5 ワークシート“提供リスト”

(1) ワークシート“匿名化顧客リスト”にマクロ GenerateList を実装する。

(2) マクロ GenerateList は,ワークシート“提供リスト”の列 A 〜 D に, ワークシート“匿名化顧客リスト”を郵便番号,年齢,職業コードの優先順で 昇順に整列し,多重度とともに表示する。

(3) ワークシート“匿名化顧客リスト”のセル H2 〜 H5001 は,マクロ GenerateList の実行中に, どの顧客の情報が処理済みであるかを示すのに用いる。 処理済みの顧客の場合は 1 を,そうでない場合は 0 を表示する。

(4) (2) の処理を行う際,次に処理する顧客を決定するために,ワークシート“匿名化顧客リスト”中の 郵便番号,年齢,職業コードから成る次のような 8 桁の数値(以下,評価値という)を定義する。

 この評価値が最小の顧客を処理対象とし,多重度を順次求めていく。

 そこで,次の式をワークシート“匿名化顧客リスト”のセル I2 に入力し, セル I3 〜 I5001 に複写する。

   H2*10000000+C2*100000+F2*1000+G2

(5) ワークシート“匿名化顧客リスト”のセル N2 には,表示する多重度の下限値が 入力されている。ここで,表示する多重度の下限値は 2 以上の整数とする。 多重度がこの値以上の郵便番号,年齢,職業コードの組を,多重度とともに ワークシート“提供リスト”に表示する。

設問2 マクロ GenerateList をワークシート“匿名化顧客リスト”に格納した。 マクロ GenerateList 中の に入れる正しい答えを, 解答群の中から選べ。

[マクロ:GenerateList]

d に関する解答群

ア 条件付個数 (I2〜15ØØ1, > 相対 (I1, I, Ø))

イ 条件付個数 (I2〜15ØØ1, < 相対 (I1, I, Ø))

ウ 照合一致(最小 (I2〜15ØØ1), I2〜15ØØ1, Ø)

エ 照合一致(最小 (I2〜15ØØ1), I2〜15ØØ1, 1)

オ 照合一致(最大 (I2〜15ØØ1), I2〜15ØØ1, Ø)

カ 照合―致(最大 (I2〜15ØØ1), I2〜15ØØ1, 1)

キ 相対 (I1, I, Ø)

ク 相対 (I1, J, Ø)

e,f に関する解答群

ア I ← I+1       イ I ← I+J       ウ I ← I+K

エ J ← I        オ J ← J+1       カ J ← J+K

キ J ← K+1       ク K ← J        ケ K ← K+1

コ K ← K+J

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

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

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


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