- 締切済み
エクセルの関数を教えてください。
パソコン初心者です。 関数の式を教えてください。IF関数だと思うんですが、 A1のセルには 20051221~20060620の数字が入っています。 B1のセルにA1の20051221~20060120の数字だったら180100と 20060121~20060220の数字だったら180200と 20060221~20060320の数字だったら180300と 20060321~20060420の数字だったら180400と 20060421~20060520の数字だったら180500と 20060521~20060620の数字だったら180600と 表示されるにはどのような式がありますか? 是非、教えてください。
- みんなの回答 (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
- yoka1
- ベストアンサー率48% (17/35)
こんにちは [B1] ↓ =INT(A1/100)+IF(MOD(A1,100)>=21,1,0) [C1] ↓ =(IF(MOD(B1,100)=13,B1+88,B1)-198800)*100 こんな感じでいかがでしょうか?
お礼
早速の回答有難うございました。 色々な方法があるのでびっくりしました。 試してみて一番いい方法を使います。
- taocat
- ベストアンサー率61% (191/310)
こんにちは。 結果を文字列にしたい場合 ="18" & MID(A1,14,2) & "00" 結果を数値にしたい場合 =("18" & MID(A1,14,2) & "00")*1 =180000 + MID(A1,14,2)*100 等など 以上です。
お礼
早速の回答有難うございました。 色々な方法があるのでびっくりしました。 試してみて一番いい方法を使います。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
if関数は必要ありません。 =(int(A1/10000)-1988)*10000+int(mod(A1,10000)/100)*100+or(mod(A1,100)>20)*100 とりあえず平成が続く限りは、修正なしで使い続けられる式です。
お礼
早速の回答有難うございました。 色々な方法があるのでびっくりしました。 試してみて一番いい方法を使います。
- wandayu
- ベストアンサー率24% (24/99)
ちょっと長いですが =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の範囲ということなのでそれ以外にはその旨のメッセージ出るようにしてみました。
お礼
早速の回答有難うございました。 色々な方法があるのでびっくりしました。 試してみて一番いい方法を使います。
- zap35
- ベストアンサー率44% (1383/3079)
星座かなにかですかね。とりあえず、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行目からある場合です)
お礼
早速の回答有難うございました。 色々な方法があるのでびっくりしました。 試してみて一番いい方法を使います。
- norosi
- ベストアンサー率26% (430/1614)
E1~E6に20051221~20060521(各始まりの数字) F1~F6に20060120~20060620(終わりの数字) と入力します。 B1に=VLOOKUP(A1,E1:F6,2,1) でいかがでしょうか?
お礼
早速の回答有難うございました。 色々な方法があるのでびっくりしました。 試してみて一番いい方法を使います。
- masao3
- ベストアンサー率23% (74/311)
=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文の中に" "を入れると言葉が入りますよ。
お礼
早速の回答有難うございました。 色々な方法があるのでびっくりしました。 試してみて一番いい方法を使います。
お礼
早速の回答有難うございました。 色々な方法があるのでびっくりしました。 試してみて一番いい方法を使います。