FC2ブログ

Excelじゆうちょう

Excelのお絵描きツール『りっぷ2(りっぷつぅ)』のサポートページ、まずは「はじめに」をご覧ください。 [NewEntry] [Admin]

記事更新カレンダー

03 « 2019-04 « 05
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -

やたらに多いカテゴリ

比較的新しい記事

新しいコメント

ありがたいブログ拍手

拍手コメント一覧(拍手はしない)

さみしいトラックバック

申し訳ないプロフィール

申し訳ない

管理人  [ 申し訳ない ]

pxivもやってます
リンクの一番上からのぞきに来てください
※閲覧にはユーザー登録が必要です

RSSってなんぞ?

広告は消せないらしい

FC2Ad

        --------       スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

        2011-10-21       基本情報(平23秋)午後問13(3)

(私的には)ここからが本題です。

平成23年度秋季試験基本情報技術者試験午後問題問13をExcelで再現しました。
とりあえず、各ワークシートの画像をどうぞ。

↓ワークシート"役職給"↓
ワークシート”役職給”

↓ワークシート"賞与係数"↓
ワークシート”賞与係数”

↓ワークシート"基本給・賞与計算"↓
ワークシート”基本給・賞与計算”

↓ワークシート"新賞与計算"↓
ワークシート”新賞与計算”

問題文で明記されていないセルの数式も入力してあります。
参考までに、テキスト形式で出力したものをリンクしておきます。
うまくExcelで開けばワークシートを再現できるかもしれません。

↓テキストだから罫線なんてないよ↓
役職給
賞与係数
基本給・賞与計算
新賞与計算

マクロはリンクにせず、本文に掲載しておきます。


Private Sub BonusCalc() '本部加点を求める
Dim row_ As Long, DeptPoint As Long '問中の「row」はExcel VBAの予約語のため、「row_」を使用

For row_ = 1 To 3 '第1本部~第3本部まで繰り返し
  DeptPoint = 0 '本部加点初期化
  Do '後置判定ループ開始
    DeptPoint = DeptPoint + 1 '本部加点を加算
    Cells(1, 12).Offset(row_, 0) = DeptPoint '本部加点を反映
    Calculate '再計算(問中にはないが、再計算が手動の場合を考慮して加えておくべき)
  '各本部に対して、本部賞与合計が本部賞与合計上限以下、または、本部加点が20以下ならループ終了
  Loop While Cells(1, 12).Offset(row_, 1) <= Cells(1, 12).Offset(row_, -1) And DeptPoint <= 20
  Cells(1, 12).Offset(row_, 0) = DeptPoint - 1 '本部加点を反映
Next row_
End Sub


ただし、このマクロは実行しても問題と同じ結果は得られません。
というのも、問題では省略している行があり、Excelの再現ではそれらを空白のまま放置しているからです。(数式はもれなく入力しています)
元データがないために賞与が計算できず、その結果本部賞与合計が実際よりかなり少なくなっています。
その結果、マクロの内側のループで本部加点が20を超えるまで繰り返されてしまいます。

ですが、画像ではちゃんと問題通りの値が表示されていますよね。
これは、セルの書式設定から表示形式をユーザー定義にして、文字列で強引に表示させているからです。

↓差額はスタッフ(経理)がおいしくいただきました↓
本部賞与合計の表示

でも、マクロを実行すればすぐにばれちゃうんですよね。
ダミーデータがあればちゃんと実行することも可能ですけど、かなりめんどくさい。
証拠隠滅って難しい…

最後に、例のごとくXLSファイルをそのまま置いておきます。
このファイルは、拡張子が.txtになってますので適宜.xlsに変更してください。
普通に開いたら文字化けしてしまいますので、[名前を付けてリンク先を保存(K)]してください。
基本情報(平23秋)午後問13_xls ←文字化け注意!

ではまた、来年の春をお楽しみに♪
スポンサーサイト

コメント

コメントの投稿

管理者にだけ表示を許可  

トラックバック

http://likep.blog63.fc2.com/tb.php/241-462fd749

 | HOME | 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。