Excel・Numbers 表計算ソフトのヒント〜グラフを作る例〜

表計算ソフト
スポンサーリンク

こんにちは、ジェノンです。
前回は、最高速重視のマシンと加速重視のマシンを同時にスタートし、最高速重視マシンが加速重視マシンを追い越すまでの時間の求め方を解説しました。
その記事では、時間に対する速度の変化、及び時間に対する移動距離の変化を表したグラフを作成しました。
このグラフの作成になるヒントについて、まとめたいと思います。
よろしくお願いします。

この記事について

この記事で分かる事

  • 等加速度直線運動と等速直線運動をする物体の、時間ごとの速度及び移動距離を表すグラフの作り方。
  • 上記を例に、表計算ソフトにおけるデータ、グラフを作成するポイント。

こんな人に向けて書いています

  • 表計算ソフトで各種計算する時のヒントを探している。
  • 表計算ソフトでグラフを作る時のヒントを探している。

この記事の対象目安:表計算ソフトを使っている方

今回題材にしている内容の数式は、物理学(高校生以上)で学習する内容ですが、単純にグラフを作る上では高校生でなくても作れると思います。

この記事の結論

今回紹介する、表計算ソフトのポイントは、以下の通りです。

  • お決まりの選択肢は、リストから選べるようにする。
  • お決まりの選択肢を選ぶ事で決まる数字は、選んだ選択肢を元に自動で取得する。
  • グラフを書くために、データは縦に並べると分かりやすい。
  • グラフ横軸の値をすぐに変えられるように、値を数式で記入する。

私が使っている表計算ソフトについて

表計算ソフトと言えば、Excelです。
当然、仕事場でもExcelを使っています。

…ですが、今私がプライベートで使っているのは、Appleの表計算ソフト、Numbers(ナンバーズ)です。
なぜ、Numbersを使っているのかというと、次の利点があるからです。

  • 今現在、無料で使えるから。
  • クラウドを介して、家でも外出先でも使えるから。
  • MacもiPadもiPhoneもアプリ版があり、簡単に作業できるから。

元々は有料ソフトだったのですが、ある時からMac版もiOS版も無料になり、しかも初めからアプリがインストールされている状態になりましたよね。
当時は無料で使えることが驚きでした。
また、MacとiPhoneを使っていて、Appleのソフトのため親和性も高く、iCloudで家でも外出先でも使えるのが良いですね。
アプリとして使えるので、ホーム画面から簡単に使えるのも良いです。

今ではGoogleのスプレッドシートなど、同様の利点があるものもあります。
実はスプレッドシートについては、割と最近存在を知りました。
スプレッドシートはGoogleのウェブサイトで使用することができるソフトです。
なので、WindowsでもMacでも、AndroidでもiOSでも使えることが魅力だと思います。
PCを入れ替えてもそのまま使えるのが良いですね。
近々スプレッドシートや、文章作成ソフトのドキュメントも使ってみようと思います。

今回の記事で紹介する表計算ソフトのヒントは、Numbersはもちろん、Excelでも使えることなので、紹介させていただきますね。

表計算ソフト作成のヒント

前回の記事で使用した、等加速度直線運動と等速運動をするミニ四駆の、時間に対する速度の変化と移動距離の変化を示す以下のグラフを作るという事を題材に、解説していきます。

お決まりの選択肢は、リストから選べるようにする。

今回は題材の計算に必要な式は、都度説明します。
なので早速、画像を使いながら説明しましょう。

まず、お決まりの選択肢は、リストから選べるようにするということです。

ミニ四駆の最高速度や加速度は、使用する部品で大きく変わります。
例えば最高速度に関わる情報は、「モータ回転数」「ギヤの減速比」「タイヤ直径」です。
ミニ四駆では、使用できるモータやギヤが決まっています。
タイヤ直径は改造により径を変えることができるのですが、一般的な状態を想定すると、小径、中径、大径の3つに分類できます。
このように、変化し得る条件ながら、その内容が決まったものの中から選ぶという場面があります。
表計算ソフトを使う場合、その名前や回転数などのスペックを都度キーボードで入力するのではなく、プルダウンメニュー(Numbersでは、ポップアップメニューと言います)から選択する方が早くて確実だと思います。
まずは、モータの種類を選ぶセルを、メニューから選択できるようにしてみましょう。

【Numbersの場合】

編集したいセルを選択。
「フォーマット」を選択肢、フォーマットのオプション画面を開きます。
「セル」タブにある「データフォーマット」項目の中から、「ポップアップメニュー」を選択します。
項目名に、トルクチューン2、アトミックチューン2、…など、モータの名前を書き込みます。
これで、ポップアップメニューから選択する事で、セルに入力できるようになります。
項目を増やす場合は、+マークのボタンを押す事で、どんどん増やすことができます。

【Excelの場合】

編集したいセルを選択。
「データ」タブにある、「データの入力規則」をクリック。

「設定」タブの、「入力値の種類」から「リスト」を選びます。
「元の値」という項目に、トルクチューン2,アトミックチューン2,レブチューン2,(以下同様)と記入します。
これで、プルダウンメニューから選択して記入するセルになります。
なお、Excelの便利機能として、「元の値」には、セルの範囲を入力することができます。
例えばA1セルにトルクチューン2、A2セルにアトミックチューン2、…と、例えばA5セルまで連続して書いてあれば、「元の値」に=$A$2:$A$5と入力すれば、A1からA5セルの内容を読み込んでくれます。
ちなみに、記入するのは難しい場合が多いので、「元の値」欄の右にあるアイコンを押す事で、マウス操作でセルの範囲を選択できます。

お決まりの選択肢を選ぶ事で決まる数字は、選んだ選択肢を元に自動で取得する

先程のパートで、モータの種類を簡単に選択できるようになりました。
しかし、実際にこれからグラフを書くのに必要な情報は、モータの回転数やトルクという、モータそれぞれで決まった値を使いたいです。
もし何も設定せず、回転数やトルクの値を手入力していたらどうなるでしょう。
トルクチューン2モータからレブチューン2モータに変えようと思った時、

  • レブチューン2モータの回転数とトルクを調べる。
  • レブチューン2モータの回転数を入力する。
  • レブチューン2モータのトルクを入力する。

このような手間が発生します。
手間だけでなく、入力ミスが発生する恐れもあります。
せっかくモータをリストから選べるようにしたので、選んだと同時にレブチューン2モータの回転数とトルクが入力されるようにしたいですよね。

方法を解説します。
ズバリ、XLOOKUP関数を使うと便利です。

XLOOKUP関数は、実は比較的新しく追加された関数です。
このXLOOKUP関数が追加される前は、VLOOKUP関数やHLOOKUP関数を使って同じような操作をしていました。
VLOOKUP関数やHLOOKUP関数でも同じ結果を得られるのですが、覚える関数が一つで済む事など、XLOOKUP関数には利点があるので、今回はXLOOKUP関数を覚えて欲しいのです。

【Numbers・Excel共通】

XLOOKUP関数は、「ある値Aに対応するものを、範囲Bから探して、値Cを返す」という関数です。
モータ回転数の例で紹介します。

XLOOKUP関数の書式

XLOOKUP(検索値, 検索範囲, 返す範囲, 見つからない場合, 一致タイプ, 検索タイプ)

引数(「ひきすう」と読みます)と呼ばれる、入れ込む値が6種類もあって難しそうですが、実は必須なのははじめの3つだけです。

検索値:必須項目です。探したい値Aを入力します。今回で言うと、モータの種類が入力される、C3セルですね。

検索範囲:必須項目です。上記検索値に対して、その値を探して欲しい範囲Bです。今回の例では、モータの種類をまとめている、M2からM8の範囲ですね。ドラッグすると簡単に範囲選択できると思います。文字で書くと、M2:M8となります。

返す範囲:必須項目です。最終的に関数の結果として返して欲しい値が書かれている範囲をしています。この範囲は、検索範囲と同じ数だけの行数である必要があります。
なお、スピルなどを使えば、返す範囲は検索範囲よりも多い列数でも使えます。
ただし、今回の説明では不要なのと、若干難しいので、慣れるまでは検索範囲と同じ行、列の範囲で指定した方が良いと思います。

見つからない場合:任意のオプションです。
[検索範囲]の中に[検索値]が見つからない場合に返す値を指定します。省略した場合は、エラー値「#N/A」が返されます。

一致タイプ:任意のオプションです。
以下の数値で指定します。

0 または省略→完全一致。つまり、検索値と検索範囲にとで、完全に同じ文字がないとエラーになります。
-1→完全一致または次に小さい項目。例えば検索値が5だとすると、5を越えないで一番近い値を見ますので、検索範囲の項目が0と10だとすると、0の項目として選ばれます。
1→完全一致または次に大きい項目。例えば検索値が5だとすると、5を越えて一番近い値を見ますので、検索範囲の項目が0と10だとすると、10の項目として選ばれます。

2→ワイルドカードを使った検索。

検索タイプ:任意のオプションです。
検索範囲について、どの順番で探すかを指定できます。

1 または省略→先頭から検索。

-1→末尾から検索。

2→昇順で並べ替えられた検索範囲を使用してバイナリ検索を実行します。
並べ替えられていない場合、無効な結果が返されます。
-2→降順で並べ替えられた検索範囲を使用してバイナリ検索を実行します。
並べ替えられていない場合、無効な結果が返されます。

今回は、検索値がリストから選ぶ形にしているので、間違いなく完全一致できますので、必須項目のみ記入する形で問題ありません。

例えば、C3、マシンAのモータ回転数を記入するセルには、次のように記入します。

XLOOKUP(検索値, 検索範囲, 返す範囲, 見つからない場合, 一致タイプ, 検索タイプ)

=XLOOKUP(C2,M2:M8,N2:N8)

なお、他のセルにコピーする時のために、絶対参照を設定しておきましょう。
今回は絶対参照に関する詳細は省きますが、簡単に説明すると、「コピーやフィルで違うセルに数式をコピーする際、参照セルを動かさない設定」です。
ExcelではF4ボタンを押して設定できます。
Numbersでは、関数内の引数の右にある矢印をクリックして、「行の保持」や「列の保持」を選びましょう。

=XLOOKUP(C$2,$M$2:$M$8,$N$2:$N$8)
この$マークが付いている部分が、コピーやフィルをしても動かない部分ですね。

これで、モータの種類を選ぶと、モータ回転数が自動で入力できるようになりました。

更に詳しく知りたい方は、Microsoftのサポートページをご覧ください。

グラフを書くために、データは縦に並べると分かりやすい。

今回の例では、時間tに対する速度Vの変化を表すグラフ(V-tグラフ)と、時間tに対する移動距離Lの変化を表すグラフ(L-tグラフ)を作ります。

今回の記事では、等加速度運動や等速運動の、時間に対する速度や移動距離の計算式についての詳細な説明は省略します。
気になる方は、以前のブログを参照してください。

今回はV-tグラフとL-tグラフは違うグラフとして書きますので、データは分けて良いですよね。
ちなみにこれを一つのグラフに書くことはできるのですが、その場合はデータの並べ方やデータ範囲の設定がやや面倒です。
特に理由がない場合は、グラフを分ける方が作りやすいと思います。

また、今回は「平滑線で結ばれた散布図」を使います。
このようなグラフの場合、単純にグラフにしたいデータが並んでいる範囲を選択した場合、データを縦方向に探しに行くので、連続したデータは縦方向に並べると良いと思います。

例えばV-tグラフについては、時間を0から4秒まで並べようと思った時は、縦に連続して並べます。
同様に、速度の計算も縦に並べます。
やってみましょう。

【Excel・Numbers共通】

例えば、データを以下のように並べます。

時間→A20からA120まで、昇順で並べます。(A20:A120)

速度→B20からB120まで並べます。
今回の例における、速度を求める式について、簡単に説明します。
B11セルに最高速度、B13セルに加速度、B14セルに最高速度に達するまでの時間を求めておきます。
速度は、最高速度に達するまでは(加速度)×(時間)、最高速度に達した後は、最高速度のままとなります。
今の時間が最高速度に達する時間未満かどうかを判断するIF関数を使っても良いのですが、次の方法もあります。
(加速度)×(時間)が最高速度よりも低い場合は(加速度)×(時間)、最高速度よりも高い場合は最高速度の値を出力すれば良いのですが、これは二つを比べて、低い値を出力すれば良いことになります。
つまり、与えられた数のうち、最も低い値を返す、MIN関数が使えます。
よって速度を計算するセル、例えばB20セルには、次のように入力します。

=MIN(値1,値2,…)→,で区切られた各値を比較し、最も小さい値を出力する。

=MIN(最高速度,(加速度×時間))

=MIN($B$11,$A20*B$13)

こうすることで、(加速度)×(時間)が最高速度より小さい、つまり最高速度にまだ達していない時は、(加速度)×(時間)の値が、最高速度より大きい時は最高速度の値が出力されます。

この式を、B120セルまでコピー(又はフィル)します。

走行距離Lも同様に、縦に並べておきます。

今回の例では、最高速度に達する前の状態と、最高速度に達した後では計算方法が変わります。
最高速度に達する前の移動距離

L=(1/2)×(加速度)×(時間)^2

最高速度に達した後の移動距離

L=(1/2)×(加速度)×(最高速度に達するまでの時間)^2 + (最高速度)×(時間-最高速度に達するまでの時間)

となります。

今回の例では、例えばG20セルに、以下のように記入します。

IF(G$14≥$A20,(1÷2)×G$13×($A20^2),((1÷2)×G$13×(G$14^2))+G$11×($A20-G$14))

です。

IF関数は、

IF(条件式, 真の場合, 偽の場合)

です。
もし(条件式)の状態となっていれば、(真の場合)を実行、(条件式)の状態でなければ(偽の場合)を実行、という関数です。
という事で、「(もし時間が最高速度に達するまでの時間よりも小さい場合)は、(=(1/2)×(加速度)×(時間)^2)を実行、違う場合は((1/2)×(加速度)×(最高速度に達するまでの時間)^2 + (最高速度)×(時間-最高速度に達するまでの時間))を実行」という状態です。

これをG20からG120セルにコピーします。

以上で、時間に対する速度と移動距離を計算できました。
今回はマシンを4種類比べるので、同様のことを残り3台分行いましょう。

後は、グラフにしたい範囲を選択して、挿入→グラフ→散布図(平滑線)を選択することで、とりあえずグラフが作成されます。

グラフの書式設定などは、今回省略します。

【Excelの場合】

今回の例では、時間に対する速度と、時間に対する移動距離は、列を分けて計算しています。
エクセルでは、速度を求める列と、移動距離を求める列、それぞれに、時間の列を左側に設けると良いです。
具体的には、時間はA列に、速度を計算する数式はB列に、移動距離を求める数式はG列に記入されていますが、G列の前、F列に、A列と同じ値が代入されるようにした方が、グラフが作りやすくなります。(F20セルに、=A20と記入)

【Numbersの場合】

Numbersでは、新規ファイルを作成する際、「空白」を選ぶと、空白という名前なのに、1行目とA列目の色が変わっていると思います。
これは、表のヘッダというものにあたります。
表を選択し、フォーマット→「表」タブ→ヘッダとフッタの項目で、左の列と上の列に1と記入されています。これが、列のヘッダと行のヘッダです。

今、時間の値をA列(ヘッダ)に記入しています。
B列~E列の速度のグラフを作ろうとする時はB列からE列を、G列からJ列の移動距離のグラフを作ろうとする時はG列からJ列の範囲を選択すると、どちらもA列の値を横軸に取ります。
初めは戸惑うかもしれませんが、慣れると便利だと思います。
ちなみに、Excelと同じく、F列に時間を増やしてもグラフを書けます。
この場合はデータ参照を編集します。フォーマット→「座標軸」タブ→「カテゴリ(X)」→ラベル参照の項目を、F20:F120にすることで、同様の結果を得られます。

グラフ横軸の値をすぐに変えられるように、値を数式で記入する。

ちょっと特殊ですが、こんなヒントもあります。

今、時間はA20からA120までかいているのですが、A18にもう一つ手入力しているセルがあります。
この値を、サンプリング周期(s)と名づけています。

これは、0.04と入力すると、時間がA20は0、A21は0.04、A22は0.08…と、0.04ずつ増えるようにする数値です。
つまり、A20は0、
A21は=A20+$A$18
A22は=A21+$A$18
と入力されています。

なぜこうしたかというと、「スタートで遅れをとった最高速度重視のマシンが、いつ加速重視のマシンを追い越すかは、計算しないとわからない」からです。
もしかしたらたったの1秒で追い越していたかもしれませんし、5秒後にようやく追い越すかもしれません。
この場合は計算する時間の範囲を変えないと、追い越した結果がグラフに現れないことになります。
時間の値を変える時、いちいち全ての値を変えることは面倒ですよね。
なので、サンプリング周期というセル1つを変えることで、時間全部が変わる仕組みを取り入れました。
おかげで、適切な範囲のグラフを作ることがとても簡単にできました。
参考にしてみてはいかがでしょうか。

【Numbersの場合】

先程のサンプリング周期は、いろいろな値を入力して、ちょうど良い数字を探しています。
このようないろいろな数字を入れてみるトライ&エラーの作業を行う場合、便利な設定があります。
サンプリング周期を入力するセルA18を選択します。
フォーマット→「セル」タブ→データフォーマットから「スライダ」を選択します。
すると、スライダが出現し、つまみをドラッグ&ドロップする事で、値を簡単に変更することができます。面白いですよね。
フォーマットから、最小値、最大値、増分を設定できるので、好みのスライダにすることができますよ。

まとめ

文章が多くなってしまいましたが、もう一度結論をまとめます。

今回紹介する、表計算ソフトのポイントは、以下の通りです。

  • お決まりの選択肢は、リストから選べるようにする。
  • お決まりの選択肢を選ぶ事で決まる数字は、選んだ選択肢を元に自動で取得する。
  • グラフを書くために、データは縦に並べると分かりやすい。
  • グラフ横軸の値をすぐに変えられるように、値を数式で記入する。

いかがだったでしょうか。
表計算ソフトにおいて、データの作成方法は、同じ結果を得る場合でもその作り方は多くのパターンが考えられます。
今欲しい結果はなんなのかを一度見直し、どう処理したら最も簡単に結果を得られるかを考えることで、作業を楽にできます。
参考にしていただければ幸いです。

コメント

タイトルとURLをコピーしました