初級システムアドミニストレータ試験情報 > 初級シスアド試験の既出問題 > 平成11年度秋期試験メニュー>問題と解説
初級シスアド 平成11年度秋期試験 正解例と解説(午後問6)
問6
設問1 a:ア,b:イ(ウでも可),c:ア,d:イ(ウでも可),e:ア,f:ア(オでも可)
下はこの問題のワークシートをMicrosoftExcelで再現したものです。
a まず,年が4の倍数かどうかを求め,そうであれば100の倍数であるかどうかを,そして400の倍数であるかどうかを判定しています。
a 剰余関数の書式は,剰余(割られる数,割る数)ですから,aはB3となります。1を引いたり,足したりして補正する必要はありません。
b 4の倍数でない年は平年としています(100の倍数,400の倍数は後で考慮)。余りが0ということは4の倍数ですが,この式ではthen条件で0(平年)としています。そのため,then条件で0でない場合がくるようにするため,≠となります。なお,≠0という条件は>0でも満たすため,ウも可とします。
c B3の値を,今度は4ではなく100で割ります。
d 100の倍数である年はうるう年としています。そのためbとは対照的に,then条件で1(うるう年)とするため,≠となります。なお,≠0という条件は>0でも満たすため,ウも可とします。
e B3の値を,今度は400で割ります。
f 400の倍数でない年はうるう年としません。そのため400の倍数であればうるう年とし,then条件で1(うるう年)とするため,=となります。なお,=0という条件は≦0でも満たすため,オも可とします。
設問2へ
設問2 g:ア,h:ウ,i:オ,j:エ
指定月より前であればB列の日数をそのまま入れ,指定月以降は0とします。指定月はセルB4ですが,計算式を複写しても変わらないように絶対参照とします。そのため不等号の向きから,
IF(A7<$B$4,B7,0)
となります。
設問3へ
設問3 k:ア,l:カ
西暦元年(1年)1月1日を起算日としますから,その日が延べ日数として1日になります。そのため年として1を,日として1を入れた場合に1日となるようにするには,年数から1を引く必要があります。一方日数ですが,C列の数値では前月の最終日までの日数となります。延べ日数は指定年月の1日ですから,1日足して調整する必要があります。
k 年数−1となります。年数はB3にあるので,B3−1となります。
l 日数+1となります。前月の最終日までの日数はC19であるので,C19+1となります。
設問4へ
設問4 m:ア,n:エ,o:イ,p:ア
m 4で割った整数部の数(年数)をB20との計算に用いています。つまり4の倍数の年を求めているので,その年数を加えます。従って+になります。
n 延べ日数1(B20)はC19で計算されており,延べ日数2(B21)のうるう年補正はB20に対して行なうので,指定年の前年までを対象とすればよいため,B3-1となります。
o 100で割った整数部の数(年数)をB20との計算に用いています。つまり100の倍数の年を求めていますが,100の倍数の年はうるう年ではありませんので,その年数を引きます。従って−になります。
p 400で割った整数部の数(年数)をB20との計算に用いています。400の倍数の年はうるう年ですので,補正のためその年数を加算します。従って+になります。
設問5へ
設問5 イ
問題文より西暦元年1月1日が月曜日です。従って,西暦元年1月1日からの延べ日数を7で割るだけで,その余りが曜日となります。この場合の西暦元年1月1日からの延べ日数とは,うるう日も含んだ実日数になります。
設問6へ
設問6 q:カ,r:ウ,s:ア,t:ウ,u:イ,v:ア,w:イ,x:カ(v:エ,w:カの組合せ,及びv:ウ,w:カの組合せでも可)
v:ア,w:イの組合せのMicrosoftExcelによる実行結果
v:エ,w:カの組合せのMicrosoftExcelによる実行結果
v:ウ,w:カの組合せのMicrosoftExcelによる実行結果
(循環参照を起こす可能性のある指定であり,上の二つを推奨します)
q,r 上記からrはB23となり,しかも複写で対象日が移動するため相対参照となります。qでそれ以前という条件を表すには,B23と等しいかB23の方が小さいということになるため,≧の条件が該当します。
s,t r同様にB23となり,しかも相対参照になります。sで1日かそれ以外(1日より前)に分け,しかもthen時処理で1を表示するため,=の条件が該当します。
u 指定月の最終日以降であれば空白を表示する処理です。4行目で,指定月の最終日の翌日のセルで空白を表示する処理となっています。そのため3行目では,左横のセルが空白なら,空白を表示するという処理になります。従ってuは処理対象の左横のセルとなり,処理対象の最初のセルがB25であることから,A25となります。
v,w D19(指定月の最終日)との比較でthen時処理で空白を表示しています。それが最終日の翌日であることから,最終日の翌日でthen時処理となるように条件を設定します。このことから比較条件は“指定月の最終日($B$4)<当日(B25)”となりますが,B25を用いると循環参照になってしまいます。そのため最終日の翌日のセルで,
(1) “指定月の最終日=前日(左横のセル)”つまり“$B$19=A25”
(2) “指定月の最終日≦前日(左横のセル)”つまり“$B$19≦A25”
が成立します。またB25の代わりに(A25+1)を用いて,
(3) “指定月の最終日<当日”つまり“$B$19<(A25+1)”
でも循環参照とならずに成立します。
x 左横のセルの値に1を加えた値をそのセルの日とするため,(A25+1)になります。
問7へ
メニューへ戻る
Copyright (C) 1999-2002 kimura-kouichi