読者です 読者をやめる 読者になる 読者になる

それ、僕が図解します。

世の中のビジネスモデルやいろんなものの複雑な仕組みを、できるだけわかりやすく説明してみたいと思います。主な話題はネットビジネス、不動産、オタクネタ、時事ネタなど。中途半端な説明や、図を使ってないものもあるかもしれませんが、温かい気持ちでお許しください。

Excelで階段グラフを描く方法

 各国の政策金利など、階段状に変化する量、というものがあります。通常、階段グラフで描かれます。

f:id:rick08:20141127231303p:plain

 (このグラフは外為どっとコム様からお借りしました。)

 この階段グラフですが、エクセルで書こうと思うと、ちょっと手間が必要です。

 まず、変化した点だけをプロットすると折れ線グラフになります。

f:id:rick08:20141127231304p:plain

 これを階段グラフにするためには、点を追加しなければなりません。こんなかんじです。

f:id:rick08:20141127231307p:plain

 甲点と乙点の間に「甲'点」を作る必要があります。このように、元の折れ線データから階段グラフ用の元データを作成する必要があるわけです。

 

f:id:rick08:20141127231306p:plain

 データの作り方は、AB列の甲、乙、丙、にそれぞれ、甲'行、乙'行を挿入してCD列を作成します。これが、通常のコピペなどではあまりいい感じに出来ません。

 そこで関数を使います。

 ABの2行目はCDの3行目に、ABの3行目はCDの5行目に、といった具合に一つ飛ばしにコピーされるので、ABのn行目はCDの2n-1行目にコピーされるということになります。

 セルの行数を返す関数 row()

 セルの行数、列数から、セル名を返す関数 address(行,列) 

 セルの名前からセルの値を参照する関数    indirect(セルの名前)

 を使うと、 C列の奇数行のセルは、indirect(address((row()+1)/2,1)、と、表すことができます。C列の偶数行については、それぞれ矢印が出ているセルを参照します。D列についても同様です。

 C1からD2を作成すると、あとは引っ張りコピーで必要な行数分だけコピーすればデータが完成します。

 出来上がったデータに対して、「散布図(直線とマーカー)」を使うと、階段グラフを表示することが出来ます。

f:id:rick08:20141128094845p:plain

 エクセルだけではなく、Google Docs Spreadsheetでも作ることが出来ます。関数名も同じです。

 と、いうことで、作ってここに置いておきます。AB列にデータを貼り付けるとCD列に階段グラフのデータが作成されます。必要な方はコピーして使ってみてください。

Stairgraph - Google スプレッドシート

では。