*日付・時間の処理 [#iea70a63] まず、いくつかの日付/時刻関数を紹介して、誕生日に関する計算をします。 ダウンロードしたファイルを開くと、 「誕生日」というシートが表示されます。 #ref(Lecture/InfoPrac2004/10th/date_time/ex00.png,nolink,誕生日のシート) **Excelでの日付/時刻の表現 [#x79e45cf] Excelでは、日付のデータ(2003年11月26日など)を、 ''「1900年1月1日からの日数」''として管理しています。 たとえば、2004年12月22日は「1900年1月1日から38343日後」となります。 「38343」のような日付のデータのことを「''日付のシリアル値''」といいます。 ほかに、時刻のシリアル値もあります。 **現在の日付・時刻 [#scb6ab32] 現在の日付と時刻つきの日付を求めます。 ここでは''TODAY''関数と''NOW''関数を使います。 これらの関数には、引数は必要ないので、「=TODAY()」のような使い方をします。 :TODAY(現在の日付をあらわすのシリアル値を返す)| --書式 : TODAY() --例: 現在の日付を求める =TODAY() :NOW(現在の日付と時刻をあらわすのシリアル値を返す)| --書式 : NOW() --例: 現在の日時と時刻を求める =NOW() B2とC2セルにTODAY関数を使って現在の日付を、 B3とC3セルにNOW関数を使って現在の日付と時刻を求めてください。 「関数の挿入」ボタンを使っても、直接入力してもかまいません。 関数の分類は「日付/時刻」になります。 ***日付・時刻の表示形式 [#vad043c4] B2セルの日付の表示形式を、次のようにして、変更してください。 -B2セルを右クリックし、「セルの書式設定」を選択 -「表示形式」タブをクリック -「分類」から「日付」を選択 -「種類」から表示形式を選択 -「OK」ボタンをクリック #ref(ex01.png,nolink,日付/時刻の表示形式) コンピュータでの日付や時刻の入力・出力(表示)のしかたには、いろんな種類があります。 和暦か西暦など、次のようなさまざまな入出力のしかたがあります。 -2004/12/3, 2004/12/03 -2004-12-3, 2004-12-03 -12/3/04, 12/03/04 B2セルの表示形式を「2004/12/22」以外の表示形式にして下さい。 B3セルも表示形式を変更してください。「分類」に「時刻」を選び、午前(AM)午後(PM)がわかる表示形式にしてください。 ***シリアル値 [#i6b1d625] C2とC3セルの表示形式を変更して、シリアル値がわかるようにしてください。 シリアル値を表示するには、次のようにします。 -セルを右クリックし、「セルの書式設定」を選択 -「表示形式」タブをクリック -「分類」から「標準」か「数値」を選択 -「OK」ボタンをクリック シリアル値とは、''「1900年1月1日12:00:00からの日数や時間」''のことで、「285.5736881」のような数字であらわします。数字にはそれぞれ意味があります。 -整数部分(小数点から左)は、''日数''をあらわします。 -小数部分(小数点から右)は、''時間(秒)''をあらわします。 24時間を1としますので、1時間は1/24(約0.042)、1分は1/24/60(約0.00069)となります。 さきほどの「285.5736881」は、「285日と13時間46分7秒」となるわけです。 **誕生日までの日数と時間の計算 [#w96ccb27] シリアル値の意味を理解したら、 現在の時刻から、次の自分の誕生日までの時間を計算しましょう。 B5セルに、来年の自分の誕生日の日付と(もしわかれば)時刻を次のように入力してください。 2005/7/12 00:00:00 表示形式は、「2005/7/12 12:00 AM」という形式にしてください。 **誕生日までの日数と時間のシリアル値 [#xe33c90e] まず誕生日までの日数と時間のシリアル値を求めます 誕生日の日付から現在の日付を引けば、日数や時間が求められます。 次のように、計算式を入力してください。 -B6セル: B2セル(TODAY関数でもとめた現在の日付)との差は、 <pre> =COLOR(red):来年の誕生日の日付COLOR(black):-COLOR(blue):現在の日付(TODAY関数で求めた日付) </pre> と考えられるので、計算式は次のようになる <pre> =COLOR(red):B5COLOR(black):-COLOR(blue):B2 </pre> -B7セル: B3セル(NOW関数でもとめた現在の日付)との差は、 <pre> =COLOR(red):来年の誕生日の日付COLOR(black):-COLOR(blue):現在の日付(NOW関数で求めた日付) </pre> と考えられるので、計算式を入力する(自分で考えてみましょう) -B6とB7セルの表示形式を「標準」か「数値」にして、シリアル値を表示 **誕生日までの時間の表示 [#b6d73477] B7セルの計算結果から、具体的な日数や時間を求めていきます。 まず、B7セルから日数(整数部分)を取り出します。 [[第9回>Lecture/InfoPrac2004/9th/kojin_seiseki#g6924465]]に ''ROUND''関数を使って小数点以下を四捨五入しましたが、 今度は小数点以下は切り捨てるので、''INT''関数を使います。 :INT(指定した数値を0に近い整数に丸めた値を返す)| --書式 : INT(数値) --引数 : 数値 : 実数 --例: A5セルの数値の整数部分を取り出す <pre> =INT(A5) </pre> 次のように、操作してください。 +B8セルをクリック +「関数の挿入」ボタンをクリック +関数の選択 --「関数の分類」から「''数学/三角''」か「すべて表示」を選択 --「関数名」から「''INT''」を選択 --「OK」ボタンをクリック +引数の設定 --「数値」の入力欄をクリック --B7のセルをクリック(「数値」に「B7」と設定される) --「OK」ボタンをクリック もし、整数でなく日付で表示される場合は、 表示形式を「標準」か「数値」に変更してください。 次に、B7セルから時間と分と秒を取り出します。 それぞれ、''HOUR関数''、''MINUTE関数''、''SECOND関数''を使います。 :HOUR(時刻の時を0(午前0時)〜23(午後11時)の範囲の整数で返す)| --書式 : HOUR(シリアル値) --引数 : シリアル値 : 検索する時刻のシリアル値 :MINUTE(時刻の分を0(分)〜59(分)の範囲の整数で返す)| --書式 : MINUTE(シリアル値) --引数 : シリアル値 : 検索する時刻のシリアル値 :SECOND(時刻の秒を0(秒)〜59(秒)の範囲の整数で返す)| --書式 : SECOND(シリアル値) --引数 : シリアル値 : 検索する時刻のシリアル値 +B9セルをクリック +「関数の挿入」ボタンをクリック +関数の選択 --「関数の分類」から「''日付/時刻''」を選択 --「関数名」から「''HOUR''」を選択 --「OK」ボタンをクリック +引数の設定 --「数値」の入力欄をクリック --B7のセルをクリック(「数値」に「B7」と設定される) --「OK」ボタンをクリック 同じようにして、B10セルに分を、B11セルに秒を計算してください。 もし、整数でなく日付で表示される場合は、 表示形式を「標準」か「数値」に変更してください。 **文字列の操作 [#ibbf6f4a] 次に、誕生日までの残り時間を表示してみましょう。 そこで、 結合されているA14〜C14セルに、 「あと○日と○時間○分○秒」と表示されるようにしましょう。 文字列やセルの値をつなげて、 ひとつの文字列にするには''「&」記号''を使います。 たとえば、次のような計算式の結果は「AAABBBCCC」となります。 文字列は「"」(ダブルクォーテーション)で囲っていることに注意してください。 = "AAA" & "BBB" & "CCC" また、A1セルの内容が「木曜日」の場合、次の計算式の結果は「明日は、木曜日です」となります。 = "明日は、" & A1 & "です" では、結合したA14〜C14セルに文字列を設定してみましょう。 次のように設定します。 +A14セルをクリック +次の計算式を入力 ="あと"&B8&"日と"&B9&"時間"&B10&"分"&B11&"秒" +Enterキーを押すと、結果が表示 計算結果は、[F9]キーを押すと、最新の結果に更新されます。 [F9]キーを押しっぱなしにすると、秒や分の数字が変わるのが確認できます。 #ref(ex02.png,nolink,計算の例) &br; &navi2(Lecture/InfoPrac2005/10th,next);進んでください。 ---- #navi2(Lecture/InfoPrac2005/10th,prev,toc,next) |