[[20100105184831]] 『月の引き算 1月−1=12』(チロル) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『月の引き算 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 シリアル値]
http://www.excel.studio-kazu.jp/mwiki/index.php/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E5%80%A4
(みやほりん)(-_∂)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ヶ月"になるかどうか?と思って入れたんですが
やっぱり日数になるんですね。

(チロル)


(みやほりん)(-_∂)b さま
(純丸)(o^-')b さま

回答ありがとうございます。
お二人のコミュニケーションの場になりまして、光栄です(*^^*)

リンクまで貼っていただき、ありがとうございます。

=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.