1. Excel でのデータ管理
Excel は表計算ソフトウェアです。ただし現在では計算だけでなく、様々な帳票を作成するのにもよく利用されています。 電気電子工学コースでは、実験などのデータ処理でもよく活用されています。 この時、式などをうまく利用するとシミュレーションなども可能となります。
ただし、Excel 自体はセル記述の自由度が高いため、通常の利用だとたくさんの設定作業が必要となります。 そこで、この授業では、セルにある制約を設定することで作業量を大幅に低減できるテーブル機能を紹介します。 また、Excel を使う上でのちょっとした Tips なども多く紹介します。
2. 復習: これまでの使い方
まず、高専1年生くらいでやりそうな正弦波のグラフ作成 (0.01秒刻みで0.1秒までの10Hzの正弦波波形)をこれまでの知識で書いてみます。後半でこれをもっと簡単に実施する方法を説明します。
- A列: 時刻 t[s] を設定します。ここには 0.0 から 0.1 までのデータを入れます。
- B列: 電圧 v[V] を設定します。今回は大きさは1として計算します。
2.1 ラベルと時刻の設定
以下の手順で実施します。
- ラベルを A1, B1 のセルに記述します
- A2に0.0を記述します
- A3に「=」をタイプします
- A2のセルをクリックします
- 「+0.01」をタイプします
- A3の右下の点にカーソルを合わせます
- 点をドラッグしてA12まで引っ張ります
- 成功すると最後の図のようになりました
2.2 電圧列の設定
次に B 列を設定します。 で計算すればよいので、A列の時刻を使って各行の値を導出します。
- B2 に「
=cos(2*PI()*10*
」まで入力します - A2をクリックします
- 「)」を入力して確定します
- B2のセルを選択します
- B2のセルの右下の点をダブルクリックします
- Aの列と同じ行数だけ自動的に展開されました
2.3 グラフの描画
工学で主に作成するのは「散布図」です。 間違っても「折れ線」などで書かないでください(折れ線だと横軸の幅が均等になってしまいます)。
- グラフを描画したいデータエリアを範囲選択する必要があります
- A1をクリックします
- シフトキーを押したまま、右にカーソルを移動します
- シフトキーは押したまま、ctrlキー(macOS の場合は Command キーでもよい)を押します
- その状態でカーソルの下を押すと端まで自動選択されます
- 挿入リボンを開き、散布図を選択します
- グラフが作成されました
2.4 近似曲線の追加
以下の手順で近似曲線を追加します
- グラフをクリックします
- グラフ要素の追加・近似曲線・その他の近似曲線オプションを選択します
- cos は偶関数なので偶数次の多項式近似をするとよいです。 こんな感じになりました。 サンプル点が荒いときには近似曲線は有効です。
2.5 見た目の修正
軸ラベルなどが設定されていないので、各自で試してみてください
- 軸ラベルの追加
- x軸の数字の位置を下に(設定で変更可能)
- タイトルを下に
やり方がわからない人は脚注1のヒントを参照してください
3. これまでのやり方のダメなところ
3.1 問題1 マジックナンバー問題
問題1
- 0.01[s]というマジックナンバーがA列全体に存在しています
- 10[Hz]というマジックナンバーがB列全体に存在しています
- 1[V]というマジックナンバーがB列全体に存在しています
解決1
- Excel の名前機能を利用します
3.2 誤差が累積する問題
問題2
- 0.01 という数値を累積加算しています
解決2
- 行番号を利用します
4. 問題の解決
4.1 名前の設定
以下の手順で名前を設定し、それを利用します
- 1から3行目まで全体を選択します(左端の数字の部分を選択)
- 右ボタンで挿入を選択します
- 挿入した3行に必要事項(dt, f, A)を入力します
- 可変な部分のセルに色を塗っておきます(どこが変更できるかが後からでもわかるようにするためです)
- B1を選択し、名前欄に「_dt」と書きます
- B2を選択し、名前欄に「_f」と書きます
- B3を選択し、名前欄に「_A」と書きます
ここで、dt, f, A はそのまま列名と被ってしまうので,ぶつからないように _ をつけています。
4.2 名前を使った数式の変更
- マジックナンバーの部分を図のように名前で設定したセルの内容に変更します
名前のおかげで式がかなり見やすくなりました。 前述の通り,名前はセル名と区別できるように「_」で始まる文字列にしています。 日本語などであれば「_」は必要ありません。
4.3 行番号による計算
Excel では ROW() という関数で行番号が得られます。 これを使って以下のように時刻列を書き換えます。
A5のセルを=(ROW()-5)*_dt
という式に修正します。
表データが5行目からスタートするので、5を引いた上で前述の「_dt」を掛け算しています。
この結果、誤差が累積することがなくなります。
* A5セルの右下をダブルクリックすると、式が下までコピーされます。
結果として、A 列が全て行番号から計算されたことになります。
5. テーブルを利用する
5.1 なぜテーブルを使うのか
- これまでのやり方
- 我々が利用する工学データは列はみんな同じものが多いです
- 毎回コピーするのは面倒です
- → テーブルの活用
- テーブルの場合
- 列は全て同じ式になります
- 式が見やすくなります
5.2 テーブルを使った書き方
以下の手順でテーブルで表を作り直してみます。
- A4をクリックします
- シフトキーを押しながら,右カーソルを押します(A4とB4が選択)
- そのままctrl (macOS の場合はコマンドキーでも可)も押しながら,下カーソルを押します(A4からB15が選択された状態になります)
- 挿入リボンを開き、 テーブルをクリックします(左図)。 表示されるダイアログで 「先頭行をテーブルの見出しとして使用する」にチェックが入っていることを確認して「OK」を押します
- せっかくなのでテーブルで式を計算するために式を全て消します
- A5のセルに「
=(ROW()-5)*_dt
」とします。テーブルであるため、コピーすることなく,A列が全て設定されました。ここで「_dt」はタイプするのではなく、B1セルをクリックすると楽です。 - B5 のセルに「
=_A*COS(2*PI()*_f*[@[時刻t’[s’]]])
」とします。 ここで「_A」「_f」「[@[時刻t'[s']]]」の部分はタイプするのではなく、それぞれB3、B2、A5セルをクリックすると楽です。
テーブルでは列の式が自動的に全て同じになることを確認します.
5.3 テーブルによるグラフの作成
- 先ほど作成したグラフを消し,テーブルからグラフを作成
- テーブルのどこかをクリックした後で,挿入から散布図を選択
- 近似曲線,軸の最大値・最小値以外を設定(後で値を修正するため)
- _dt, _f, _A の変更でグラフが変わることを確認
- 家庭用交流50[Hz],100[V]のグラフを1周期だけ表示するには?
- _dt = ?
- _f = ?
- _A = ?
6. 本日の課題
家庭用交流の実効値と平均値をデータから計算してください。
6.1 計算する数式
家庭用交流の実効値と平均値は以下の式で計算できます。
ただし、このような積分はコンピュータで計算できないので、以下のような方形近似で計算します。
6.2 手順
手順を以下に示します
- 現在の波形は1周期+1点計算してしまっているので、最後の行(15行目)を選択し、削除します
- C4 をクリックして,「
v^2
」と記述します → テーブルが自動拡張されました - C5 において「=」をタイプ後に B5 をクリック,「*」 とタイプ,再度 B5をクリックすると以下のようになります
=[@[電圧v’[V']]]*[@[電圧v'[V']]]
- D4をクリックして,「
v^2dt
」と記述します → テーブルがさらに自動拡張されました - D5 において「=」をタイプ後に C5 をクリック、「*」をタイプ、「_dt」(B1)をクリックすると以下のようになります
=[@[v^2]]*_dt
- テーブルリポンを選び,集計行のチェックを追加します
- B15 のプルダウンで「合計」を選択して「0」になることを確認します
- D15 のプルダウンで「合計」にして「200」になることを確認.これが式のΣまでの値になります。
- D16 で実効値を計算します (ここは考えてください)
- D17 で実効値の理論値を計算します (_A の値だけを使って計算してください)
- D18 で誤差率を計算します
- E列に|v|,F列に|v|dt を用意して,E15 に合計を計算します
- F16 に平均値を計算します (ここは考えてください)
- F17 で平均値の理論値を計算します (_A の値だけを使って計算してください)
- F18 で誤差率を計算します
6.3 提出する課題
10点の計算では平均値の誤差が大きいです。 テーブルを修正し,100点で計算してください。 その際、以下の点に気をつけてください。
- 実効値と平均値の理論値も同時に計算します
- 計算値と理論値の誤差率を比較 します
- グラフは元の のみの結果にしてください(テーブルにすると余計なものが追加されてしまうので消してください)
- 10点の場合の実効値と平均値の誤差、100点の場合の実効値と平均値の誤差について比較考察してください
- 作成した Excel ファイルを添付し,考察をオンラインテキストで提出してください
付録
-
見た目の修正のヒント: A. グラフ要素を追加: 軸ラベル: 第1横軸: 軸名を「時刻t[s]」。B. グラフ要素を追加: 軸ラベル: 第1縦軸: 軸名を「電圧v[V]」。C. タイトルを「正弦波電圧波形」とし,一番下へ。D. 横軸をクリックし,軸の書式設定: 軸のオプションで最大値を0.1に。E. 同じくラベル: ラベルの位置を「下端/左端」。F. 縦軸をクリックし,軸の書式設定: 軸のオプションで最大値を1.0,最小値を−1.0に↩