熊本大学大学院教授システム学専攻
目次:
【第3回】アプリケーションソフト:Office系Tool
第1章
第3章

シート間の参照

【本節の目的】
シート間のデータの参照について練習を行なう

シートの挿入


[演習 26]
これまで作成してきたex3.sxc中に、 以下の指示に従って、新しいシートを作成しなさい。 上書き保存も忘れずに行なえ。

新しい表は、基本的には、新しいシートに作りましょう。 同じシート内にも作ることができますが、見にくくなりがちです。
(註) 前述のように、StarSuite Calc では、シートのことを「表」と呼びます。 まぎらわしいですので、注意して下さい。

シートの挿入は、 「シート見出しタグ」を右クリックして、「表の挿入」を選び、 現われたダイアログで「OK」をクリックすることで行なうことができます。 そのダイアログでは、シートの挿入位置や、シートの名前を付けることができます。 (ただ、これらは、シートを作った後にも変更できます。)

それでは、新しいシートを追加してみましょう。
「data」シート見出しタブをクリックし、「data」シートを表示した後、 「data」シート タブを右クリックして「表の挿入」を選択して下さい。


現われたダイアログで、位置は「表示中の表の後に」をチェックし、 名前として「結果」と書いて「OK」ボタンをクリックして下さい。


これで、「結果」と言う新しいシート(表)ができました。



シート間のデータ参照


[演習 27]
これまで作成してきたex3.sxc中に、 以下の指示に従って、シート間参照の練習を行ないなさい。 上書き保存も忘れずに行なえ。

あるシートにあるデータ(セルやセル範囲)を、 別のシートで参照して再利用することができます。

使い方は、同じシート内にあるときと全く同じです。 違いは、式内で参照(セルやセル範囲を指定)する際に、まず、 シート見出しタブをクリックして対象のシートを選ばなけばいけないことだけです。 また、式を書いている途中では、他のシートを表示していても、アクティブセルは、 式を書いているセルから変わりません。

それでは、今作った「結果」というシートに、 「sample」シートで計算した結果をまとめてみましょう。

新しく作った「結果」シートに、以下のような文字を入力して下さい。


まず、「C4」セルに合計点の平均を表示させましょう。
「sample」シートのセル「H13」で、合計点の平均は既に計算していますから、 「C4」では、単にそのセルを参照するだけで良いということになります。 しかし、「sample」シートの「H13」では、小数点以下の数字を表示しないように、 セル属性を変えています。そのため、そのまま参照しますと、 小数点以下も表示されます。「C4」にも、 「sample」シートの「H13」と同じセル属性をもたせて対処しても良いですが、 ここでは、先程紹介しました round 関数を使って、整数表示させてみましょう。

「C4」セルをアクティブセルにした後、「=round(」と入力して下さい。


続いて「sample」シート見出しタブをクリックし、 合計点の平均である「H13」セルをクリックします。


これで、平均点が選ばれましたので、 「結果」シート見出しタブをクリックしてもとのシートに戻ります。 すると、アクティブセルは、まだ「C4」のままで、 以下のように「=round(sample.H13」と表示されるはずです。


「sample.H13」というのは、「sample」シートの「H13」セルを表しています。 つまり、これまで使ってきましたセル番地は、あるシート内だけで有効なもので、 別シートで参照するときは、シート名に「.」を付けて、 付加するという約束になっているのです。
ここで、Enterキーを押して確定すると、 下図のように平均点である417が「C4」に表示されます。

次に、最高点を「C5」に表示させましょう。
最高点は、関数一般に関する説明の時に例として示しました、 最大値を求める関数 max を使うことでできますね。
「C5」に、「=max(」と入力した後、


「sample」シートで「H3」から「H9」をドラッグし、Enter キーを押しますと、 自動的に「結果」シートに戻り、「C5」が確定されます。 そして、「C5」には、最高点である 459 が表示されます。






続いて、合格者の数を「C6」に表示させましょう。
合否の判定も、既に「sample」シートの「K」列で行なっていますので、 後は、「合格」になっている数を数えるだけですね。 このようなときに役立つのが、countif 関数です。

関数 countifは、以下の機能をもっています。
  • 第1引数にセル範囲を指定し、そのセル範囲の中で、 第2引数で指定した条件を満たすセルの個数を表示する
ここで、第2引数である条件式は、 第1引数に対するものなので、通常の条件式とは異なり、 左辺(対象)の省略された形になります。 また、このような不完全な式であるため、この条件式は、 「"」(ダブルクォート)で囲んで指定します。 (例えば、「">100"」のような形式です。)

それでは、「C6」で実際に使ってみましょう。
「C6」に「=countif(」と入力し、


「sample」シートで「K3」から「K9」をドラッグします。


その状態で「結果」タブをクリックして「結果」シートに戻ると、 以下のようになっていますので、


(「合格」という文字の個数を数えるために) そのままま続けて「;"=合格"」と入力し、 Enter キーを押します。 すると、合格者数の 4 が表示されます。






最後に、グラフも「結果」シートで表示されることにしましょう。
「sample」シートを表示させ、 先程作ったグラフをクリックし、 Ctrlキーを押しながら X キーを押して (もしくは、右クリックして「切り取り」を選択して) 切り取り、 「結果」シートに戻り、Ctrlキーを押しながら V キーを押して (もしくは、右クリックして「貼り付け」を選択して) 貼り付けます。
移動や大きさの変更を行ない、見やすいレイアウトにして下さい。


これで、「結果」のシートの完成です! 個々のデータには興味が無く、 全体的な結果のみが知りたいときには、 このシートだけを見れば(あるいは印刷すれば)、 すっきりとして見やすいですよね。

ところで、このシートは「sample」シートを参照することでできていますが、 もし、元データが変更されたら、どうなるのでしょう?
試しに、熊本太郎さんの社会の点数を68点から100点に変更したら、 どうなるか見てみましょう。





上図のように、全体の平均点が増え(417 → 421)、 熊本さんの合計点数が400点を越えたので、「合格」になっています。これにより、 合格者数が、 5 になりました。
この状態で、「結果」シートを表示すると、 以下のように、 上記の変化がグラフも含めて「結果」シートに反映されていることが分かります。


Copyright Ryuichi Matsuba and Kenichi Sugitani 2005, All Rights Reserved