熊本大学大学院教授システム学専攻
目次:
【第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