Welcome to Toshiyuki Ihara's Excel計算の技 その1 |
イントロ |
それでは、まず初めに「y=f(x)について定数を様々に変えながらプロットする」という課題を取り上げることにします。 流れとしては 1:x=x0+mdx(mは整数)としてx軸の列を用意する 2:y=f(x)の例として、y=Asin(Bx)exp(-Cx)の列を作る 3:グラフを作る 4:パラメータx0,dx,A,B,Cをキーボードの矢印キーで調整するためのマクロを実装する といった順で解説します。 |
まずはx=x0+m*dx(mは整数)というX軸を作るために、図のように入力します。 ただし赤字の部分はA列の式の中身を表しており、B列・C列に入力するものではありません。 実際に入力したあとに表示されるものは黒字で示した「計算結果」になります。 とりあえず、A7〜A207のセルに1〜20の数字が並べばOKです。 ここで使う小技を下に列挙します。 (読み飛ばしても構いません) 1:空白のセル上で「=」を入力した場合、キーボードの矢印キーは「参照先指定のカーソル移動モード」として機能する。 2:空白のセル上で「F2」キーを押してから「=・・・」と書いた場合、キーボードの矢印キーは「内容修正のためのカーソル移動モード」として機能する。 3:上記の二つのモードは「F2」を押すことでいつでも切り替えられる。 4:空白のセル上で「=」を入力した後、別のセルをクリックすると、そのセルが参照先として入力される。 5:式入力が終わったら、「Enter」キーか「Tab」キーを押す。(選択セルは下および右に動く) 6:書き間違えがあれば、「del」キーで消して再度書くか、式の一部を修正するだけなら「F2」キーを押して式の編集を行う。 7:式の編集中に、元の状態に戻したくなった場合には、「Esc」キーを押せば編集前に式に戻る。 8:$マークは「絶対参照」の機能。(コピー貼り付けをしても参照先が動かない) 9:$マークは自分で手入力してもいいが、式の編集の最中に「F4」キーを押すことで「$A$1/A$1/$A1/A1」を切り替えることもできる。 10:もちろん、A9セルより下側の入力には「コピー貼り付け」を使う。 11:コピー貼り付けが面倒なら、コピー元セルをクリックしてから「黒枠右下にある黒ポッチリ」をドラッグアンドドロップすればOK。 | |
次にy=Asin(Bx)exp(-Cx)の列を作るため、パラメータA,B,Cの部分と、B7〜B207の範囲に赤字で示した式を追記します。 ただし「=$C$2*SIN($D$2*A7)*EXP(-$E$2*A7)」と赤字で書いた部分はB列の式の中身を表しており、実際には数字が表示されます。 とりあえず、B7〜B207に0〜-0.0181といった数字が並ぶと思います。 ここで使う便利な小技を下に列挙します。 (読み飛ばしても構いません) 1:B8より下側の式はB7のものと同じなのでコピー貼り付けでよいが、コピー貼り付けが面倒ならB7をクリックした状態で「黒枠右下にある黒ポッチリ」をダブルクリックすれば、左の列と同じ行数分だけコピー貼り付けを行ってくれる。 2:207行目のようなシートの下の方に移動する際、スクロールバーをマウスで動かすよりも、「Ctrl+↓」や「Ctrl+↑」を使って最下部や最上部へ移動する方が早い。 | |
グラフを作ります。 A7〜B207を選択した状態で、「グラフ作成ボタン」を押します。 ここでは「散布図」のうちの一番右下にある「データポイントを折れ線でつないだマーカーなしの散布図」を使います。 ここで使う便利な小技を下に列挙します。 (読み飛ばしても構いません) 1:A7〜B207を選択する際、マウスでドラッグするよりも、「Shift」を押しながら「Ctrl+↓」や「→」を押して選択する方が早い。 2:もしくは、A7を選択した状態でスクロールバーを下の方へ移動し、「Shift」を押しながらB207をクリックするのも悪くない。 | |
グラフができあがりました。 デフォルトでは、横軸縦軸ともに自動的に規格化する設定になっています。 | |
最後に、パラメータx0,dx,A,B,Cをキーボードの矢印キーで調整するためのマクロを実装する部分を解説します。 まず、マクロが実行できる環境にするために、Excelのセキュリティを「中」に設定します。 セキュリティの設定を変えるには、メニューバーの「ツール」タブの「マクロ」の中の「セキュリティ」を押してセキュリティウィンドウを開きます。 | |
「Sheet1」のタブを右クリックし、「コードの表示」を押すことで、Visual Basic Editorを起動できます。 ※ この他にも、メニューバーの「ツール」タブの「マクロ」の中の「Visual Basic Editor」を押したり、「Alt+F11」でも起動できますが、このときはSheet1のコードが表示されていません。この場合は、「プロジェクト - VBAProject」と書いてあるパネル内の「VBAProject」タブの「Sheet1 (Sheet1)」という部分をダブルクリックすることで、Sheet1のコードを表示できます。 | |
Sheet1のコードを開いた状態で、図のようなプログラムを入力します。 このプログラムは、パラメータの値を「up」セルや「down」セルを使って制御するためのものです。 textファイルは以下のアドレスに置いてあるので、コピーして貼り付けて下さい。 textファイル 入力したら、Visual Basic Editorの「閉じる」ボタンを押して、Visual Basic Editorを終了して下さい。 ちなみに、貼り付けたマクロは今作っているファイルの、Sheet1にしか適応されません。 | |
Visual Basic Editorを閉じてExcelの画面に戻ったら、パラメータの下に入力しておいた「up」というボタンや「down」というボタンを押してみて下さい。 パラメータの値が、入力しておいた間隔で変化するはずです。 出来上がるExcelファイル(マクロなし) このファイルにはマクロを貼り付けてないので、up/down機能は動きません。 出来上がるExcelファイル(マクロあり) このファイルにはマクロがついているので、開く時に注意書きが表示されます。 「はい」を選択すると、up/down機能が使えます。 | |
ファイルを保存すると、貼り付けたマクロもファイルと共に保存されます。 マクロはファイル単位で管理されるものなので、他のファイルを開くときには何も影響を及ぼしません。 保存したファイルを再度開くとき、「マクロを無効にするか、有効にするか」といったメッセージが表示されます。 もちろん、有効にしないとマクロは動きません。 |