ワークの一覧を表示します

エクセルマクロの自動記録機能を使い、マクロを作ります。
そして、作ったマクロを実行します。

コーディングのノウハウ、サンプルデータのダウンロードについては、リンク先のページを参照ください。

使用ファイル:taiken03.xlsm

マイベスト: ---

複数のマクロを自動記録で作ります。
そして、連続実行できるようにします。

操作の正確性だけでなく、作業内容全体を把握して、理解通りにきちんと実装しきる力を強化します。

コーディングのノウハウ、サンプルデータのダウンロードについては、リンク先のページを参照ください。

マイベスト: ---

シート「mondai2」で、各行につき、「合計」の値が100を超えていたらJ列に「○」そうでなければ「×」をつけるマクロを作ります。

コーディングのノウハウ、サンプルデータのダウンロードについては、リンク先のページを参照ください。


「ハナコのステップ」の手順をしっかり守ってください。

マイベスト: ---

If - ElseIf - Else - End If という構造文です。

D列に記載された得点が
80点以上だったら「A判定です」
60点以上だったら「B判定です」
40点以上だったら「C判定です」
それより下だったら「D判定です」
と記載するマクロを作ります。

コーディングのノウハウ、サンプルデータのダウンロードについては、リンク先のページを参照ください。

マイベスト: ---

If - ElseIf - Else - End If という構造文です。

D列に記載された得点が
80点以上だったら「A判定です」
60点以上だったら「B判定です」
40点以上だったら「C判定です」
それより下だったら「D判定です」
と記載するマクロを作ります。

ただし、今度は、出力する値をいったん変数に入れて、If文を抜け出してから値を書き出すようにします。

コーディングのノウハウ、サンプルデータのダウンロードについては、リンク先のページを参照ください。

マイベスト: ---

特定の条件を満たすセルの数を数えます。

基礎編フォローアップ前半最大の難所かもしれません。
リンク先の解説を何度も熟読して、仕組みを理解してください。
そして、何度もプログラムを書いて、また解説を熟読してください。
このくり返しで、あるとき、「あ、なんだ。そういうことか」と腑に落ちるようになります。

このワークのポイントは、「変数の値をIf文の中で自分で変更する」という部分です。
そこが理解できて運用できるようになれば難しくはありません。また、できることの幅が一気に広がるようになります。

理解/理解に基づいた実装能力の評価には、タイムトライアルを行うのがいちばんです。
解いて、改善してまた解いて、として、このタイミングで、できる改善をつきつめてみてください。

所要時間が何分何秒になったところでモノにできるか、楽しみに取り組んでください。

コーディングのノウハウ、サンプルデータのダウンロードについては、リンク先のページを参照ください。

マイベスト: ---

前回の問題と似ていますが、今回は、出現回数ではなく、数値の合計を求めます。

ほんの少しだけ、目先が変わりました。
ですが、やることはほぼ同じです。

同じように解けるでしょうか。
「前回の問題とまったく同じだな」と感じられるようになるまで、くり返し問題を解いてください。

マイベスト: ---

特定の条件を満たすセルの数を数えます。
今回は、複数のアイテムについて数えます。

このワークのポイントは、「カウンターの値を0にしてから数えはじめる」という点です。
これをしっかりできていれば、どのアイテムについて数えるときも、数えはじめの段階では、カウンターの値は0になっています。

マイベスト: ---

前回の問題と似ていますが、今回は、出現回数ではなく、数値の合計を求めます。

ほんの少しだけ、目先が変わりました。
ですが、やることはほぼ同じです。

同じように解けるでしょうか。
「前回の問題とまったく同じだな」と感じられるようになるまで、くり返し問題を解いてください。

マイベスト: ---

条件に一致するものを別表に転記します。
すでに、「条件に一致するものがあった場合は、変数の値を 1つ増やす」というテーマの演習を行っています。

新たに加わった要素は、「そのようにして値を変更した変数を使って転記先の行を指定する」という点のみです。

マイベスト: ---

条件に一致するデータを、別シートにある表に転記します。

複数シート間でのデータ転記では、転記元のセル、転記先のセルの指定で、「どのシートのセルなのか」ということを明示しましょう。
でないと、トラブルの元です。

マイベスト: ---

とびとびに存在するデータを拾って加工します。

参照先ページの動画で最初に紹介した、左の表用と右の表用で2つの変数を用意して解決する方法を使ってください。

マイベスト: ---

とびとびに存在するデータを拾って加工します。

参照先ページの動画で2つ目に紹介した、For Next構文用の1つ変数をだけで解決する方法を使ってください。

マイベスト: ---

文字列を切り出して別々のセルに投入します。
Instr関数、Left関数、Mid関数を使います。

まずは、参照先ページで紹介されているうち、[1]の課題についてだけトライしてください。

マイベスト: ---

文字列を切り出して別々のセルに投入します。
Instr関数、Left関数、Mid関数を使います。

まずは、参照先ページで紹介されているうち、[1], [2] の課題について連続してトライしてください。

マイベスト: ---

文字列を切り出して別々のセルに投入します。
Instr関数、Left関数、Mid関数を使います。

参照先ページで紹介されているうち、[3]の課題にトライしてください。
1つの文字列を分割して、3つのセルに分割して投入します。

マイベスト: ---

文字列を切り出して別々のセルに投入します。
Instr関数、Left関数、Mid関数を使います。

参照先ページで紹介されているうち、[4]の課題にトライしてください。
Instr関数で区切り文字を探す際に条件分岐を伴います。

マイベスト: ---

文字列を切り出して別々のセルに投入します。
Instr関数、Left関数、Mid関数を使います。

参照先ページで紹介されているうち、[5]の課題にトライしてください。
Instr関数で見つけようとする区切り文字の長さが2文字以上の場合を扱います。

マイベスト: ---

項目別の合計額と総計を同時に算出します。

これ以前の演習までで、項目別の合計額を算出すること、総計を算出することは個別にできるようになっているかと思います。
さて、それでは、これらの処理を同時に行えるでしょうか。

マイベスト: ---

参照先ページの[1]の課題を解いてください。

最大値を取得します。

暫定の最大値を変数に格納しておき、新たに取得した値と比較します。
新たに取得した値のほうが大きければ、新たに取得した値で暫定の最大値を更新します。

すべてのセルについて調査を終えたあとで、「暫定の最大値」を出力します。

マイベスト: ---

参照先ページの[2]の課題を解いてください。

調査範囲内で最大値の格納されたセルを取得します。

最大値の格納されたセルの行番号の情報を格納する変数を用意します。
そのセルの値と新たに調査したセルの値ととを比較します。
新たに調査したセルの値のほうが大きければ、新たに取得したセルの行番号で変数の値を更新します。

すべてのセルについて調査を終えたあとで、変数に格納された行番号情報を元にして出力すべき情報を決定します。

マイベスト: ---

参照先ページの[3]の課題を解いてください。

調査範囲内で最大値の格納されたセルを取得します。
調査範囲が複数列にまたがります。

発展編1まで学習が進むとより洗練された手法がいくつかあるのですが、今回は、基礎編レベルの知識だけで解決します。その分、腕力は必要になります。

マイベスト: ---

複数の表の間でのマッチングの手法についての演習です。
参照先ページの演習を解いてください。

マイベスト: ---

参照先の「問題(前半)」で示された課題を解いてください。

ひとつの文字列を、3つ以上に分割します。

ひとつの文字列内にある、2つの区切り文字の場所を調べます。

Instr関数には、「○文字目以降について調べる」と、調査対象文字列のどの範囲で区切り文字を探すかを調べるオプションがあります。
これを利用します。

そして、Left関数、Mid関数を使って文字列を切り出します。

この課題も、発展編2まで学習を進めると、より洗練された解決方法を学べます。
今回は、基礎編の知識のみで、腕力で解決します。

マイベスト: ---

参照先の「問題(後半)」で示された課題を解いてください。

ひとつの文字列を、3つ以上に分割します。

ひとつの文字列内にある、2つの区切り文字の場所を調べます。

Instr関数には、「○文字目以降について調べる」と、調査対象文字列のどの範囲で区切り文字を探すかを調べるオプションがあります。
これを利用します。

そして、Left関数、Mid関数を使って文字列を切り出します。

この演習問題では、得られた文字列の内容によって出力する文字列を変更することがあります。

マイベスト: ---

参照先ページの [1] の課題を解いてください。

同一カテゴリものものには同一の値を入れます。

上のセルから順番に値を調べていきます。
そして、ひとつ上のセルと値が違ったら、新しいカテゴリIDを生成します。

頻出パターンです。

マイベスト: ---

参照先ページの [2] の課題を解いてください。

同一カテゴリものものには同一の値を入れます。
と同時に、すべてのアイテムに固有のIDを割り当てます。

マイベスト: ---

リンク先ページの問[1]を解きます。

マイベスト: ---

リンク先ページの問[1]から問[2]までを解きます。

マイベスト: ---

リンク先ページの問[1]から問[2]までを解きます。
For Next 構文の Step キーワードを使います。

マイベスト: ---

リンク先ページの問[1]から問[2]までを解きます。
For Next 構文の Step キーワードを使います。

マイベスト: ---

リンク先ページの問[1]を解きます。
For Next 構文の Step キーワードを使います。

マイベスト: ---

リンク先ページの問[1]から問[2]までを解きます。
For Next 構文の Step キーワードを使います。

マイベスト: ---

参照先ページの課題[1]を解いてください。

ひとつの表を元にして、リストを生成します。

For Next構文内で、出力用リストにだいたい近いものを作ります。
ただし、そのままでは先頭 or 末尾に余計な文字列が残ります。
そこで、出力時に、余計な部分を取り除きます。

動画ではいくつかの解法を紹介しています。
どの方法でも実装できるよう、十分に練習してください。

マイベスト: ---

参照先ページの課題[2]を解いてください。

ひとつの表を元にして、重複しないリストを生成します。

表には、重複した値が格納されています。
上のセルから順番に値を調べます。
そして、もしもひとつ上のセルと値が異なる場合は、リストの要素とします。

For Next構文内で、出力用リストにだいたい近いものを作ります。
ただし、そのままでは先頭 or 末尾に余計な文字列が残ります。
そこで、出力時に、余計な部分を取り除きます。

動画ではいくつかの解法を紹介しています。
どの方法でも実装できるよう、十分に練習してください。

マイベスト: ---

参照先ページの課題[1]を解いてください。

重複した値を持つ表から、重複しない値だけの表を生成します。

マイベスト: ---

参照先ページの課題[2]を解いてください。

重複した値を持つ表から、重複しない値だけの表を生成します。
さらに、そのそれぞれの値に対して、元の表で関連づけられた値をリストとして書き出します。

個々の部品はこれまでの演習でくりかえし練習してきたものです。
総合力が問われます。

「実装しきるには実力が不足している」と感じられた場合は、自分が苦手としていることに気づき、これ以前の関連の演習で練習してください。

マイベスト: ---

表を並べ替え、表の中身を解析して重複しないリストを生成し、表を元の並び順に戻します。

導入編からの学びをすべて活用する、総合問題です。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe00_pre 内に、pre01.py と同様の処理を行う新しいモジュールを作れ。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe11_basic 内に、if_else_01.py と同様の処理を行う新しいモジュールを作れ。

ただし、 for文より手前および save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe11_basic 内に、if_else_02.py と同様の処理を行う新しいモジュールを作れ。

ただし、 for文より手前および save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe20_cells > exe21_id_list 内に、id_list.py と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe20_cells > exe22_count_sum_average 内に、count_sum_average.py と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe20_cells > exe23_count_sum_average_dict 内に、count_sum_average_dict.py と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe30_condition > exe31_list_in_list 内に、list_in_list.py と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe30_condition > exe32_dict_in_list 内に、dict_in_list.py と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe30_condition > exe33_list_in_dict 内に、list_in_dict.py と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe30_condition > exe34_dict_in_dict 内に、dict_in_dict と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe40_slimmed > exe41_slimmed_set 内に、slimmed_set と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe40_slimmed > exe42_slimmed_list 内に、slimmed_list と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe40_slimmed > exe43_slimmed_dict 内に、slimmed_dict2 と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe40_slimmed > exe43_slimmed_dict 内に、slimmed_dict3 と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe40_slimmed > exe43_slimmed_dict 内に、slimmed_dict5 と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe90_report_sheets > exe91_create_sheets 内に、create_sheets と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe90_report_sheets > exe92_render_simple_value 内に、render_simple_value と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe90_report_sheets > exe93_render_dict_values 内に、render_dict_values と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

「openpyxl で学ぶ python 変数の扱い方」の講座ダウンロード資料内、

パッケージ exe90_report_sheets > exe94_render_dict_values_all 内に、render_dict_values_all と同様の処理を行う新しいモジュールを作れ。

ただし、 pathlib.Path による save_path 生成まで及び save メソッド以降は既存モジュールからの転用で良い。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先ページで提示された演習のうち、後半の演習に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

リンク先から3本の動画で連続的に解説している課題に取り組んでください。

マイベスト: ---

リンク先の Q1からQ2 までを解いてください。

マイベスト: ---

リンク先の Q3 を解いてください。

マイベスト: ---

リンク先の Q1からQ2 までを解いてください。

マイベスト: ---

リンク先の Q1からQ2 までを解いてください。

マイベスト: ---

問題1から2までを解いてください。

マイベスト: ---

問題3を解いてください。

マイベスト: ---

問題3から4までを解いてください。

マイベスト: ---

問題3から5までを解いてください。

マイベスト: ---

問題6を解いてください。

マイベスト: ---

1:45 くらいから解説している、静的配列を使った方法で解いてください。

マイベスト: ---

4:10 くらいから解説している、動的配列を使った方法で解いてください。

マイベスト: ---

7:15 くらいから解説している、動的配列と Do While 構文を使った方法で解いてください。

マイベスト: ---

リンク先の動画で解説している課題に取り組んでください。

マイベスト: ---

問題1から3までを解いてください。

マイベスト: ---

問題3完了時の状態を元にして、問題4を解いてください

マイベスト: ---

問題3完了時の状態を元にして、問題5を解いてください

マイベスト: ---

問題3完了時の状態を元にして、問題6を解いてください

マイベスト: ---

問題2から4を解いてください

マイベスト: ---

5:25 までと同様に、23区名と出現頻度を出力してください。

マイベスト: ---

動画内で示された最終形と同様のマクロを作ってください。

マイベスト: ---

動画10:00ごろまでに示された最終形と同様のマクロを作ってください。

マイベスト: ---