2. 値・式と表示形式 

   2−1  セルの値と表示形式
   2−2  日付形式
   2−3  式と関数
   2−4  「1−1」を入力する


2−1  セルの値と表示形式

Excelファイルの1枚のシートには、256列×65,536行で、約1,677万個のマス目、 すなわちセルがあります。セルに様々な値を入力し、その値を計算したり、加工したり、 レイアウトして印刷したりするのが Excel の使用目的です。
セルには様々なデータを格納することができますが、大別すると「数値」と「文字列」に 分けられます。
セルは、データの値自体だけでなく、「表示形式」という情報も持ちます。
例えばセルが 0.25 という値を持つ場合も、様々な表示形式があり得ます。
0.25




小数 0.25
パーセンテージ 25%
指数 2.50E-1
小数1位固定 0.3
分数 1/4
文字列 0.25

このうち小数、%、指数形式 については、空のセルに入力する場合は、見た通りの形で入力すれば、まず自動的に その表示形式となります。例えば、空セルに「25%」と入力すれば、表示形式=「パーセント」、 値= 0.25 となります。
ところが「固定桁小数」や「分数」は、入力時に指定することができません。 空のセルに「1/4」と入力すると、後述する「日付型」と解釈されてしまい、「1月4日」 と表示されてしまいます。
「文字列」という表示形式は、データを「数量」としてでなく「文字としての数字の列」 として格納することを明言する、ということです。
また、すでに一度「標準」以外の表示形式に設定されたセルにあとから単なる数値を入力すると、 直前の設定が活きます。例えば「指数」形式となっているセルに「0.25」と入力しても、 「2.50E-1」などと表示されます。
セルの表示形式を「固定桁小数」「分数」「文字列」など必要な形式に設定するには、 あるいは表示形式を「標準」に戻すには、
  [書式(O)]-[セル(E)...]-[表示形式]タブの「分類」
で変更します。
   ※ クリックで拡大されます 


2−2  日付形式

セルの表示形式には、日付型・時刻型という特殊な形式もあります。
下図のセルB2には、日付型の値「2006年1月1日」が格納されています。 シート上では「1月1日」、数式バーの中では「2006/1/1」と表示されています。

  

セルに「1/1」「1月1日」「2006/1/1」「2006年1月1日」などと入力すると、 Excelはそれを「日付である」と見做します。また、セルに「2:57:07」「2時57分7秒」などと 入力すると、Excelはそれを「時刻である」と見做します。

日付型・時刻型のデータは、実は数値の一種です。 日付=整数、時刻=小数、合わせて整数+小数の値として格納されています。
例えば「2006年1月1日」は、38,718 という値になります。これは、 「1900年1月1日= 1 としてそこから何日経ったか」示す値です。
例えば「2時57分07秒」は、0.123 という値になります。これは、「午前0時から何秒経ったか」 示す値です。1日は86,400秒なので、「1秒」= 1/86,400 ≒ 0.000011574となります。 こういう定義にしておくと、

   2006年1月1日  38,718
 +)       5日      5 
   2006年1月7日  38,723

   2006年1月1日23時59分59秒  38,718.999988426
 +)               1秒       0.000011574 
   2006年1月2日00時00分00秒  38,719.000000000
のように、日時の経過などを数値計算できるからです。 これを、日付・時刻の「シリアル値」といいます。

日時を意味するシリアル値は、様々な形式で表示することが可能です。
 (変更は [書式(O)]-[セル(E)...]-[表示形式]タブの「分類」 で)
シリアル値 38,719.999976852



yyyy/m/d h:mm:ss 2006/1/2 23:59:58
yyyy/m/d 2006/1/2
yyyy/mm/dd 2006/01/02
d-mmm-yy 2-Jan-06
[$-411]ge.m.d H18.1.2
yyyy"年"m"月"d"日" 2006年1月2日
[$-411]ggge"年"m"月"d"日" 平成18年1月2日
h:mm:ss AM/PM 11:59:58 PM
h"時"mm"分"ss"秒" 23時59分58秒



2−3  式と関数

セルは値を格納する場所であり、計算式における変数の役目も果たします。
セルには、単なる値(数値または文字列)だけでなく、演算式を入力することができます。 '=' で始まる入力は、式と見做されます。
式には、次の要素があります。

・定数
  変化しない値を式の中で直接記述します。
  定数には、数値と文字列定数があります。
  文字列定数は " " で囲みます。

・セル参照
  あるExcelファイルの、あるシートの、あるセルを指し示します。
  数式における変数にあたるものです。

 同一シートの場合 …… B2  AB105  など
 同一ファイル内の別シートのセル …… 'Sheet5'!B2 など
 別ファイルのセル …… 'D:\[File4.xls]Sheet5'!$B$2 など
  セルの中に値が入っていれば、セル参照は、式の中でその値
  として計算されます。そして、参照元のセルの値が変わると、そ
  のセルへの参照を含む式の演算結果も瞬時に変化します。
  (自動再計算。設定により抑制することもできます)

・関数
  関数は、単一のセルやセル範囲などを引数にとり、所定の演算
  結果を返します。
  Excel は膨大な数の「ワークシート関数」を持っていて、式の中
  で使うことができます。以下は、関数の例です。

  SIN(),COS(),TAN() 三角関数 SQRT() 平方根
  SUM() 合計 AVERAGE() 平均 MAX(),MIN() 最大,最小
  ROUND() 四捨五入 COUNT() セルの個数
  LEN() 文字数 LEFT(),MID(),RIGHT() 部分文字列
  NOW() 現在の日付と時刻
  本ページでは、教員の成績処理に必要なものを中心に紹介して
  ゆきます。

・演算子
  定数、セル参照、関数を連結し、その値を計算します。

  +−*/  … 加,減,乗,除
  %      …… パーセント(例)25% → 0.25 と同値です。
  ^      …… べき乗  (例)3^2 → 3の2乗です。

  文字列用の演算子もあります。

  & … 文字の連結 (例)"雑" & "魚" → "雑魚"と同値。

  真 TRUE/偽 FALSE を返す論理演算子もあります。

 ○ = ●  …… ○と●が等しければ真(等しくなければ偽)
 ○ <> ● …… ○と●が等しくなければ真(等しければ偽)
 ○ > ●  …… ○が●より大きければ真(●以下ならば偽)
 ○ >= ● …… ○が●以上なら真(小さければ偽)
 ○ < ●  …… ○が●より小さければ真(●以上なら偽)
 ○ <= ● …… ○が●以下なら真(大きければ偽)
  真偽が値として評価される場合、真 TRUE= 1、偽 FALSE= 0
  と見做されます。

式の例をいくつか紹介します。
A1 に 5、B1 に 3、C1 に 10 という値が入力されているとします。

 =A1 + B1         → 5+3、つまり 8 を返します。
 =(A1+C1)/3       → (5+10)÷3、つまり 5 を返します。 
 =B1^4            → 3 の4乗、つまり 81 を返します。 
 =SUM(A1:C1)      → 合計 18 を返します。
 =AVERAGE(A1:C1)  → 平均 6 を返します。
 =SUM(A1:C1)*2    → 合計×2、つまり 36 を返します。
 =(A1=5)          → 真なので TRUE を返します。

 =A1&B1           → "53" を返します。
 =A1&"年"&B1&"組" → "5年3組" を返します。


2−4  「1−1」を入力する

学年・クラスを 1−1、1−2、……などと表現することも多いことと思います。 ところが、クラスごとの成績を管理するのに、Excel のシート上に「1−1」を表示 するのは意外と厄介です。多くの人が、セルに「1−1」と入力したら「1月1日」と 表示されてしまって驚いた経験をお持ちでしょう。これは、Excel は「1−1」という入力も 「日付である」と解釈し、日付形式の値としてセルに格納するためです。
セルに「1−1」と表示するためには、いくつかの方法があります。

(1)「'1−1」と入力する
「'」を頭に付けて入力すると、続く文字列を変換せずそのまま表示します。 セル参照では「'」を除いた「1−1」という値(文字列)を格納しているものと見做され、 シート上には「'」を除いた文字列が表示されます。ただし、数式バーには「'」 付きで表示されます。

(2)「="1−1"」と入力する
文字列式を入力したということです。このセルを参照すれば、式の演算結果としての 「1−1」という値(文字列)を持っていると見做されます。

(3)セルの表示形式を「文字列」にする
表示形式を「文字列」に設定したセルでは、入力されたものを、ともかく文字列としてそのまま 格納します。「1−1」と打てば、「1−1」が入ります。
難点は、一度その設定をしてしまうと、そのセルではそれ以降、%付き、日付形式、'=' で始まる数式などを入力しても「そういう文字列を入力したのだ」と解釈してそのまま格納してしまい、 値に変換したり演算結果を返してくれたりはしないことです。 (セル参照しても、当然入力したままの文字列として評価されます)

  
       <「'」 付きで入力した場合 >

セルに2バイト文字の数字「」を表示したい時、「=SUM(A1:B1)」 といった 「」 で始まる文字列をそのまま画面表示したい時なども、 同様の処理をすればOKです。