odake's web page  >>  パソコンで楽しむ  >>  パソコンで「困った!!」の助け舟INDEX | 生年月日から満年齢を表示したい

パソコンで「困った!!」の助け舟 Excel

生年月日から満年齢を表示したい

Excelが取り扱う日付のデーターは、シリアル値で管理されています。本日現在の満年齢は今日のシリアル値から生年月日のシリアル値を引けば計算できます。

Excelのシリアル値

シリアル(serial)とは「連続した、順を追う,直列」といった意味があり、Windowsの場合Excelのシリアル値は、1900年1月1日(基準日という)を「1」とし日ごとに「1」増加する整数の連番で管理されています。
時刻は1日を24で割った1/24=0.0416666・・・を1時間とした少数で計算します。分・秒も同様です。

セルの中に日付データーを入力するときは、直接シリアル値を入力するのは大変ですから。例えば2018年7月15日の場合は、セルに半角の英数字で「2018/7/15」と入力します。セルにも上の数式バーにも「2018/7/15」と表示されていますが、セルの表示形式がこのように設定されているためです。規定値では[セルの書式設定]の[表示形式]タブの[分類]に「日付」、[種類]に[*2012/3/14]が選択されています。

試みにこの[表示形式]タブの[分類]を[標準]に変えてみると、セルと数式バーには「43296」と表示されます。これがシリアル値で、「1900年1月1日から43296日目」ということです。逆に「43296」とセルに入力して、表示形式の分類を標準にすると表示は「2018/7/15」となります。
Excel 2011 では、[ホーム]タグの[数値]グループ[数値の書式](空白のセルがアクティブの時[標準]と表示されている)リストボックスのボタン(▼)をクリックしても表示形式を変更できる。

Excelでは「/」(スラッシュ)で区切った「2018/7/15」と入力すると、日付と判断してセルの表示は表示形式で設定してある形式で表示し、内部ではシリアル値で計算しています。年月日の区切りは「-」(ハイフォン)でも日付と判断するようです。
時刻の区切りは「:」(コロン)で区切ります。(例:2018/7/15 15:23:16 シリアル値は 43296.6411574074)

Excelの表示形式

Excelではセルごとに入力されてある値に見合った表示形式で表示されますが、値の表示形式を指定することも出来ます。

表示形式を設定するセルを選択して、次のいずれかの手順で[セルの書式設定][表示形式]を開きます。

  1. 右クリックして出るコンテキストメニューの[セルの書式設定][表示形式]
  2. [ホーム][セル][書式][セルの書式設定][表示形式]
  3. ショートカットキーでCTRL1(テンキーでない数字キー)

[ホーム][数値][数値の書式]でも表示形式を設定できます。

「2018/7/15」と入力されたセルの場合は、表示形式の[分類]は[日付]です。[種類]にある希望する表示をクリックすると、[サンプル]に入力された値の表示形式が表示されます。
[種類]で[2012年3月14日]を選択して[OK]ボタンをクリックすれば、セルに「2018年7月15日」と表示されます。

この[種類]では満年齢の年数を表示することは出来ず、[分類]の[ユーザー定義]を使うことになります。


満年齢の計算

例えば右図のような家族名簿のブックで。C列に満年齢を表示させることを考えます。

まず今日のシリアル値を用意します。

  1. 何も入力されていないセル[A1]を選択して(アクティブにする)、数式バーの[関数の挿入]アイコン(ƒx)をクリックする。
  2. [関数の挿入]ダイアログボックスで[関数の分類]リストボックスで、[日付/時刻]を選ぶ。
  3. [関数名]の[TODAY]を選択して[OK]ボタンをクリック。
  4. 「この関数には引数は必要ない」と説明があるので[OK]ボタンをクリック。

セルA1には本日の日付が表示されています。
今日現在の満年齢ではなく特定の日の満年齢を計算するには、その特定の日のシリアル値(yyyy/mm/dd)をセルA1に入力します。

次は満年齢を計算します。

  1. セル[C2]をクリックしてアクティブにする。
  2. 半角で[=]を入力し、セル[A1]をクリック。
  3. 続いて半角で[-]を入力し、セル[B2]をクリック。
  4. [Enter]キーを押す。

セルC2には2つのシリアル値の差が表示され、数式バーには[=A1-B2]と表示されているはずです。数式バーの[A1]をクリックしカーソルを入れ、F4キーを1回押します。

[$A$1]と表示が変わります。絶対参照になり他のセルにコピー貼り付けをしてもセル番地が変わりません。F4キーを何回も押すと、[A$1][$A1][A1]と変化します。
絶対参照にするのは、セルC2に入力した数式を範囲C3:C9へコピー貼り付けするためです。セルごとに数式を入力する場合は[$]を付けない相対参照で差支えありません。

セル[C2]をオートフィルでセル[C9]までコピー貼り付けします。右図(下)のようにC列にセルA1の今日(2018/7/22)とB列のシリアル値の差が表示されています。

表示形式を満年齢にするため次の操作をします。

  1. 範囲C2:C9を選択する。
    複数のセルを指すときは「範囲」といい、最初と最後のセルの間に半角のコロン[:]を入れ表示するのが常です。
  2. [ホーム][セル][書式]をクリックしてコンテキストメニューで[セルの書式設定]をクリック。
  3. [セルの書式設定]ダイアログボックスの[表示形式]で、[分類]の[ユーザー定義]を選択。
  4. 右の[種類]で下にスクロールして、[yy]を選択して[OK]ボタンをクリック。もし[yy]がない場合は、[種類]のテキストボックスに[yy]と入力する。

以上でC列に2桁の満年齢が表示されます。

おまけ:生年月日を和暦で表示

B列の「生年月日が西暦ではわかり難い」というときは、和暦で元号・年・月・日を表示できます。

  1. 範囲B2:B9 を選択。
  2. [ホーム][セル][書式]をクリックしてコンテキストメニューで[セルの書式設定]をクリック。
  3. [セルの書式設定]ダイアログボックスの[表示形式]で、[分類]の[ユーザー定義]を選択。
  4. 右の[種類]で下にスクロールして、[ggge"年"m"月"d"日"]を選択して[OK]ボタンをクリックし[OK]ボタンをクリック。

全角文字が表示されても内容はシリアル値(数値)ですから、セル内で右寄せになっています。左寄せにするには、範囲を選択して[ホーム][配置][左揃え]をクリックします。

参考Webページ

市民パソコン教室 Excel シリアル値とは?
エクセルの学校 シリアル値
よねさんのWordとExcelの小部屋 Excel(エクセル)基本講座:日付の表示形式


first upload:2018-7-22   御連絡はメールでお願いします。(質問に答えるページではありません。)