こんばんわ。今日はExcel(スプレッドシードでもOK)を使って、グラフを作るときの便利技をご紹介します。
みなさま、こんな経験ないでしょうか?
毎日体重を記録していて、時々グラフ化しているが、かなり古いデータはもう表示しなくていい。でも毎回範囲を指定してグラフを作り直すのは面倒。
『最新15個のデータだけをグラフ化し、データを追加したら古いデータが一つ消え、新しいデータが追加されないかなぁ??』
これ、なかなかいい方法がなくて困っていたのですが、ついにできるようになりましたのでご紹介します。
なお、関数に関しては少し難しいところもありますので興味が湧いた方は是非他のブログ等読んで勉強してみてください。
Excelのグラフ
はじめに普通の折れ線グラフです。
横軸に日付、縦軸に体重をプロットしています。
この状態で1月16日のデータを入力しても1月16日の下にデータが増えるだけです。
これを1月16日のデータを追加したら1月1日のプロットがグラフから消え、1月16日のデータがグラフに自動更新されるやり方をご説明します。
実践
説明の都合上、データの入力をAとB列へ移動しています。応用は自分で色々試してみてね。
データを入力していく部分とは別の部分(ここではD2のところ)に、
=INDIRECT(ADDRESS(COUNTA($A:$A)-(15-1),1,1))
と入力します。この位置にデータがある場合にはコピペでOKです。
そうすると、関数が1月1日を拾ってきます。
次にE2のところへ
=VLOOKUP(D2,$A:$B,2,FALSE)と入力します。
そうすると体重の値を引っ張ってきます。
ちなみにここでCの列に体脂肪のデータがある場合には
=VLOOKUP(D2,$A:$B,3,FALSE)
と入力すればC列のデータを拾ってくることができます。
さてここまでくればもう簡単。
=INDIRECT(ADDRESS(COUNTA($A:$A)-(15-1),1,1))
この15のところが15個分のデータを表示しなさいってとこになります。
30個表示させたければ30にしてください(D2では)。
さて、次です。D3のセルには15から一つ減らした14を入力します。
INDIRECT(ADDRESS(COUNTA($A:$A)-(14-1),1,1))
表示数が多くて一つずつ変えて入力するのが面倒な場合は横に数値を作っておきます。
出力したい数から1引く数式にしてコピー→fx貼り付けでOK。
15のところをG2のセルにしたことでここでもコピー→fx貼り付けでいくらでも下へ増やせます。
さて、グラフですが、もちろんグラフのデータは今まで作ってきたD,F列のデータをプロットするように変更します。
こんな感じです。さて、いよいよ1月16日のデータを入力してみます。
たくさん食べて太っちゃったことにしましょう。
ここでデータを入力するのはもともとデータを蓄積していたA、B列に入力していきます。
どうでしょうか?1月1日の古いデータは消えて新しく1月16日のデータが付け足されています。
グラフは全く触る必要はありません(*^^*)
どんどん入力してください。
このように今まで通りデータを入力するだけでグラフは直近のデータを示してくれます。
(1月16日に太ったけどその後頑張っています笑)
かなり利用できる場面が多いと思いますので是非応用も身につけて便利に使ってみてください!!
おまけ
D~G列が邪魔な方は表示しない方法があります。
ただし、セルを非表示にするとグラフが消えてしまします。
こんな感じ。
これは簡単に直せます。
グラフを右クリック→データの選択→非表示および空白セルをクリック
非表示の行と列のデータを表示するにチェックを入れOK。
これでスッキリしました。今回のネタはこれで完成です。
是非試してみてほしいです。
コメント