出産前後の痔にはご注意!

パソコン初心者です。
関数の式を教えてください。IF関数だと思うんですが、

A1のセルには 20051221~20060620の数字が入っています。

B1のセルにA1の20051221~20060120の数字だったら180100と
           20060121~20060220の数字だったら180200と
           20060221~20060320の数字だったら180300と 
           20060321~20060420の数字だったら180400と
           20060421~20060520の数字だったら180500と
           20060521~20060620の数字だったら180600と

表示されるにはどのような式がありますか?
是非、教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (8件)

   A    B   C   D


1 20060325 180400   2005/12/21
2            2006/01/21
3            2006/02/21
4            2006/03/21
5            2006/04/21
6            2006/05/21
7            2006/06/21
8            2006/07/21

B1: =TEXT(INDEX(D$1:D$8,MATCH(TEXT(A1,"0000-00-00")*1,$D$1:$D$8)+1),"emm")*100
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
色々な方法があるのでびっくりしました。
試してみて一番いい方法を使います。

お礼日時:2006/08/18 21:11

こんにちは



[B1]

=INT(A1/100)+IF(MOD(A1,100)>=21,1,0)

[C1]

=(IF(MOD(B1,100)=13,B1+88,B1)-198800)*100

こんな感じでいかがでしょうか?
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
色々な方法があるのでびっくりしました。
試してみて一番いい方法を使います。

お礼日時:2006/08/18 12:57

こんにちは。



結果を文字列にしたい場合

 ="18" & MID(A1,14,2) & "00"


結果を数値にしたい場合

 =("18" & MID(A1,14,2) & "00")*1

 =180000 + MID(A1,14,2)*100
 
等など
以上です。
 
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
色々な方法があるのでびっくりしました。
試してみて一番いい方法を使います。

お礼日時:2006/08/18 12:57

if関数は必要ありません。



=(int(A1/10000)-1988)*10000+int(mod(A1,10000)/100)*100+or(mod(A1,100)>20)*100

とりあえず平成が続く限りは、修正なしで使い続けられる式です。
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
色々な方法があるのでびっくりしました。
試してみて一番いい方法を使います。

お礼日時:2006/08/18 12:57

ちょっと長いですが



=IF(20051221 >= A1,"20051221以下の値",IF(20060120 >= A1,180100,IF(20060220 >= A1,180200,IF(20060320 >= A1,180300,IF(20060420 >= A1,180400,IF(20060520 >= A1,180500,IF(20060620>= A1,180600,"20060620以上の値")))))))

これでいくかと思います。

参照もとのA1セルの値が20051221~20060620の範囲ということなのでそれ以外にはその旨のメッセージ出るようにしてみました。
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
色々な方法があるのでびっくりしました。
試してみて一番いい方法を使います。

お礼日時:2006/08/18 12:58

星座かなにかですかね。

とりあえず、IF関数で実現するなら以下のような式でしょうか。
=IF(A1<20060121,180100,IF(A1<20060221,180200,IF(A1<20060321,180300,IF(A1<20060421,180400,IF(A1<20060521,180500,180600)))))

もう少し汎用的に実現するなら
A列   B列
20051221 180100
20060121 180200
20060221 180300
20060321 180400
20060421 180500
20060521 180600
のような表を入力してVLOOKUP関数を用いるほうがよいでしょう。(例 =VLOOKUP(A1,A3:B8,2)、表が3行目からある場合です) 
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
色々な方法があるのでびっくりしました。
試してみて一番いい方法を使います。

お礼日時:2006/08/18 12:58

E1~E6に20051221~20060521(各始まりの数字)


F1~F6に20060120~20060620(終わりの数字)
と入力します。
B1に=VLOOKUP(A1,E1:F6,2,1)
でいかがでしょうか?
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
色々な方法があるのでびっくりしました。
試してみて一番いい方法を使います。

お礼日時:2006/08/18 12:58

=IF(A1<20060121,180100,IF(A1<20060221,180200,IF(A1<20060321,180300,IF(A1<20060421,180400,IF(A1<20060521,180500,180600)))))


で良いのではないですか?
ただし20051221以下の数字だと180100に成ります、
また、20060620以上の場合ですと180600に成ります。
少し工夫するとメッセージ("数字が越えている")を出すことが出来ます。
上のIF文の中に" "を入れると言葉が入りますよ。
    • good
    • 0
この回答へのお礼

早速の回答有難うございました。
色々な方法があるのでびっくりしました。
試してみて一番いい方法を使います。

お礼日時:2006/08/18 12:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング