EasyWork-SYStem

もっと簡単にしてよ!を叶えたい

マクロを組む前に目的を手順を

何かのきっかけでプログラミングを覚えようと考えたあなたへ

 前回の記事では、表について触れました。今回は少し具体的に目的を手順にする方法に触れます。

 単純にプログラミング言語の構文を覚えるよりも前に、論理的思考を身につけようと論じました。そのために今回は、例題として目的を提示させていただきます。前回作った九九の表を利用して、簡単なマクロを組む準備をしてみましょう。

九九マクロの目的

 表計算ソフトなので、「掛け算」などはお得意なのですが、ここはあえて、九九の表を利用して掛け算の結果をマクロで求めてみましょう。

ABCDEFGHIJ
1123456789
21123456789
3224681012141618
43369121518212427
544812162024283236
6551015202530354045
7661218243036424854
8771421283542495663
9881624324048566472
10991827364554637281
九九の表

 今回のマクロの目的は、B3セルに入力された値と、D3セルに入力された値を掛け合わせた結果を、F3セルに表示する。というものとします。

ABCDEFG
1
2横軸縦軸答え
37かける8
4
掛け算マクロ

 単純にF3セルに「=B3*D3」という計算式を入力してしまえば、できることなのですが、論理的思考やマクロの組み方を学ぶために、あえてこれをマクロにしてみます。

九九マクロの手順

 目的のB3セルに入力された値と、D3セルに入力された値を掛け合わせた結果を、F3セルに表示するを達成するための手順を、まずは大雑把に考えてみましょう。

 掛け算マクロの表に入力されている横軸「7」の値は、8列目に見つかります。また縦軸「8」の値は、9行目に見つかります。九九の表の8列目の9行目のセルに入っている「56」という値が見つかり、それが答えになります。

 とりあえず、手順の列挙をこの程度からはじめてみて、さらに細かく手順を深めていきます。

 「九九の表の横軸(1行目)の何列目にあるか探す」という手順から深めてみましょう。

B3セルの数値が、九九の表の横軸(1行目)の何列目にあるか探す。

 手順を深めるためには、その手順が「目的」になります。今回は、九九の表の横軸(1行目)には、B列目の「1」からJ列目の「9」までの9つの列があります。その中からB3セルに入力された値を見つけるというのが、目的になります。まず「見つける」というのは、見比べるセルの値どうしが同じであるということで、「見つけた」となります。

  1. 九九の表のB1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、2列目に中にある。
  2. 九九の表のC1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、3列目に中にある。
  3. 九九の表のD1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、4列目に中にある。
  4. 九九の表のE1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、5列目の中にある。
  5. 九九の表のF1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、6列目の中にある。
  6. 九九の表のG1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、7列目の中にある。
  7. 九九の表のH1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、8列目の中にある。
  8. 九九の表のI1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、9列目の中にある。
  9. 九九の表のJ1セルの値と、掛け算マクロのB3セルの値が同じか?
    • 同じ場合は答えは、10列目の中にある。

D3セルの数値が、九九の表の縦軸(A列目)の何行目にあるか探す。

 次は、同じように縦軸側の何行目にあるかを探す手順を考えます。これは横が縦になっただけなので、難しくないでしょう。

  1. 九九の表のA2セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、2行目に中にある。
  2. 九九の表のA3セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、3行目に中にある。
  3. 九九の表のA4セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、4行目に中にある。
  4. 九九の表のA5セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、5行目の中にある。
  5. 九九の表のA6セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、6行目の中にある。
  6. 九九の表のA7セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、7行目の中にある。
  7. 九九の表のA8セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、8行目の中にある。
  8. 九九の表のA9セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、9行目の中にある。
  9. 九九の表のA10セルの値と、掛け算マクロのD3セルの値が同じか?
    • 同じ場合は答えは、10行目の中にある。

九九の表の見つけた列と行の交わるセルにある値をF3セルに表示する

 最後は、見つかった列目と行目を使って、九九の表の中で交わったセルに入っている値を、F3セルに表示するために、セルに値を入れればおしまいです。

 ざっくりとここまでの流れで、引っかかる部分があれば、それを放置しないでください。何が引っかかるのかよく考えて、その理由と答えを必ず見つけて解決してください。


 次の記事では、これまで考えた手順をコード化してみます。


Apple CSS Database GET HTML iPhone Mac MacBook Air MSMM POST SQL SQLServer Swift VBA WordPress Xcode システム開発 フローチャート マクロ 印刷 流れ図


EasyWork-SYStem

 日々の煩雑な業務を簡便にすることを目的に、IT関連の機器導入などの設備の選定から、各種業務に合わせた管理システムのアプリケーション開発など、多岐にわたるIT関連のサポート業務を、細々とご紹介のある方のみから請け負っています。

技術手帳 archive


privacy policy


デル株式会社

ウイルスバスター公式トレンドマイクロ・オンラインショップ

プレミアムバンダイ