- ベストアンサー
Excelで期間を関数で求めて表示する方法
- Excel2010とWindows7で期間を関数を使って表示したい場合、以下の手順で設定できます。
- 1. K2セルに「=TODAY()」と入力し、書式設定で平成年を表示させます。
- 2. L2セルに「=TODAY()」と入力し、書式設定で月を表示させます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
=TEXT(TODAY(),"ggge年m月分~")&TEXT(EDATE(TODAY(),2),"m月分まで") みたいなカンジで。 #オマケ =TEXT(TODAY(),"ggge年m月分~")&TEXT(EDATE(TODAY(),2),IF(MONTH(TODAY())<11,"","ggge年")&"m月分まで")
その他の回答 (2)
- eden3616
- ベストアンサー率65% (267/405)
No2の冒頭の回答文で訂正です。 F7セルの数式は以下のようになります。 ↓ F2セルの数式は以下のようになります。 失礼しました。
- eden3616
- ベストアンサー率65% (267/405)
現状から目的を表示するだけなら F7セルの数式は以下のようになります。 F2=TEXT(K2,"[$-411]ggge年m月分~")&TEXT(EDATE(K2,2),"m月分まで") K2~M2の「=today()」はどれも本日のシリアル値が返されます シリアル値とは、1900/1/1を1としたときに、経過日数を整数で、時間を小数で表した値のことで、本日(2015/7/24)のシリアル値は42209となります。 ユーザー定義はこのシリアル値をセルの「見かけ上」、年・月・日などに表示させているだけであって、セルの値(内容)としてはどれも同じ「42209」が入っていることになります。 以下のご提示の数式で使用しているK2、M2のセル値は「42209」が入り、 EDATE(L2,2)で2ヶ月後のシリアル値「42271」が入ります。 F2=K2&L2&"月分~"&EDATE(L2,2)&"月分まで" ↓ F2="42209"&"42209"&"月分~"&"42271"&"月分まで" ↓ F2="4220942209月分~42271月分まで" よって、このように表示されております。 回答での数式は以下のようになっております。 F2=TEXT(K2,"[$-411]ggge年m月分~")&TEXT(EDATE(K2,2),"m月分まで") TEXT関数は「TEXT(値,表示形式)」の形で記述します。 値を表示形式の形であらわした文字列として扱いますので、 セルの表示形式を適用した後の「見かけ上の文字列」を「実質の文字列」として扱う事が出来ます。 F2=TEXT(K2,"[$-411]ggge年m月分~")&TEXT(EDATE(K2,2),"m月分まで") ↓ F2=TEXT(42209,"[$-411]ggge年m月分~")&TEXT(EDATE(42209,2),"m月分まで") ↓ F2=TEXT(42209,"[$-411]ggge年m月分~")&TEXT(42271,"m月分まで") ↓ F2="平成27年7月分~"&"9月分まで" ↓ F2="平成27年7月分~9月分まで" また、L2、M2セルを様式の都合上で必要ならばそのままで良いですが、 F7セル用の作業列として設けているのであれば、数式で使用するK2セルのみだけ残してL2、M2は不要です。 もちろん、K2セルを参照せずに数式内の「K2」を「today()」で置き換えて頂いても問題有りません。 F2=TEXT(TODAY(),"[$-411]ggge年m月分~")&TEXT(EDATE(TODAY(),2),"m月分まで") (※この場合はK2~M2のセルは必要ありません) あと回答に関係ないですが、 k2セルの定義は「[$-411]ggge」でM2セルは「d」ですよね。 長文失礼しました。
お礼
ありがとうございました。textですね。 これができないと前にすすめなかったので大変助かりました。 そしてまたひとつ勉強になりました。 ありがとうございました。