ソフトを作りながら Excel 操作の基本を学びましょう

 実際にエクセルを触って「いつどこソフト簡易版」を作ってみましょう。本当に簡単なところからステップ・バイ・ステップで作っていきますので、作りながら Excel の操作やマクロ記録の基本が学べます。

ワークシートを用意します

 では早速エクセルの「空白の Book 」を開いてください。ファイル名を「いつどこ」や「いつどこソフト」などに変えて保存しておきましょう。次にシートを5枚用意してください。

ワークシート

 それぞれのシートを右クリックして「いつ」、「どこ」、「誰」、「何をした」、「文章作成」というように名前をつけておきます。

ワークシート名前

 もうおわかりだと思いますが、それぞれのシートに各種 pts (part of speech:本来は「品詞」という意味ですが、このブログでは「文章の断片」と定義しています)のデータを格納しておくわけです。1枚のシートで作ろうと思えば作れますが、後になってデータの量が増えたり( pts の種類によっては数千のデータが入ることもあります)、より複雑な文章を作るために VBA で条件分枝のコードを書いたりする場合には、やはりそれぞれのデータに名前(シート名)がついていたほうがわかりやすいです。
 

「いつ」のデータを作成します

 次は「いつ」のシートを開いてください。そして下図のようにデータ(このブログでは "pts :文章の断片" とよぶこともあります。時間を表す pts は t-pts と分類しています)を5つ入力してください。今後の説明を理解しやすくするために、下図と同じセル位置(C2:C6)にデータを入れておいてください。

「いつ」データ入力

 次はデータを入力したセルの横(B2:B6)に " = rand() " という関数を入力します。rand() は 0 ~ 1 の無作為(ランダム)な値を返す関数で、シート上で何かを操作するたびに値をころころ変えます。でもこれ、正直かなり鬱陶しいです。「必要なときだけ乱数を入れなおしてほしいなー」と Excel のバージョンアップのたびに期待するのですが、ちっとも変わる気配がありません。データ量が多くなると無駄に CPU に負荷がかかって処理速度が落ちるので本当に勘弁してほしいですね。まあ、今のところは我慢するしかないです。

「いつデータ」乱数割当

 こんな感じに各セルに乱数が振り分けられます。ここで1つだけ注意です。 rand 関数の入ったセルと名前が入ったセルの間に空白のセルを入れてはいけません。必ず互いにくっついた状態にしておいてください。エクセルはこの隣り合ったセルを関連するデータとして認識します。次は試しにこの「いつ」データを無作為に並べ替えてみます。
 

データを無作為に並べ替えます

 「いつ」のシートを開いてください。そして前回入力した無作為番号の1つを選択した状態にして、「昇順」或いは「降順」に並び替えてみてください(正確に言うと無作為番号に接したセルでもいいですが、"データの入ったセルを選択"と覚えておくほうが自然です)。Excel2013 の場合は「データ」タブの「昇順」または「降順」をクリックします。ちなみに昇順は「昇っていく順序」すなわち「小さい順に並べる」、降順は「降りていく順序」つまり「大きい順に並べる」ということです。

昇順並び替え

「いつ」並び替えられた

 並び替えられましたね。「昇順」・「降順」を押すたびに乱数の値が変わって並び方が変わります。あらゆる pts(文章断片)には乱数が割り当てられることになります。これは「いつどこソフト」の要となる部分であり、この機能を使って無作為抽出が実行されます。
 少し先の話になりますが、VBA コードを書く段階になってから、Sort オブジェクト・Sort プロパティに関連させて、並び替え機能についてさらに詳しく説明する予定です。

「どこ」「誰」「何をした」データの作成

 同様に「どこ」、「誰」、「何をした」の各シートにデータを入力します。下図を参照にして、それぞれの pts(文章断片)の左隣に " = rand()" で乱数を割り当てておいてください。

どこ、誰、何データ
 

「いつどこ文章」を出力します!

 これで全ての pts が揃いました。次はこつこつと入力してきた pts(文章断片)を組み合わせて「いつどこ文章」を作成しますよ。「文章作成」シートを開いてください。すべてのシートにおいて pts データは C2 から C6 に入っていることを思い出し、セル B2 に "=いつ!C2" と入力してください。 "ワークシート「いつ」のセル C2 の値を取得してアクティブセルに入力しますよ" という意味なのですが、今はまだあまり細かいことを気にしなくてもいいです。こういうのは何度も使っているうちに不思議と意味もわかってくるものです。

セルB2に出力

 出力されましたね! 前々回に「いつ」のデータ(t-pts)は無作為に並べ替えたので、この画像の通りに出力されるとは限りませんが(人によって違うはずです)、ともかくも B2 に何か出力されれば問題ありません。同じように下図を参考に「文章作成」シートのセル C2, E2, G2 にそれぞれ "=どこ!C2", "=誰!C2", "=何をした!C2" と入力します。このときのために各シートのデータ入力欄を揃えておいたのです。全て "C2" ですませることができますからね。 D2 と G2 には "で","が" と助詞を入力しておきます。

1つの文を出力

 文章が1つできました! あとの操作はオートフィル機能を使えばとっても簡単です。 G2 セルの右下隅をクリックしたまま G6 まで引っ張れば、残り4つの文章も出てきます。

オートフィル
 

pts(文章断片)の組み合わせを変えます

 次は各シートの pts を並べ替えて組み合わせを変えてみましょう。以前に「いつ」シートで行った操作の復習です。乱数の入ったセルを選択した状態でデータタブの「昇順」或いは「降順」をクリックするんでしたね。今回は「いつ」はそのままでいいので、「どこ」、「誰」、「何をした」の各シートで pts を並べ替えてみてください。

文章を並び替える

 組み合わせが変化したことを確認してくださいね。これで簡単な「いつどこ」ソフトができあがりましたが、組み合わせを変えるたびに毎回毎回こんな面倒なことをやっていられませんよね? ボタンをワンクリックして変えられるようでなければとてもソフトとは呼べません。そこで次回からは一連の操作を"マクロ"で記録する方法を説明します。お楽しみに!

Google広告
スポンサーリンク
スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください