5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
ケイジさんの投稿
(投稿ID: 5263)
小川先生こんにちは。
毎朝、30分程度、動画を見ながらマクロの勉強を継続しています。
6回繰り返し練習して、ようやく答えを見ずにマクロを完成させることができました。
少しずつですが、マクロを書くことに慣れてきました。
ここで質問があります。
シート「Sheet2」の課題で、「担当区域」列に、tiku = ""と書くと、業者別に担当区域ごとに記載されるとのことですが、tiku=""というマクロを書くと、なぜこのような現象が起こるのか仕組みがどうしても理解できません。
算数に苦手意識があるためかもしれません。
つきましては、このような現象が起こる仕組みをご教示いただきますようお願いします。
小川 慶一さんのコメント
(コメントID: 7460)
○出現回数を数える。CountIf関数がやっていることをマクロで書くと?
https://forum.pc5bai.com/lesson/page/150/
上記の課題では、「しそ巻き無料」、「飲み物無料」、「かんぴょう巻き無料」のそれぞれの出現回数を調べました。
「しそ巻き無料」は5件、「飲み物無料」は3件、「かんぴょう巻き無料」は6件出現しましたね。
そのとき、個々について数を数え終えたら、「いくつあったか」ということを記憶するために用意した変数 goukei の値を 0 に戻しました。
goukei = 0
でないと、「しそ巻き無料」は5件というところは正しく出力されるのですが、「飲み物無料」は8件(5+3=8)、「かんぴょう巻き無料」は14件(5+3+6=14)と出力されてしまいます。
tiku = ""
についても発想は同様です。
「岩手化学」の担当区域を出力したら、変数 tiku の値をブランクに戻します。
でないと、「甲府重工」の担当区域を出力するとき、「岩手化学」と「甲府重工」の担当区域をあわせたものが出力されてしまいます。
さらには、「秋田信託」の担当区域を出力するとき、「岩手化学」と「甲府重工」と「秋田信託」の担当区域をあわせたものが出力されてしまいます。
...
(6:25秒くらいでの出力結果がまさにこれです)
ということなので tiku = "" をどこかでやらなくてはならないのですが、ではいつやるか?といえば、各企業の「岩手化学」の担当区域を出力した直後というのは簡明なタイミングのひとつです。
実際に手作業していると思うとよりイメージしやすいかもしれません。
手のひらサイズのメモ帳を左手に、右手に鉛筆を持って、表を上からチェックしていきます。
最初は、「岩手化学」の担当区域をメモ帳に転記していく。ひととおりチェックを終えたら、集計表に記載します。
集計表への記載を終えたら、そのメモの記載内容はもう用なしです。メモ帳の内容を消しゴムで消すか、メモ帳のページを破いて捨てるかして、まっさらなページを用意します。
次は、「甲府重工」の担当区域をメモ帳に転記していく。ひととおりチェックを終えたら、集計表に記載します。
集計表への記載を終えたら、そのメモの記載内容はもう用なしです。メモ帳の内容を消しゴムで消すか、メモ帳のページを破いて捨てるかして、まっさらなページを用意します。
その次は、「秋田信託」の担当区域をメモ帳に転記していく。ひととおりチェックを終えたら、集計表に記載します。
集計表への記載を終えたら、そのメモの記載内容はもう用なしです。メモ帳の内容を消しゴムで消すか、メモ帳のページを破いて捨てるかして、まっさらなページを用意します。
...
手作業であれば、上記のような感じになりますね。
(変数からの)転記が済んだら(変数に記憶させた値はもう用なしなので)変数を初期化します。
すなわち、 tiku = "" (変数の中身を、まっさらな状態に戻す)ということです。
小川 慶一さんのコメント
(コメントID: 7461)
あとに登場する別のお題との関連を意識しつつ解くと、また違った学びが得られます。当初は何とも思わなかった手法や考え方が、実はとても重要だったと気づくかもしれません。
紹介されても「こんなの使わないかな」と一回目には感じられたショートカット操作に対して、「実は、すげー重要なのでは?!」と思うこともあるかもしれません。
ケイジさんのコメント
(コメントID: 7464)
分かりやすい説明ありがとうございます。
手作業していることをイメージすると理解しやすくなりました。
「しそ巻き無料」で使ったgoukei = 0と同じ考えという説明で腑に落ちました。
上記の考えでいくと、tiku="0"でも結果は同様になりそうですね。
小川 慶一さんのコメント
(コメントID: 7466)
仕組みへの理解はできたようで、まずは良かったです。
> 上記の考えでいくと、tiku="0"でも結果は同様になりそうですね。
試してみてください。
結論を書くと、そうはなりませんので...。
実際に試して結果を見てみると、また学びが深まるかと思います v(^^*