にしのクエスト2

情報処理技術者試験と資格学校講師の日常

にしのクエスト2

まいにち基本 平成31年春午後問題解説 問13 その1

表計算の問題でございます。マクロがあってややこ
しい!


f:id:koharuwest:20190908113156p:plain


午後の問題を少しずつ解説していく連載です。
・赤字は「私ならここに線を引くなぁ」という場所。
・青字は私が考えたことや注釈などです。
皆さんも一緒に問題を読みながら、解答の方法をトレ
ースしてみていただけたら、幸いです。


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


〔表計算の説明〕
 小売販売のZ店では、会員として登録した顧客に会員
カードを発行して販売促進活動に利用している。このた
び、会員への2018年10月1日から2019年3月
31日までの期間(以下、対象期間という)の販売デー
タを基に、販売促進キャンペーンを実施することにした。


〔ワークシート:販売データ〕
 ワークシート"販売データ"には、対象期間における
会員への販売データが、販売日の昇順で格納されている。
ワークシート"販売データ"の例を、図1に示す。

f:id:koharuwest:20191002223936p:plain
(1)
列Aのレシート番号は、1回の販売ごとに発行される一
意の番号である。1回の販売で複数の種類の商品を販売
したときは商品コードごとに行を替えて連続して格納し、
同じレシート番号を付す。
(2)
列Bの販売日は、商品を販売した日付である。日付は、
1900年1月1日からの経過日数として記録され、表
計算ソフトの機能によって、yyyyーmmーdd(年
ー月ー日)の形式で表示される。
(3)
列Cの会員番号は、1001~9999の一意の数値で
ある。

(4)
列Dの商品コードは販売した商品の商品コード、列Eの
単価は販売単価、列Fの数量は販売数量、列Gは販売金
額(単価×数量)である。
(5)
列Hの会員販売通番は、上位4桁を会員番号、下位3桁
を会員ごとの販売の通番とする7桁の数値である。会員
ごとの販売の通番は、行2から当該行までに格納された
当該行の会員番号をもつ会員に対する販売回数であり、
1、000未満である。ただし、同じレシート番号が続
くときの二つ目以降の当該セルの値は0である。
(6)
同じレシート番号をもつ販売データの販売日及び会員番
号は、全て同じである。
(7)
販売データは9、998件以下であり、販売データが入
力されていない行の各セルには、空値が格納されている。


〔ワークシート:会員管理〕
 ワークシート"会員管理"には、ワークシート"販売
データ"のデータを基に、会員への販売状況や、販売促
進キャンペーンのための情報を格納する。ワークシート
"会員管理"の例を、図2に示す。

f:id:koharuwest:20191002224151p:plain

(1)
セル B1 の数値は、ワークシート"販売データ"に
格納した販売データの行数である。セル E1 の数値
は、会員数であり、ワークシート"会員管理"の行4以
降に格納したデータの行数に等しい。
(2)
列Aの行4以降には、全ての会員の会員番号を昇順に格
納する。
(3)
列Bの販売額合計は、ワークシート"販売データ"の中
にある当該行の会員番号をもつ会員に対する販売金額の
合計である。
(4)
列Cの販売回数は、ワークシート"販売データ"中にあ
る、当該行の会員番号をもつ会員に対する販売回数であ
る。
(5)
列Dの最終販売日は、当該行の会員番号をもつ会員に対
して最後に販売した日付である。対象期間に販売の記録
がないときは、空値である。
(6)
列Eの会員クラスは、当該行の会員番号をもつ会員を、
下に示すクラス分類のルールに従って分類した結果であ
る。
(7)
列Fのクーポンは、キャンペーンで当該行の会員番号を
もつ会員に発行するクーポンの総額である。クーポンは
Z店で1枚1、000円として使用できる券であり、販
売額合計が50、000円以上100、000円未満で
1枚、100、000円以上150、000円未満で2
枚、・・・というように販売額合計の50、000円ご
とに1枚を発行する。

〔クラス分類のルール〕
(1)
対象期間における各会員の販売額合計と販売回数を、表
1に示すランク分類基準に従って、それぞれランク1~
3に分類する。

f:id:koharuwest:20191002224400p:plain

(2)

ワークシート"分類表"を参照して、会員をS、A、B、
Cのクラスに分類する。表1のランク分類基準に基づい
て作成したワークシート"分類表"を、図3に示す。

f:id:koharuwest:20191002224441p:plain
1 セル D2~F2 には販売額合計のランクを示す値
  が、セル D3~F3 には販売額合計をセル D2
  ~F2のランクに分類するときの販売額合計の下限が
  格納されている。
2 セル B4~B6 には販売回数のランクを示す値が、
  セル C4~C6 には販売回数をセル B4~B6 
  のランクに分類するときの販売回数の下限が格納され
  ている。
3 セル D4~F6 には、当該セルの属する販売額合
  計と販売回数のランクから決まる会員クラスを示す
  "S"、"A"、"B"、"C"のいずれかが格納さ
  れている。

 
設問1
ワークシート"会員管理"に関する次の記述中の(  )
に入れる正しい答えを、解答群の中から選べ。

(1)
セル B4 に販売額合計を求める式を入力し、セルB
5~B9002 に複写する。
(2)
セル C4 に販売回数を求める式を入力し、セルC5
~C9002 に複写する。
(3)
セル D4 に最終販売日を求める次の式を入力し、セ
ル D5~D9002 に複写する。
IF(論理和(A4=null、C4=0)、
   null、( a )
(4)
セル E4 に会員クラスを求める次の式を入力し、セ
ル E5~E9002 に複写する。
IF(A4=null、null、
   表引き(分類表!D$4:F$6、( b )))
(5)
セル F4 にクーポンの総額を求める次の式を入力し、
セル F5~F9002 に複写する。
 IF(A4=null、null、( c )))

a に関する解答群

f:id:koharuwest:20191002224757p:plain

f:id:koharuwest:20191002224836p:plain





設問1

セル D4 に最終販売日を求める次の式を入力し、セル
D5~D9002 に複写する。
IF(論理和(A4=null、C4=0)、
   null、( a )

f:id:koharuwest:20191002224757p:plain


ORなので、空白かゼロの時は何も表示しない。
そうじゃない時は何かをします。ここに最終販売日を求める式が
入ればいいのですが。

A4の会員番号で検索をすると、2回買い物をした人でも、1回
目の日付が求められてしまいます。よって、アイはダメ。

よって、会員番号に回数を足したもので会員通番を検索して。
最終販売日を求めると良いので、カ。


(4)
セル E4 に会員クラスを求める次の式を入力し、セ
ル E5~E9002 に複写する。
IF(A4=null、null、
   表引き(分類表!D$4:F$6、( b )))
(5)
セル F4 にクーポンの総額を求める次の式を入力し、
セル F5~F9002 に複写する。
 IF(A4=null、null、( c )))

f:id:koharuwest:20191002224836p:plain


もしA4(会員番号)が空白ならば、空白を。
そうじゃないなら表引き(INDEX)で会員クラスを求めます。

順番はINDEX(範囲 行 列)になります。

なので、B4だと列を探しちゃうのでアイがダメです。
エですが、照合させる部分がDじゃダメなのでが正解。


やってみればいいと思います。例えば110000を入れると
クーポンの総額は2000になるはずですが。

ア 110000/50000*1000=2200
イ   110000000/50000=2200
ウ   2*1000=2000
エ   2200
オ   0

となるので、ウが正解です。

 

(次回に続く!)