2014年12月4日木曜日

LEVEL5.相対参照、絶対参照の使い方

さて、LEVEL3、LEVEL4でそれぞれ説明した相対参照絶対参照ですが
結論から言うと、
固定したくない、もしくはする必要がないときは
コピーペーストで相対参照
として問題ないです。

というのも、結局Excelをつかってて一番使うのは相対参照です。

表は、横方向、もしくは縦方向の計算を行うのが一般的です。

例を出して説明します。
まずは設定を元に戻します。
[ファイル]>[オプション]>[数式]の画面から
[R1C1参照形式を使用する(R)]のチェックをはずして下さい。






















その後、[ファイル]>[新規]>[空白のブック]を選んで、新しいブックを開いてください。



















開いたブックに対して
A1に売り上げ、B1に支出、
C1に利益、と記入してください。










A2セルに2014/1、
A3セルに2014/2と
記入してください。






ここで変な書式が出てくることがあります。





例として、
英語書式になっている場合を
挙げます。






こういう場合は選んだセル上で右クリックして、セルの書式設定を選んでください。






















日付の種類が
「14-Mar-12」になっています。




























ユーザ定義を選んで「yyyy/m」と入力後、OKボタンを押してください。




















無事に入力したとおりの書式に変わりました。 



さて、続いて小技を使います。
今入力した2つのセルを選択したら左下あたりの■にマウスを合わせると




マウスカーソルが
「+」に変わるので、
その「+」の部分をクリックしてマウスを下にドラッグします。




















すると以下の画像のように、1月ごとに年月が入力されます。















ちなみに隔月でもできますし、













日付じゃなく数字や時間でも可能です。
結構な頻度で使用することになるので、覚えておいてください。


さて、月は元の1~12月を1月ずつに書きなおしましょう。

売り上げ欄は以下の通り記載してください。

売り上げ
10000000
1500000
2000000
500000
6000000
2500000
12000000
15000000
3500000
8560000
1500000
5000000


支出欄には以下を記載してください。

500000
450000
300000
200000
150000
100000
1000000
14500000
500000
250000
1000000
1000000

コピー&ペーストでもいいですが
書式がそのまま貼り付けられるので

右クリックして「貼り付けもとの書式に合わせる」を選んでから貼り付けてください。
















さて、ようやく準備ができました。
LEVEL3でやったように
D2セルを選んで、「 F2 」を押してから
今度は引き算になるので「= B2-C2」となるように入力してください。

マウスを使っても、キーボードで直接入力しても結構です。















追加できたらD2セルをコピーして、D2~D13までをドラッグ選択して貼り付けます。

















すると、それぞれの月の利益が計算されて表示されます。

D2~D13の中身を見るとそれぞれの同じ行内のB列、C列の差が入っています。
















IT業界以外の人もExcelは使いますし、
売り上げ、利益の計算なんかはどこの企業もやります。
貼り付けたセルの中身に記載されている内容が違っても、
この方が使いやすいわけですね。

なのでわざわざ
Excelの内部で計算して違うものを表示しているんです。


さて、相対参照が使いやすいために使われていることは説明しましたが
逆に絶対参照ってどういうときに使うのかですが、
一部のアプリケーション、特にWeb関連のものは
サーバーの時刻と表示したい時刻が違う場合があります。

たとえば、サーバが北京にあるとすると、我々日本人とは時差があり、1時間早いわけです。
でも、日本向けに表示するページなんかもあるわけで、
そういったときのために、
グリニッジ時(GMT)、つまり英国の時間をアプリケーション内部でもっていて、
GMTに9時間をプラスするといったようなスクリプトの組み方をすることがあります。

11月まで富士通の現場にいたのですが、
性能管理ツールの一部のログがGMT出力形式になっていました。

CSV形式、つまりカンマ区切りのテキストファイルですが、日本時間に直すために
おのおのの時間に9時間を足してやるといった編集をしてました。

実際にやってみます。
ブログ書いてる時間がなくなってきたので
画像が減る上に手抜きになります。

ごめんなさい・・・


また新しいブックを開いて、
A1セルに「GMT」、
B1セルに「日本時間」と記入し
A2からA5までそれぞれ以下の時間を記入してください。

2014/12/4 20:00
2014/12/4 21:00
2014/12/4 22:00
2014/12/4 23:00

その後、C1セルに9:00:00と記入してください。

そのままだとA列内部が「###########」といった表示になりますので















A列の枠の線あたりを
ダブルクリックすると




表示されます。










さて、B2セルを選んで
「= A1+C1」と入力してください。




そのあと、
さっきやったように
B3~B5に対して
貼り付けてください。
B3~B5の内容は変わりませんでした。

相対参照で貼り付けされているので
B3はA3+C2、B4はA4+C3となってしまうので、当然の結果ですね。


一度B2~B5を消してもらって


今度はB2に
「= A1+$C$1」と入力して、
同じようにB3~B5へ
貼り付けてください。




今度はすべてのセルに+9時間されて表示されました。

絶対参照はこうやって同じセルを参照し続けたい場合に使用します。
絶対参照で入力されたセルは、
たとえ間に行が入ったり、
列が入ったりしても変わることなく参照できます。

ですので絶対参照も使えるようにしておいてください。

0 件のコメント:

コメントを投稿