【Excel】グラフの軸ラベルをスマートに変更する方法【INDEX関数】

 皆さんは、Excelにおいて、グラフの軸ラベルをどのように変更してますか? 今回、INDEX関数を使って、軸ラベルをスマートに更新する方法をご紹介します。本法でのメリットは、グラフを一元管理できるため、メンテナンス性に優れる、複数のグラフを作成する必要がない、などがあります。

 方法をご説明するために、以下に東京都の2022年の月ごとの平均気温と平均湿度を示します。

 この表をデータ配列として、INDEX関数により、行および列を指定して、以下のように新たな表を作成します(図の下側)。

 このとき、データ配列の第3行目が指定されており、以下のように、グラフの縦の軸ラベルには温度が表示されています。

 

 このとき、以下のように、縦軸ラベルを選択し、数式ラベルでセルB9を参照し、グラフにの縦軸ラベルには、温度(℃)が表示されてます。

 つぎに、INDEX関数が参照している行番号を変更します(セルA9に4を入力)。以下のように、グラフの縦軸ラベルが"湿度(%)に変更されるとともに、データも湿度に変わりました。

 つまり、セルの値を変更(セルA9の入力値を3または4)することで、温度と湿度の表示を切り替えることができます。従来の、温度と湿度を別々にグラフを作成する場合に比べて、本法でのメリットは、

 ✓グラフを一元管理できるため、メンテナンス性に優れる

 ✓複数のグラフを作成する必要がない

などがあります。

 また、セルA9の入力値を変更するとExcelのデフォルトセルでは、選択セルが一つ下(A10)に移動してしまいます。連続して、入力値を変更する場合、不便であるので、選択しているセルを移動しない設定に変更をお勧めします。

その方法は、

Excelのメニューにある、ファイルを選択
②オプションを選択
③以下のように、詳細設定を選択
④Enterを押してたら、セルを移動するのチェックボックスのチェックを外す
⑤OKを選択

 

以上です。

【Excel】任意のワークシートのセルをスマートに参照する方法【INDIRECT関数】

 皆さんは、別ワークシートにあるセルをどのように参照していますか? まず、一般的な方法から説明します。

 まず、(1)別ワークシートで、田中さんの通信簿を作成しました。(2)つぎに、別のシートからその数値をセル参照します。(3) つづいて、鈴木さんの通信簿を別ワークシートとして追加し、(4)そのセルを参照します。これらのように必ず、ワークシートを追加してから、セル参照する、という順序をとります。

 ここで、ワークシートの追加ごとに、それに続く、セルを参照する作業を課題と考えています。セル参照が多岐にわたっている場合は特に煩わしいですし、機械的な作業ですので、マシンに任せるのが一番です。

 

図1 従来

 

 今回、ご紹介する方法を以下に示します。対象(参照)セルのアドレスを文字列として作成し、INDIRECT関数で囲みます。セルに数値が表示されました。なお、セルのアドレスの文字列は、ワークシート名を田中とし、A列にセルアドレスを記入しました。

 

 

 

図2 INDIRECT関数

つぎに、以下のようにC列をD列にドラッグして、数式を入力します。D列はエラー(#REF!)が表示されます。

図3  数式の自動入力

 つづいて、以下に示すように、鈴木さんのワークシートを追加します。追加と同時に、エラー表示が数値に変わりました。つまり、ワークシート追加の順序は不問です。

 

 

ここで、以下のようにセルC2を鈴木に代えてみます。すると列C2の通信簿が更新されました。つまり、セルの2行の記入によって、参照するワークシートを指定しています。このように、簡単に参照するセル群を一度に変えることができます。従来の場合、変更方法を思い出すところから始める必要があるのに比べて、ご紹介する方法は非常に直感的であり、簡単な作業です。

 

別のExcelファイルからワークシートをコピーして持ってくる場合などに有効です。

 

なお、INDIRECT関数の簡単な使い方につきましては、関連サイトをご紹介します。

エクセルで別シートを参照するINDIRECT関数の使い方 | UX MILK

【Word】文書を作成、閲覧時に図表にジャンプする【ナビゲーションウインドウ】

 皆さんは、Wordにて文書を作成する際に、どのように作成し、また閲覧していますか? 私は技術報告書を作成、閲覧する際に、ナビゲーションウインドウを活用しています。ナビゲーションウインドウを表示するには、Wordにてメニューの表示①を選択し、ナビゲーションのチェックボックスにチェックを入れます。

 そうすると、以下のようにWordの左側に、ナビゲーションウインドウが表示されます。ここで、すでに文章の幾つかに見出しを設定しています。

 

 

図1、図2、表1を見出し3、それより上の階層である実験結果や実験条件を見出し2としました。

 ナビゲーションウィンドウは、文書全体の一覧性に優れています。作成中は局所的に集中していますが、一息ついて全体を俯瞰することができます。この図1などを選択すると、図1にジャンプしてくれます。Wordで作成した報告書などを使って説明する場合は、プレゼン形式に近いですので、まず文章は読んでもらえません。図や表にジャンプして、順次説明することができます。Wordを使った文書作成や説明にナビゲーションウィンドウの活用をお勧めします。

 

Wordで、図表番号入れる方法については以下のサイトで紹介しています。

y20231111.hatenablog.com

【Excel】セルを参照し、グラフに文字列を入れる方法【テキストボックス】

 皆さんは、グラフにどのようにして補足情報を付けていますか? 今回、エクセルにて、セルを参照し、グラフに文字列を入れる方法を解説します。以下、グラフに文字列を追加した例を示します。Power Pointなどで後から追加する場合と比べてメリットが多いです。

メリットは、

(1) Excelのセルに入力した値を使用するので、改めてPower Point等で追加する必要が無い。

(2)参照するセルの値を変えると、自動的にグラフ上の文字列も更新される。

(3)グラフ上部の条件などはノートなどにメモ書きしていると何処かに行ってしまったり、記憶に頼ると時間がたつと忘れてしまったりするので、条件などの情報をグラフと一緒に紐づけておくと、信憑性のある数値をさっと把握することができます。

 


以下、作成方法を解説していきます。グラフを選択し、メニューにある、書式を選択(①)※Excel2016の場合。グラフツールの場合もあり
横書きテキストボックスを選択(②)
グラフ中をドラッグして、テキストボックスを挿入する

 

 

①以下の挿入したテキストボックスを選択し、②ウインドウ上にある数式ボックスに”=”の入力に続き、任意のセル(ここではE7)を選択します。もしくは、キーボードで直接セルのアドレスを入力してもOKです。そうすると、以下のように、グラフ中に文字列が表示されます。

 

 

 つぎに、ID=1.0E-8 Aの表記方法を説明します。このID=1.0E-8 Aは以下のように、数式ボックスで、3つの文字列を連結して作成しました。ここで、文字列の連結には&を使用します。また、文字列を直接記入する場合は、文字列を””で囲みます。中央の文字列は、数値をTEXT関数によって文字列に変換しています。ここで、表示桁数、指数表示を指定しています。数値形式を直接連結することも可能ですが、割り切れない場合など少数の桁数が非常に多く、冗長な表示になることがあります。

 


つぎに、以下のグラフ上部にあるテキストボックスでは、文字列を3行に分けて、すなわち改行して表示しています。

 

以下のように、テキストボックスを選択してから、”=”に続き、セルのアドレスを入力していきます。このとき、セルのアドレスの間に&で連結するとともに、CHAR(10)を入れると改行することができます。

 

 

以下(1)~(4)について解説しました。私はグラフを作成するとき、かならず本手法を使っていますので、ぜひ使ってみてください。

 

(1) グラフ中へのテキストボックスの挿入し、文字列の記入に、グラフに文字列表示

(2) テキストボックスで、数式バーにセルのアドレス入力して、参照

(3 )文字列の連結方法

(4)文字列の改行方法

 

 

【PowerPoint】プレゼンテーションを行う際に、任意のスライドへスマートにジャンプする

  皆さんは、プレゼンテーションにおいて、離れたスライドにどのように移動していますか?

 キーボードの↓を押下して、次のスライド、↑を押下して前のスライドを表示する。ここまでは直感的でわかりやすい操作ですし、スマートです。ただ、スライド数が数十ページあったり、スライド群の末尾につける付録(Appendix)を表示したい場合に、キーボードの↓を数十回連打したり、スライドをめくりながら探す場面をよく見かけます。聴衆が見るには、目がちかちかし目をそむけたくなりますし、意味の無い画面表示です。

 本題ですが、まず以下のように、スライドショー(プレゼンテーション)でスライド(1)を表示します。

次に以下のように、右クリックし、メニューにあるすべてのスライドを表示を選びます。



すると、以下のように各スライドが縮小されたものと、スライドの左下にスライド番号が表示されます。現在、スライド1が赤枠で選択されていますが、マウスカーソルを移動させて他のスライド2や3をクリックします。そのようにして、任意のスライドにジャンプすることができます。ジャンプするスライドの枚数によらず、操作時間がほぼ一定というのも利点です。

 

 私はプレゼンテーションで、数年は本手法を使っています。はじめは手間取るかもしれませんが、徐々に慣れていきますので、ぜひ試してみてください。講演など魅せる場面では特に必要な機能では無いでしょうか?

 以下のように、任意のスライド(3)にジャンプできました。Power pointに備わる機能であり、簡単で便利ですので、ぜひご活用ください。

 


なお、ハイパーリンクのアイコンを配置して、選択することで、ジャンプする方法をよく見かけます。私も使ってみて、移動先が汎用的でなく、設定ミスによって反応しない、別のスライドにジャンプしたなどありましたので、確認作業もわずわらしく挫折しました。ですので、本手法で落ち着いております。

【Excel】XYデータ列の中で、対応する数値を計算する汎用的な方法【MATCH関数、INDEX関数】

 

 皆さんは、XYデータ列に関して、Y値に対応するX値をどのように算出していますか?

散布図などのグラフデータを補間、補外する方法をご紹介します。Excel VBAを使った方法もありますが、VBAはご存じの通りひと手間かかりますが、本方法はVBAを使わなくても、Excelの関数のみで計算することができます。また、複雑な曲線データを関数で近似して、フィッティングする方法もありますが、フィッティング精度に課題があります。曲線は多数の折れ線の集まりだとみなして、その中で、ひとつの折れ線を検索してから、その中で数値計算する方法が、どのような曲線にも汎用的に対応することができます

 散布図グラフのもとになるX、Yデータ列について、Y値に対応するX値を算出します。題材としては、トランジスタMOSFET)を使い、ゲートのしきい値電圧を算出します。ここで、MOSFETとは、metal-oxide-semiconductor 金属酸化膜半導体電界効果トランジスタのことです。

 以下のグラフの縦軸はドレイン電流(Drain current)、横軸はゲート電圧(Gate voltage)です。ここで、縦軸は対数としました。ドレイン電流1E-8A(10nA)に対応する、ゲート電圧を算出しました(しきい値電圧Vth=2.28V)。なお、このときのドレイン電流は、必要に応じて任意な値(100nAや1nA)に設定することができます。

 



 説明のため、以下のように、グラフの横軸の範囲を2V~2.6Vと狭くしました。また、縦軸の範囲も狭くして、線形(リニア)に変更しました。

 

プロットのX値が2V,2.2V,2.4Vと0.2V間隔であることがわかります。2.2Vと2.4Vについては、Excelの機能であるデータの要素(x,y)を表示しています。すなわち、データ自体は0.2V間隔と粗く、拡大してみると折れ線状となっていることがわかります。ただ、しきい値の算出が0.2V間隔では誤差が大きく、もっと細かい精度(小数点の桁数)が必要です。そこで、2.2V~2.4Vの間の線分とy=1E-8の交点をもとめることで、しきい値電圧Vth=2.28Vと、0.2Vより高い精度で算出することができます。ここで、見やすさのために便宜上少数第二桁までしか表示していません。

つぎに、具体的にExcelでの算出方法を解説します。以下の表の上部にはデータ列、下部には計算結果を示します。

 



また、以下に数式のテンプレートを用意しましたので、本表全体をコピーしてExcelのワークシートに貼り付け可能です。

 

  入力   計算結果
y ⇒ 1.0.E-08 y=任意のドレイン電流  
行番号⇒ =MATCH(C108,C6:C106) 行番号=MATCH(y,ドレイン電流のデータ列) 62
x1⇒ =INDEX(B$6:B$106,C$109) x1=INDEX(ゲート電圧の文字列,行番号) 2.2
y1⇒ =INDEX(C$6:C$106,C$109) y1=INDEX(ドレイン電流のデータ列,行番号) 6.38E-09
x2⇒ =INDEX(B$6:B$106,C$109+1) x2=INDEX(ゲート電圧の文字列,行番号+1) 2.4
y2⇒ =INDEX(C$6:C$106,C$109+1) y2=INDEX(ドレイン電流のデータ列,行番号+1) 1.55E-08
a⇒ =(C113-C111)/(C112-C110) a=(y2-y1)/(x2-x1) 4.55E-08
b⇒ =C111-C114*C110 b=y1-a*x1 -9.38E-08
x⇒ =(C108-C115)/C114 x=(y-b)/a 2.2794

 

ここで、以下の表のように、セルB6~B106にはゲート電圧のデータ列、セルC6~C106にはドレイン電流のデータ列を示します。

 

 

まず、MATCH関数を使い、(x1,y1)=(2.2,6.38E-9)を検索ヒットさせます。MATCH(C108,C6:C106)として、C6:C106はドレイン電流のデータ列、C108は任意のドレイン電流(1E-8)です。

 MATCH関数による、検索結果は第62行(セルC67)でした。なお、(x2,y2)=(2.4,1.55E-8)は1つカウントアップした、第63行データとなります。(x1,y1)、(x2,y2)の各要素を参照するには、index関数を使います。x1を算出するには、INDEX(B$6:B$106,C$109)とし、B$6:B$106はゲート電圧のデータ列、C$109は検索結果(第62行)です。同様に、検索行結果をもとにしたINDEX関数により、順次x2,y1,y2を求めます。

 つぎに、示しました折れ線グラフで、(x1,y1)、(x2,y2)を通る直線y=ax+bの傾きa,切片bを求めます。 最終的に、x=(y-b)/aの関係式が得られました。a,bは既知ですので、y=1E-8の場合、x=2.2794と求められます。すなわち、任意のyに対して、xを細かい少数桁数まで算出することができます。VBAを使うことなく、ワークシートのセル9行1列範囲の入力で済みましたので、簡便な方法といえます。いろいろな場面で役に立つと思いますので、ぜひ活用いただきたいと考えています。ただ、本方法は、データ列の並びが昇順、もしくは降順である必要があります。なぜなら、MATCH関数で検索する際に、検索結果を一意に定める必要があるからです。

 データ列が必ずしも、昇順、降順でない場合、データ範囲を狭くするなどの回避策があります。また、forcast関数を使う手があります。また、forcast関数は非常に簡便な方法でもあります。この方法はxとyの関係が直線的であると考えられる場合に有効です。Forecast関数を使って計算するサイトを以下にご紹介します。

 

Excel】エクセルにて直線補間(線形補間)を関数や数式を用いて行う方法【Forecast関数】
https://toushitsu-off8.com/excel-hokan-forecast/

 

また、セル参照し、グラフに文字列を入れる方法については、以下のサイトで紹介しています。

 

y20231111.hatenablog.com

 

【Word】図表やキャプション(説明文)を挿入する方法

 

 今回、初めて記事を書きます。私は技術者として20年以上、Wordを使って技術報告書(メモ)を書いてきましたので、そのメモを書くノウハウをご紹介します。第1回は図表、キャプション(説明文)及び図番号の挿入を解説します。

 これまでの経験で、Wordで図を挿入したものの、意図通り留まってくれず、他のページに移動してしまう問題(崩れてしまう)に悩まされました。この対策として、表(罫線)を挿入して、その枠内に図を挿入しました。自分で試行錯誤してたどり着いたノウハウで、他では見たことがないので、私のオリジナルかもしれません。

 また、図番号をとりあえず仮に記入しますが、後から順序を変えざるえませんので、すべてやり直すとともに、図に付属する番号と文章中に挿入する番号を紐づける、煩わしさがありました。そのような課題については、wordの機能がきちんと備わっています。

以下に作成した例を示します。

次に、作成手順を説明します。

【罫線と図の挿入】

Wordを起動します。

①メニューにある挿入を選択します。

②表をクリックします。

③ウインドウに表示された格子をドラッグして、2行2列として、表を挿入します。

以下のように、2行2列の表が挿入されました。挿入したい図をコピーしてから、第1行第1列の枠内にカーソルを移動して、貼り付けます。第1行第2列も同様です。第2行第1列には、(a)箱根など名称を記入します。第2行第2列にも同様に、(a)諏訪など名称を記入します。

【図番号の挿入】

図番号を挿入したい箇所(表の下側)にカーソルを持っていく(クリックする)。

①メニューにある参考資料

②図表番号の挿入

③ウインドウ中央にある、ラベルのプルダウンをクリックして、を選択

④自動でカウントアップされた図番号が表示されるので、確認してウインドウの下側にあるOKを選択

(図1が挿入されました。)

挿入された図1の右側に、スペースをいくつか入れてから、景色など名称を記入します。

 

 

【図番号の使用】

次に、挿入した図番号を文章中で使用します。

 

①メニューにある参考資料

②相互参照

③ウインドウの左上にある、参照する項目のプルダウンをクリックして、を選択する。

④ウインドウの下側にある、図表番号の参照先で、参照した図を選択して、反転表示させる。

⓹ウインドウの右上にある、相互参照の文字列のプルダウンをクリックして番号とラベルのみを選択

⑥ウインドウ最下部の挿入をクリックする

(文章中に図1が挿入されました。)

 



 複数の図の順序を並べ替えた場合など、自動的に番号を更新してくれますが、更新しない場合があるので、文書全体を全選択して、右クリックしてフィールドの更新を選択します。



【罫線の非表示】

見栄え上、罫線(枠)を表示しないほうが自然だと思いますので、その場合は、

表全体をドラッグで選択

①罫線のアイコンを選択

枠なしを選択

 


ぜひ、報告書を作成時などに本手順を試してみてください。