[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『月の引き算 1月−1=12』(チロル)初心者 WindowsXP
過去質でヒットしなかったので質問させてください。
A1 2010/1/1 表示→1
A2 month(A1-1) 表示→12
A2は"12"と表示されていますが、1900年1月12日 と認識している!?ようです。
2009年12月1日と認識して欲しいのですが、どんな数式を入れればよいのでしょうか?
さらに、
A3 『A1-2ヶ月』 表示→11
もしたいので、
month(A1-30)ではない方法を探しています。
ご協力いただけないでしょうか。よろしくお願いします。
=DATE(YEAR(A1),MONTH(A1)-1,DAY(A1)) ということでしょうか。 >A2は"12"と表示されていますが、1900年1月12日 と認識している!?ようです。 エクセルでは、当然そうなる仕組みで不思議ではないです。 セルの数値と日付の関係を把握しましょう。 [ExcelPedia シリアル値] https://www.excel.studio-kazu.jp/mwiki/ep_01_serial.pdf (みやほりん)(-_∂)b
おっと、今年初投稿でみやさんと衝突! 以下、そのままUP。
A1もA2も表示形式が m になっているということですよね?
A2 =EDATE(A1,-1)
EDATE関数に付いては↓で。 http://excel.onushi.com/function/edate.htm
#NAME?エラーが出るようなら、ツール>アドインの 「分析ツール」にチェックを入れてみて下さい。 (純丸)(o^-')b ※みやさん、あけましておめでとうですm(__)m
> A2は"12"と表示されていますが、1900年1月12日 と認識している!?ようです。 そうではありません。 A1の日付はシリアル値ですから 2010年1月1日 マイナス 1 → 2009年12月31日 MONTH関数を使用していますから 2009年12月31日の 「月」である 12 を返しているんです。
ちなみにたとえばA1の日付が 2010年3月31日の場合 A2の日付は 何月何日と認識してほしいのでしょうか?
(えくせる青年)2010/1/5 19:18
回答ありがとうございます。
A1の日付が 2010年3月31日の場合
A2→2010年2月28日 がベターですが、
今回、日付は反映先がないので、月だけ表示できればOKのため、28日にこだわりません。
毎月1日を基本にして進めています。
A1 表示→1月
A2 表示→12月
のようにちゃんと月まで書いとけばよかったんですが…
マイナス1 していたのは、2010年1月1日から"マイナス1ヶ月"
month関数だから"1"で"1ヶ月"になるかどうか?と思って入れたんですが
やっぱり日数になるんですね。
(チロル)
回答ありがとうございます。
お二人のコミュニケーションの場になりまして、光栄です(*^^*)
リンクまで貼っていただき、ありがとうございます。
=DATE(YEAR(A1),MONTH(A1)-1,DAY(A1))
EDATE関数
どちらも試してみまして、どちらもうまくいったので迷ったんですが、
EDATE関数を使わせていただきます。
ご協力ありがとうございました。(チロル)
> マイナス1 していたのは、2010年1月1日から"マイナス1ヶ月" > month関数だから"1"で"1ヶ月"になるかどうか?
=MONTH(A1-1) この数式は A1の「日付」(シリアル値)から 1 をマイナスして その日付(シリアル値)の「月」を返しています。 ですので A1が 2010/1/1の場合は =MONTH(A1-2) としても 2009年12月30日の「月」ですから 12を返すことになります。
(えくせる青年)2010/1/5 19:53
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.