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

演習問題

【本節の目的】
演習問題を解くことで、スプレッドシートの使い方を自分のものにする。

別ファイルのシートを挿入


[演習 28]
ここをクリックして本節用 calc ファイルをダウンロードし、 「sample.sxc」で保存した後、 これまで作成してきた「ex3.sxc」中に、 sample.sxc中の2つのシートを以下の指示に従って追加しなさい。 上書き保存も忘れずに行なえ。

別のcalcファイル中のシートを、 自分の作っているファイル中に挿入することができます。 手順は、前章で行ったシートの挿入と同様に、 「シート見出しタグ」を右クリックして、「表の挿入」を選び、 現われたダイアログで「OK」をクリックすることで行なうことができます。

それでは、「結果」シートの次に、 ダウンロードしたファイルのシートを追加してみましょう。
「結果」シート見出しタブをクリックし、「結果」シートを表示した後、 同タブを右クリックして「表の挿入」を選択して下さい。



現われたダイアログで、 「表示中の表の後に(A)」と「ファイルから作成(F)」をチェックした後、 「検索」ボタンを押し、 先程ダウンロードした sample.sxc を選択して「挿入」ボタンをクリックします。






、

表示された sample.sxcファイル中にあるシートのタイトル中で、 必要なシートを選びます。
今回は、すべてのシートを利用しますので、 2つのシート名を Shift キーを押しながらクリックして選択し「OK」ボタンをクリックします。







これで、「結果」と言う新しいシートの次に、 「出欠テスト」と「評価」のシートが追加(挿入)されました。

応用演習


[演習 29]
以下の指示に従い「ex3.sxc」中の、 演習28で追加した2つのシート(「出欠テスト」シートと「評価」シート)を完成させなさい。 (決して、文字や数値を直接書きこんではいけない!) 上書き保存も忘れずに行ないなさい。
(この演習には、解答がついていないので、自分で式を考えて行いなさい。)

「出欠テスト」シートには、あるクラスの日々の出欠(6回分)と、 3回のテストの結果が入力されています。出席は「1」で、 欠席は「0」で表わされています。また、テストは 100点満点です。

合否や追加点は以下のような条件になっています。

  (1) 講義回数の2/3以上出席しないと合格できない。
  (2) 試験は、全回90点以上取れないと合格できない。(満点は100点)
  (3) 出席回数が講義回数の2/3より多い場合は、2/3回より多く出席した回数に応じて評価に追加点を与える。
       講義回数をN回、講義回数の2/3回をM回、出席回数をL回とすると、加点は次式で表わす。
           10 * (L - M) / (N - M)                [追加点の最高は、10点]
  (4) 試験の点数の合計が合格点の合計より多い場合は、点数に応じて評価に追加点を与える。
       満点の合計点を I 点、合格点の合計を J 点、得点合計を K 点とすると、加点は次式で表わす。
           30 * (K - J) / (I - J)                [追加点の最高は、30点]



出欠の列(カラム)については、以下を式で入力して下さい。

  • 「回数」:出席回数 (countif関数を利用)
  • 「合否」:上記の出席回数の条件による合否。合格であれば「合格」、そうでなければ「落第」を表示。(if関数を利用)
  • 「加点」:上記の条件に示す式による点数
  • 「講義回数」:全講義回数 (count関数を利用)
  • 「2/3回数」:全講義回数の2/3回 (出席に関する合格ライン)
   (注意) 「加点」の式では、必ず「2/3回数」の値の入っているセルを参照すること。

試験の列(カラム)については、以下を式で入力して下さい。

  • 「Aok」:試験Aが合格かどうか。合格なら「1」、そうでなければ「0」を表示。 (if関数を利用)
  • 「Bok」、「Cok」:「Aok」と同様。
  • 「合格回数」:3回の試験のうち何回合格点に達したか。(countifを利用)
  • 「合否」:上記の試験合格条件による合否。合格であれば「合格」、そうでなければ「落第」を表示。(if関数を利用)
  • 「加点」:上記の条件に示す式による点数
   (注意) 「加点」の式では、必ず「合格点」の値の入っているセルを参照すること。

これらを式で入力した結果は、だいたい以下のようになります。 ただし、下図ではわざと一部間違った表示にしていますので、 このとおりになったら式が間違っています。


次に、「評価」のシートに式を入力します。


  • 「番号」欄は、「出欠テスト」シートの番号欄をそのまま表示して下さい。
  • 「氏名」欄は、姓と名を1文字 (半角空白) 分あけて表示してください。 (このページの最後付近にある、文字列結合演算子"&"の利用方法を参照)
  • 「成績」欄は、以下のようにしてください。
  •   (このページの最後付近にある、"論理演算 "AND"の利用方法を参照)
    • 出席回数が講義回数の2/3以上で、かつ、試験がすべて合格点であれば、以下の点数を表示。
            60 + 出席の加点(最高10) + 試験の加点(最高30)
    • そうでなければ、「不可」を表示

これらを式で入力した結果は、だいたい以下のようになります。 ただし、下図ではわざと一部間違った表示にしていますので、 このとおりになったら式が間違っています。



(註1) 文字列結合演算子 "&"の利用方法
   文字列(文字の並び)を連結したいときは、"&"演算子を用います。
例えば、 "999q9999"と"@"と"st.kumamoto-u.ac.jp"の3つの文字列を連結させるには、
"999q9999" & "@" & "st.kumamoto-u.ac.jp"
とします。これで、以下のように連結され、一つの文字列になります。
"999q9999@st.kumamoto-u.ac.jp"

2つの文字列を連結させるとき、その間に空白を入れたいときは、 空白文字である" " (ダブルクオートの間に空白があります)を連結します。
例えば、"熊本大学"と"文学部"を連結するとき、 大学名と学部名の間に、空白を入れたいときは、以下のようにすればうまくいきます。
"熊本大学" & " " & "文学部"   →   "熊本大学 文学部"

単に、"熊本大学"と"文学部"を連結したたけでは、以下のように直接連結してしまいます。

"熊本大学" & "文学部"   →   "熊本大学文学部"



(註2) 論理演算 "AND"の利用方法
   条件が一つではなく複数ある場合、それらの条件の組み合わせにはいろいろあります。
以下の2つの例を見比べて下さい。
  1. 雨が降って、かつ、寒いならば、 レインコートを着る。
  2. 雨が降るか、もしくは、寒いならば、 レインコートを着る。
「雨が降る」ことと「寒い」ことの2つが条件が元になっていますが、 前者は、 それらが「どちらとも満たされている(成り立っている)」 という組み合わせが最終的な条件になっていますし、 後者は、 それらが「どちらか一方が満たされている(成り立っている)」 という組み合わせが最終的な条件になっています。
  前者のように「かつ」で表わされる条件の組み合わせを、 一般に「AND(演算)」と呼び、 後者のように「もしくは」で表わされる条件の組み合わせを、 一般に「OR(演算)」と呼びます。
   StarSuiteCalcでは、それらの演算も関数として定義されています。
例えば、「セルA1が"雨"で、かつ、 セルB1が"寒い"」という条件は、以下のように書きます。
AND(A1="雨";A2="寒い")
同様に、「セルA1が"雨"か、もしくは、 セルB1が"寒い"」という条件は、以下のように書きます。
OR(A1="雨";A2="寒い")
それでは、「セルA1が"雨"で、かつ、 セルB1が"寒い"ければ、"レインコート"を表示し、そうでなければ、 "とくに無し"と表示する」ときは、どうすれば良いでしょうか? これは、IF関数とAND関数を組み合わせることで、以下のようにして実現できますね。
=IF(AND(A1="雨";A2="寒い");"レインコート";"とくに無し")
先頭の「=」は、計算式を表わす記号でしたね。
AND関数やOR関数を単独で利用するときにも、 同様に先頭に「=」が必要です(例: =AND(A1="雨";A2="寒い"))。 ただし、この場合、条件が成り立っていれば「TRUE」が、 成り立っていなければ「FALSE」が表示されます。
Copyright Ryuichi Matsuba and Kenichi Sugitani 2005, All Rights Reserved