[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『4月から6月なら「第一期」と表示させるには?』(かあさん)
会社で、4月から6月は第1期、7月から9月は第2期、10月から12月は第3期、1月から3月は第4期と決められています。
そこで、
A1に「2014.4、2014.5、2014.6」ならA2に「第1期」というように表示させたいのです。
IF関数を使うのだと思うのですが、年月で入れてみてもうまくいきませんでした。
どなたかご享受願います。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
A1の値は文字列ですか?それとも日付データですか? (カリーニン) 2014/07/21(月) 15:50
これかな?
[[20060808114627]] 『日付の表示』(やくりん)
(カリーニン) 2014/07/21(月) 15:52
正式には「14.04、14.05・・・」と文字列で入力します。
日付データではありません。
よろしくお願いいたします。
(かあさん) 2014/07/21(月) 15:57
確認なのですが、A1は↓のどちらですか?
2014.04 2014.4 14.4 14.04 (カリーニン) 2014/07/21(月) 16:03
14.04
です。
(かあさん) 2014/07/21(月) 16:09
先ほどのリンク先のROUGEさんの式をお借りしてこんなかんじでいかがでしょう?
=IF(A1="","","第"&MID("444111222333",MONTH(DATEVALUE(SUBSTITUTE(A1,".","/")&"/1")),1)&"期") (カリーニン) 2014/07/21(月) 16:13
これでもいけますね。
=IF(A1="","","第"&MID("444111222333",RIGHT(A1,LEN(A1)-FIND(".",A1,1)),1)&"期") (カリーニン) 2014/07/21(月) 16:17
A1に14.04とあったら、64?T(64期の第1期)という表示方法をするそうなのです。
また、15.04ならば、65?T(65期の第1期)という具合です。
これもIF関数で可能でしょうか?
VLOOKUPでできるかやってみたのですがうまくいきませんでした。
何度も申し訳ありません。
(かあさん) 2014/07/21(月) 17:33
>=IF(A1="","","第"&MID("444111222333",RIGHT(A1,LEN(A1)-FIND(".",A1,1)),1)&"期")
この式の中にある
FIND の意味をヘルプで調べてみてください。 この式の意味がわかると、元のデータ「14.04」から「14」と「04」に分けられると思います。 あとは「14」の方に必要なだけ数値を足したもの(期)と「第○期」をつなげるだけです。
※暦年と年度が違う部分(1〜3月)についてはご自分でお考えください。そんなに難しくないです。 (カリーニン) 2014/07/21(月) 17:48
いろいろなやり方があると思いますが、
>VLOOKUPでできるかやってみたのですがうまくいきませんでした。 は何がダメだったのでしょうか。
下記の表があれば(C列は数字か文字か、入力と形式を合せてください)、 =VLOOKUP(A1,C1:D12,2,FALSE) というのも有りだと思います(丸文字は文字化けするので(数字)にしました)。
C D 14.01 64(4) 14.02 64(4) 14.03 64(4) 14.04 65(1) 14.05 65(1) 14.06 65(1) 14.07 65(2) 14.08 65(2) 14.09 65(2) 14.10 65(3) 14.11 65(3) 14.12 65(3) (Mook) 2014/07/21(月) 18:18
10月は「14.10」ていう文字列なんだよね?
=INT(A1)+50-(RIGHT(A1,2)<"04")&-MID("444111222333",RIGHT(A1,2),1)
どんな表示にしたいのかわからないので、とりあえず「64-1」のようにしてみた。 (笑) 2014/07/21(月) 18:35
VLOOKUPでやるんだったら、対応表は 1月、4月、7月、10月だけで 検索の型をTRUEにすればいいかも。 (笑) 2014/07/21(月) 18:51
こんな感じかな =LOOKUP(RIGHT(A1,2)*1,{1,4,7,10},{4,1,2,3})
(By) 2014/07/21(月) 21:07
> こんな感じかな > =LOOKUP(RIGHT(A1,2)*1,{1,4,7,10},{4,1,2,3}) >(By) 2014/07/21(月) 21:07
これで質問の回答したつもりなのかな? (笑) 2014/07/21(月) 22:25
=INT((A1*100-4)/100)+50&MID("4123",(MOD(A1*100,100)-1)/3+1,1)
※MID関数にある「4123」は実際は丸囲み数値で。 (GobGob) 2014/07/23(水) 07:53
丸囲みでなくていいなら
=INT((A1*100-4)/100)+50&-INT(MOD(MOD(A1*100,100)-4,12)/3)-1 (GobGob) 2014/07/23(水) 08:11
前回の回答と同じことですが こんな感じかな =INT(A1-0.04+50)&"-"&LOOKUP(RIGHT(A1,2)*1,{1,4,7,10},{4,1,2,3}) {4,1,2,3} は実際の記号にして下さい
記号ではなく普通の数字で良ければ =INT(A1-0.04+50)&-INT(MOD((RIGHT(A1,2)-4)/3,4))-1
(By) 2014/07/23(水) 09:23
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.