Top > Lecture > InfoPrac2004 > 7th > mid
AND OR

文字列関数で勝ち点を計算する

それでは、 まず「試合結果」のシートのデータをもとに、 「勝ち点」のシートに、 試合ごとの勝ち点を表示する表を作りましょう。

  1. ワークシートの見出しから、「勝ち点」をクリック

文字を取り出す

試合結果では、 勝ち・引き分け・負けは、「○」「△」「●」で あらわされています。

しかし、「試合結果」のシートでは、 「3○2」のように、得失点も同じセルに入力されています。 まず、 セルから「○」「△」「●」の文字を取り出しましょう

文字を取り出すには、いくつかの方法があります。 LEFT関数をRIGHT関数を組み合わせることもできますが、 ここでは、MID関数を使うことにします。

MID(文字列の指定した位置から指定した数の文字を返す)
  • 書式 : LEFT(文字列, 文字数)
  • 引数 : 文字列 :文字を取り出したい文字列やセル
  • 引数 : 開始位置 :取り出したい文字列の先頭文字からの位置
  • 引数 : 文字数 :取り出したい文字数
  • 例:C7セルの文字列の3文字目から2文字分の文字列を取り出す
    =MID(C7,3,2)
    

試合結果は「3○2」のようになっているので、 MID関数を使って、 「左から2文字目から1文字分取り出せ」ば、 記号を取り出すことができます。

では、次のようにして、関数の機能を試してみましょう。

  1. B2セルをクリック
  2. 数式バーの「関数の挿入」ボタンをクリック
  3. 利用する関数の選択
    • 「関数の分類」から「文字列操作」を選択
    • 「関数名」から「MID」を選択
    • 「OK」ボタンをクリック
  4. 引数の設定
    • 「文字列」の入力欄をクリックし、「試合結果」のシートの見出しをクリックした後、B2セルをクリック
      (自動的に「試合結果!B2」と入力される)
    • 「開始位置」の入力欄をクリックし、「2」と入力
    • 「文字数」の入力欄をクリックし、「1」と入力
    • 「OK」ボタンをクリック
      引数の選択

記号を取り出すことができましたか?

条件判断をする

記号を取り出しただけでは、勝ち点を計算することができません。 勝ち点は、次の表にしたがって計算されます。

勝敗勝ち引き分け負け
記号
点数3点1点0点

このように、記号にしたがって、表示する点数を変えるようにしましょう。

ある条件ごとに処理を変える、 「条件判断」をするには、 IF関数を使います。

IF(指定された条件(論理式)が合っているか(真)違っているか(偽)を判断し、真と偽のそれぞれの場合の結果を返す)
  • 書式 : IF(論理式, 真の場合, 偽の場合)
  • 引数 : 論理式 : 評価する条件(比較演算子を使う)
  • 引数 : 真の場合 : 論理式の結果が真(TRUE)の場合に返される値
  • 引数 : 偽の場合 : 論理式の結果が偽(FALSE)の場合に返される値
  • 例:D1セルの値が0なら"ゼロ"を、0でないなら"ゼロじゃない"と表示
    =IF(D1=0,"ゼロ","ゼロじゃない")
    

論理式には、次のような比較演算子を使います。 条件を正しい場合は「TRUE」(真)、 正しくない場合は「FALSE」(偽)と判断します。

演算子内容結果
=(等号)A=BAとBが等しい1=2FALSE
<>(不等号)A<>BAとBが等しくない3<>4TRUE
>(〜より大きい)A>BAがBより大きい5>6FALSE
<(〜より小さい)A<BAがBより小さい7<8TRUE
>=(〜以上)A>=BAがB以上である9>=10FALSE
<=(〜以上A<=BAがB以下である11<=11TRUE

MID関数とIF関数を使えば、 「試合結果から勝敗の記号を取り出し、 記号にあった勝ち点の数字を表示させる」 ことができます。

鹿島アントラーズの第1節の勝敗は、次のように考えられます。

B2セルから記号を取り出して、その記号が○ならば「3」を表示する

つまり、 B2セルの計算式は、次のようになります。 計算式のどの部分がIF関数の式で、どの部分がMID関数の部分かに注意して、 計算式を入力してください。

=IF(MID(試合結果!B2,2,1)="○",3)

関数をネストにする

このままでは、 勝ちの場合の勝ち点は表示できましたが、 引き分けや負けの場合の点を表示できません。

さっきの式、

=IF(MID(試合結果!B2,2,1)="○",3)

では、IF関数のなかで、MID関数を使っています。

このような関数の中で別の関数を使うことを、 「関数のネスト」といいます。

MID関数を使った「△」や「●」を取り出す部分を、 IF関数の中に追加してみましょう。

すると、鹿島アントラーズの第1節の勝敗は、次のように考えられます。 条件が偽の場合に、もうひとつIF関数を使うのがポイントです。

(条件)B2セルから取り出した記号が
 (条件が真)○ならば「3」を表示する
 (条件が偽)(追加条件)B2セルから取り出した記号が
        (条件が真)△ならば「1」を表示する
        (条件が偽)「0」を表示する

つまり、 B2セルの計算式は、次のようになります。 計算式のどの部分がどの関数の式なのかに注意してください。

=IF(MID(試合結果!B2,2,1)="○",3,IF(MID(試合結果!B2,2,1)="△",1,0))

計算ができたら、 計算式を他のセルにコピーしましょう。 第6回の内容を参考に、 「オートフィル」機能を使って、 B2〜P17セルに計算式を、コピーしましょう。

勝ち点の計算


次へ進んでください。


}}


Attach file: fileex06.png 338 download [Information] fileex08.png 359 download [Information]

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Tue, 11 Mar 2014 02:20:22 HADT (3757d)