- ベストアンサー
年月日計算について
DATE関数を用いるとシリアル値を返し、PCのシステム日付を 見るようになっていると思います。 1/10と入力すると2008/1/10って認識されますが、 =DATE(YEAR(B2)+1,B2,B2) 上記のようにやると、2009/1/10っていうように表示することが できました。 B2には1/10ってデータが入っていて、LEFTを使ってちょっと カスタマイズさせてます。 でもこのままですと、年をまたがると2010/1/10って なってしまいます。 年をまたがることを考慮した場合を うまくやる方法はないでしょうか。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
《整理すると今、1/10って入力すると2008/1/10って認識します。 それを2009/1/10って認識させたいです。上記をやりたい場合、Year(B2)+1のようにしなければなりませんので、年がまたがってしまうと2010/1/10って認識されてしまいます。難しいですね》 セルに2009/1/10と入力し表示形式で分類を「日付」に種類を「3/14」とすればセルに1/10と表示され、数式バーに2009/1/10と表示されます セルを選択 → 書式 → セル → 表示形式タブ →分類を「日付」 → 種類を「3/14」 → OK
その他の回答 (5)
- gyouda1114
- ベストアンサー率37% (499/1320)
《DATE関数を用いるとシリアル値を返し、PCのシステム日付を見るようになっていると思います。》 《でもこのままですと、年をまたがると2010/1/10ってなってしまいます。年をまたがることを考慮した場合をうまくやる方法はないでしょうか。》 説明不足でした DATE関数は、PCのシステム日付に影響されることはありません。 例えば今日2008年12月18日にエクセルのセルに2009/1/10と入力しても 実際の日付が2009/1/10になっても「2009」は、「2010」に変わることはありません。 システムで設定された時刻を利用して日付時刻を表示する関数は 「TODAY、NOW」の2つだけです。 エクセルのセルに =TODAY()と入力しておくと明日になると明日の日付に =NOW()と入力すると 今日の日付と今の時間が表示されます。 質問と関係ありませんが 現在の時刻と日付について説明したサイトがありましたので添付します。 Excel 現在の日付と時刻を表示する NOW http://plaza.rakuten.co.jp/pasodairy/diary/200507090000/
補足
URLありがとうございます。 すいません。 もう1回やりたいことを整理して載せなおしたほうが いいかもしれません。 整理すると今、1/10って入力すると2008/1/10って認識します。 それを2009/1/10って認識させたいです。 上記をやりたい場合、Year(B2)+1のようにしなければなりませんので、 年がまたがってしまうと2010/1/10って認識されてしまいます。 難しいですね..
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.1、No.2です また 訂正です。 《2009/1/1になると自動的に「2009/1/10」に変わります。》 ↓ 2009/1/1になると自動的に「2010/1/10」に変わります。 に訂正です
- gyouda1114
- ベストアンサー率37% (499/1320)
回答番号:No.1 訂正です。 《年を変わるようにするには、 B1に=today()と入力し、=DATE(YEAR(B2)+1,1,10)とします。》 のB1に=today()は、B2に=today()とB1をB2に訂正してください。
- hige_082
- ベストアンサー率50% (379/747)
もう一つ条件が必要 例えば 今日より未来の日付しか入力しない =IF(TODAY()>B2,DATE(YEAR(B2)+1,MONTH(B2),DAY(B2)),B2) とすれば、今日から来年の昨日の日付までが入力範囲になる
- gyouda1114
- ベストアンサー率37% (499/1320)
何をしたいのか良くわかりませんね。 2009/1/10と表示させたいのですか それなら表示させたいセルに「2009/1/10」とい入力するだけでいいはずです。 なお、 B2に2008/1/10と入っているときに =DATE(YEAR(B2)+1,B2,B2)では、「#NUM!」となります 2009/1/10と表示させるには、=DATE(YEAR(B2)+1,MONTH(B2),DAY(B2))としなければなりません。 また、この式は、年が変わっても日付は変わりません。 年を変わるようにするには、 B1に=today()と入力し、=DATE(YEAR(B2)+1,1,10)とします。2009/1/1になると自動的に2009/1/10に変わります。
補足
すいません。うまく伝えられてなくてすいません。 やりたいことは、200811~200812の期間で 1/10って入力した場合は、2009/1/10って見るようにして、 年が2009になったら、2010/1/10にならないようにしたいです。 DATEはシステム日付を見てますので、どうすればいいか分かりませんでした。
補足
何度もアドバイスありがとうございます。 ちょっと説明が足りてなかったのですが、 セルに入力するのはあくまで、1/10っていれた場合で、 判別するようなことをやりたいのですが、 多分分岐の関数をうまく組み込まないとできないと思ってます。 もう少し考えてみてまた議題に出し直したいと思います