当サイトはWordとExcelの実力を鍛える最高水準の特訓問題集です。リンクを張るのは自由です。Excel「シリアル値とは~~ということで5桁の数字が出てきたら日付に変換しましょうね~」「ふ~ん」Excelで日付を入力することが多く、ネット上にも日付の説明をしているサイトがたくさんあります。Excelで日付を説明するには「シリアル値」の概念が欠かせませんが、ほとんどのサイトがシリアル値の簡単な説明で終わっていて、シリアル値のことを知ってても知らなくてもいいといったあいまいな説明をしているものまであります。Excelで日付が使えるようになるには、Excelにたくさんの日付を入力して、「なぜExcelがこのような動きをするのか」を真剣に考えることが大事です。そこで、日付のことがよく分かっていない人が、どのような練習をすればシリアル値を理解することができるのか徹底的に解説したいと思います。目次1.日付入力の基本練習(1)Excelが自動的に日付と判断する(2)月日を入力すると自動的に年が補完される(3)年をまたぐ時は注意せよ(4)オートフィルをしたときは翌年になる(5)いろいろなオートフィル2.「2020/1/25」と「43855」は同じ(1)シリアル値と日付の表示は切り替えができる(2)日付を入力するとシリアル値が保存される3.シリアル値を用いて説明せよ4.同じ月日なのにシリアル値が違う5.シリアル値か文字列か(1)日付と判定される形式(2)文字列として入力した日付6.年・月・日を非表示にする7.日付文字列をシリアル値にする(1)日付文字列に1を掛ける(2)月・日を分けて入力した場合(3)年・月・日を分けて入力した場合8.和暦の年月日を連結してシリアル値にする9.ユーザー定義の書式設定(1)ユーザー定義(2)セルの表示と保存されている値が異なることがある10.曜日を直接入力してはいけない11.年と月が変われば曜日も自動的に変わる1.日付入力の基本練習(1)Excelが自動的に日付と判断する問題Excelに「1日」「1月1日」と入力してオートフィルをしなさい。解説1行目に「1日」「1月1日」と入力します。これらをそれぞれオートフィルします。32行目以降を比較します。A列のほうは32日、33日、・・・となっているのに対して、B列のほうは2月1日、2月2日、・・・となっています。Excelでは原則として数字と文字列が混ざっている場合、連続データとして扱いますから、32日、33日、・・・となります。日付とみなせる文字列を入力した時は、自動的に日付と解釈して1月32日、1月33日ではなく、2月1日、2月2日、・・・となります。この時、自動的に日付の表示形式になります。半角で「1/1」や「1-1」と入力すると「1月1日」も変換されます。Excelが自動的に日付を入力したものと判断して変換します。日付をオートフィルすると1日ずつ増えますが、単なるコピーをするには「セルのコピー」にします。「2月1日」と入力してオートフィルをしなさい。解説1行目に「2月1日」と入力します。これをオートフィルします。この画面では、2月28日の次が3月1日になっています。これは入力した年がうるう年でなかったためです。数式バーには「2019/2/28」と表示されています。2020年のようにうるう年で同じ操作をすると2月29日まで表示されます。数式バーには「2020/2/29」と表示されています。「2月1日」のように月と日だけを入力した場合、入力した時点の年が補完されます。さきほどの設問で「1日」と入力しましたが、日付と解釈されませんでした。日にちだけ入力しても、年と月は補完されません。年度末(3月末)の日付を入力しなさい。年度末は3月31日です。月と日だけを入力すると、入力した年が補完されますから、必ず数式バーを確認します。Excelを12月に使っていて、翌年3月の年度末のつもりで「3月31日」と入力しても、それは同じ年の3月31日なので年度末ではありません。逆に、Excelを1月に使っていて、先月のつもりで「12月31日」と入力しても、それは先月ではなく、同じ年の年末となります。年をまたいで日付を入力するには、年を省略せずに入力しなければなりません。月日だけを入力した場合は必ず数式バーで確認するようにします。「12月30日」と入力してオートフィルをしなさい。解説1行目に「12月30日」と入力します。これをオートフィルします。12月31日の次が、1月1日となりますが、この1月1日は翌年の日付になります。月と日だけを入力したセルは、自動的に入力した年が補完されますが、オートフィルによって年をまたいだ場合は翌年になります(詳しくは後述)。次のように入力しなさい。解説12月21日の次に12月24日と入力します。この2つのセルを選択してオートフィルをすると3日ずつ加算されます。これを繰り返すと翌年の日付になります。1月5日の次に1月4日と入力します。この2つのセルを選択してオートフィルをすると1日ずつさかのぼっていき、前年の日付になります。1月1日の次に2月1日と入力します。この2つのセルを選択してオートフィルをすると1か月ずつ増えていきます。「43855」と入力して、表示形式をyyyy/m/dの日付の形式にしなさい。「43855」と入力します。これは単なる数値です。数式バーも43855です。これを日付の表示形式(短い日付形式)にします。「2020/1/25」となります。数式バーも2020/1/25です。Excelは1900年1月1日を基準として日付を管理しています。Excelで数値を入力して、日付の表示形式にすると1900年1月1日を1日目とする日付に変換されます。これを「シリアル値」といいます。1900年1月1日を1日目とすると、2020年1月25日は43855日目にあたります。2020年1月25日のシリアル値は43855です。シリアル値と言えば特別な数のように聞こえますが、単なる整数です。日付の表示形式が設定されているセルに1と入力すると、1900年1月1日となります。表示形式が日付となっているセルに、数値を入力しても日付の形式になります。日付の表示形式を取り消すには、表示形式を「標準」にします。日付の表示形式を標準にすると5桁の数値になります。「2020/1/25」と入力してオートフィルしなさい。表示形式を標準にしなさい。「2020/1/25」と入力してオートフィルをします。年月日を「yyyy/m/d」の形式で入力すると、自動的に日付と判断され、表示形式が日付となります。ところで、Excelのセルは、データと書式の2つの情報が保存されています(詳しくは、【Excel】セルにはデータと書式の2つの情報が別々に保存されている)。日付を入力すると、データとしてシリアル値が保存されます。2020/1/25と入力するとセルには43855が保存されます。セルにも数式バーにも「2020/1/25」と表示されます。それはセルの表示形式やWindowsの設定によって「yyyy/m/d」の形式で表示するきまりになっているからです。Excelに「2020/1/25」と入力するのと「43855」と入力するのは、保存されるデータは全く同じです。書式(表示形式)によってセルの表示を切り替えているだけです。表示形式を標準にすると連番になります。3.シリアル値を用いて説明せよ問題オートフィルをしたときに「3月31日」の次が「4月1日」となる理由を述べなさい。「12月31日」の次が、翌年の「1月1日」となる理由を述べなさい。解説3月31日という情報だけでは西暦何年かが分からないので、1900年1月1日からの経過日数(シリアル値)を計算することができません。そこで、Excelで月と日だけを入力した場合、入力した時点の年を補完します。これによって、シリアル値を計算することができ、セルにシリアル値が保存されます。オートフィルをすると、そのシリアル値に1が加算されるため、翌日の日付が表示されます。4月1日になるのは1900年1月1日からの経過日数に1を足しているからです。Excelで「1月1日」と入力しても翌年の日付にはなりません。入力した時点の年が補完されるからです。12月31日を入力したあとで、オートフィルをするとシリアル値に1が加算されるので翌年の日付になります。日付を入力するときには、1900年1月1日からの経過日数を入力していることを意識します。「2月28日」と入力してオートフィルをしたとき、次の日付は何月何日になるか。Excelで入力しているのが2020年の場合、2020年2月28日とみなされます。このセルにはシリアル値43889が保存されます。オートフィルをするとシリアル値が加算されます。うるう年なのでその翌日は2月29日です。シリアル値は43890です。2021年に入力した場合、2021年2月28日とみなされます。このセルにはシリアル値44255が保存されます。うるう年ではないのでその翌日は3月1日です。シリアル値は44256です。このように、画面上、同じ日付が表示されているように見えても、保存されているシリアル値が異なることがありますので注意しなければなりません。「43855」「20200125」「2020年の1月25日」「平成10年10月10日」と入力して、表示形式をyyyy/m/dの日付の形式にしなさい。表示形式を和暦の日付にしなさい。「43855」の表示形式を日付にすると「2020/1/25」となります。43855日目にあたる日付が表示されます。「20200125」の表示形式を日付にするとエラーとなり、大きすぎる日付は####となります。1900年1月1日を1日目とすると20200125日目は西暦57207年となりExcelの計算の限界である9999年を超えてしまいます。8桁の数値はシリアル値ではなく、日付でもありません。「2020年1月25日」「2020-1-25」「2020/01/25」など決まった形式で入力すれば、Excelが日付であると認識して自動的にシリアル値が保存されますが、それ以外の形式の場合、単なる文字列として認識されシリアル値にはなりません。したがって、日付の表示形式にしても「2020/1/25」にはなりません。和暦の日付を入力すると右揃えになります。和暦の日付を入力してもシリアル値が保存されます。シリアル値として保存される場合、入力した時に右揃えになります。セルの表示は和暦ですが、数式バーは西暦です。セルに保存されている値はシリアル値です。今度は、セルの書式設定で、和暦の表示形式にします。【Excel】表示形式はセルの書式設定なのでセルの値は変わらない(表示形式の基本)https://www.waenavi.com/entry/20181217/1545056407シリアル値が保存されていれば和暦の日付も計算されますが、単なる文字列の場合、和暦にはなりません。このようにセルに入力されているデータがシリアル値か、単なる文字列かによってExcelの動作が異なりますので、注意が必要です。文字列にして「1/25」と入力してから、表示形式を標準にするとシリアル値として保存されるか。表示形式が標準の場合、「1/25」と入力すると入力した年が補完され、日付の表示形式になります。このセルにはシリアル値が保存されています。今度は、表示形式を文字列にします。「1/25」と入力しても入力した年は補完されません。表示形式を標準にしても入力した年が補完されず、日付の表示形式にもなりません。文字列として入力したものはシリアル値ではありません。そのあとで表示形式を標準にしてもシリアル値にはなりません。ダブルクリックして、確定すると日付として認識されます。6.年・月・日を非表示にする問題(1)「2020年4月10日」と入力して「yyyy年m月」の表示形式にしなさい。「m/d」の表示形式にしなさい。(2)「西暦2020年4月1日」と入力して「m/d」の表示形式にすることはできるか。「2020年4月10日」と入力すると右揃えになり、数式バーに2020/4/10と表示されます。これは日付として認識されたことを意味しています。セルの書式設定によって、表示形式を「yyyy年m月」にします。このように表示形式によって日にちの部分を消すことができますが、数式バーには残っています。これはセルにシリアル値が保存されているからです。次に、セルの書式設定によって、表示形式を「m/d」にします。表示形式で年の部分を消すことができますが、数式バーには残っています。このように表示の形式をいろいろと変えられるのは、入力されているデータがシリアル値だからです。「西暦2020年4月1日」と入力しても右揃えにはなりません。西暦を付けてしまうと文字列として認識されるためシリアル値にはなりません。シリアル値ではないので、表示形式を変えてもセルの表示は変わりません。「="1/25"」という数式を入力した場合の計算結果はシリアル値と言えるか。シリアル値に変換して「yyyy年m月」の表示形式にしなさい。数式として「=1/25」と入力すると割り算になってしまい、計算結果は0.04となります。これは1月25日とは無関係です。そこで、ダブルクォーテーションで囲みます。計算式でダブルクォーテーションで囲んだものは文字列として扱われます。文字列として入力されたものはシリアル値ではありません。したがって、この状態で表示形式を変えても、セルの表示は変わりません。文字列として入力された日付をシリアル値にするには、足し算・引き算・掛け算・割り算の四則演算が必要です。簡単な方法は1を掛けることです。1を掛けると5桁の数になります。年が省略されている場合は現時点での年を補ったうえでシリアル値を計算します。これは数式なので再計算されます。年が変わったら補完される年も変わりシリアル値も変わります。これはシリアル値なので「yyyy年m月」の表示形式にすることができます。先頭にマイナスを2つ付ける方法もあります。マイナスのマイナスで、プラスになります。他にも0を足すとか、0を引くとかいろいろありますが、要するに四則演算があればよいです。月・日を分けて入力した日付はシリアル値と言えるか。シリアル値にして「yyyy年m月」の表示形式にしなさい。人間がこの表を見ると1月25日を表していることは分かりますが、Excelは2つの数字が並んでいるだけにしか見えません。月・日を分けて入力した場合、日付として認識されません。そこで、スラッシュを入れて連結します。「=A2&"/"&B2」と入力します。【Excel】文字列結合、スペース・改行・ダブルクォーテーションの連結https://www.waenavi.com/entry/20181220/1545255604連結しただけの文字列は「文字列」です。文字列はシリアル値ではありません。1を掛けると5桁の数になります。年が省略されている場合は現時点での年を補ったうえでシリアル値を計算します。これは数式なので再計算されます。年が変わったら補完される年も変わりシリアル値も変わります。「yyyy年m月」の表示形式にすることもできます。別解Excelで日付として認識される文字列はスラッシュだけではありません。ハイフンでもよいです。この場合も単に連結しただけではシリアル値になりませんので、1を掛けます。問題1~10の数値を和暦にすることは可能か。年・月・日を用いてシリアル値を求め、和暦の日付の表示にしなさい。日にちとして1~10の数値を入力したとします。これを和暦に変換すると明治33年になります。西暦1900年のことです。表示形式を標準に戻します。そこで、スラッシュを入れて連結します。年と月は絶対参照です。連結しただけの文字列は「文字列」であり、シリアル値ではありません。文字列のままでは和暦になりません。1を掛けるとシリアル値になります。和暦の表示形式にすることも可能です。次の各設問について、平成25年2月5日のシリアル値を求め、西暦の日付にしなさい。(1)和暦年2桁・月・日を入力した(2)元号をT・S・H・Rで入力し、和暦年2桁と月を入力した(3)元号を漢字で入力し、和暦年2桁・月・日を入力した解説2桁の年の場合、西暦の下2桁なのか和暦の2桁なのかが分かりません。先頭に「H」を連結します。1を掛けてシリアル値にします。イコールで参照します。西暦の日付にすることもできます。元号をセルに入力した場合はそれを参照します。日にちが無ければシリアル値を計算できないので、「/5」とします。1を掛けてシリアル値にします。これで昭和でも令和でも計算できます。元号が漢字の場合、「ggge年m月d日」の形式にします。「2023/2/25」にセルA3~A13の表示形式を設定するとどのような表示になるか。解説セルA1を絶対参照で参照します。表示形式を標準にするとシリアル値になります。セルに保存されている値が44982であることが分かります。表示形式をユーザー定義にして、「yyyy」にすると2023だけになります。2023/2/23の年の部分だけを取り出したものですが、月日の情報が消えたわけではありません。セルの表示は2023ですが、保存されている値は44982です。セルの表示と保存されている値が異なることに注意します。「m」にすると月だけになりますが、年と日にちを非表示にしただけで情報が消えたわけではありません。セルに保存されている値は44982です。「d」にすると日にちだけになります。西暦年4桁と月2桁をつなげて6桁にするには「yyyymm」とします。「yyyymmdd」で8桁になります。6桁や8桁の数値のように見えますが実際に保存されている値は5桁の整数(シリアル値)です。和暦の場合はgggが元号で、eが年です。「geemmdd」で7桁になります。aが3つで「土」、4つで土曜日になります。セルには日本語が表示されていますが、セルには日付(シリアル値44982)が保存されていることに注意します。これらを組み合わせて「yyyy年m月d日(aaa)」とすると2023年2月25日(土)となります。「125」「土」と表示されているセルは、日付(シリアル値)ではないと判断してよいか。解説125と直接入力すると、セルにも125が保存されます。セルに125と表示されているかと言って必ずしもその数値が保存されているとは限りません。数式バーを確認します。2020/1/25という日付になっています。表示形式を見ると「md」となっています。表示形式を標準にするとシリアル値になります。このように、セルに表示されている数と実際にセルに保存されている値が異なることがありますので注意が必要です。「土」を直接入力すると、日本語としての「土」が保存されます。数式バーが日付になっていれば日本語としての「土」ではなく、表示形式が「aaa」になっている日付(シリアル値)です。10.曜日を直接入力してはいけない問題A列に2021年1月1日~10日を入力した。A列を日にちだけにして、B列に曜日を表示しなさい。曜日を表示するには日付(シリアル値)が必要です。そこでA列をイコールで参照します。表示形式を「d」にします。これで日にちだけになりましたが、年と月が消えたわけではなく、2021年1月はセルに保存されています。表示形式を「aaa」にします。11.年と月が変われば曜日も自動的に変わる問題セルA1の表示形式を文字列にして「2021年4月」と入力した。4行目以降に1~30の連番を入力した。2021年4月1日~30日の曜日を表示しなさい。2022年11月1日~30日の曜日にしなさい。解説まず、セルA1の表示形式を文字列にして「2021年4月」と入力します。1~30の連番を入力していますが、これは単なる数値であり、日付でもシリアル値でもありません。そこで、2021年4月1日のシリアル値を求めます。2021年4月を絶対参照にして、日にちと「日」を連結して2021年4月1日とします。これを日付の表示形式にすれば日付になりますが、ユーザー定義でaaaにすれば曜日だけになります。オートフィルをします。これで30日までの曜日になります。2022年11月にするとシリアル値も変わりますから、自動的に対応する曜日になります。わえなびチャンネルhttp://www.youtube.com/c/waenavijpチャンネル登録をすると最新の動画をチェックできます。初心者向けの動画も大量にあります。平成三十年八月]スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。