[[20080528100027]] 『セルの分割後の条件式』(む〜す) ページの最後に飛ぶ

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

 

『セルの分割後の条件式』(む〜す)

 E列に不規則な桁数のが入っている場合、下2桁をC列に、更に次の2つの桁をB列に
というようなセルの分割をした場合(ちなみに今は5桁が最大桁数です。)
次のような計算式でそれぞれ分割しました。
そこに更に、下記のような条件を組み込みたいのですが上手く出来ません。
いい方法があれば教えてください。
Windows2000、excel2003 を使用しています。
 
現在
	A	B	C	D	E	F
1		45	39		4539	
2	1	23	45		12345	
3	2	50	34		25034	
4		68	53		6853	
 
A1のセルには =IF(LEN(E1)<=4,” ”,MID(E1),LEN(E1)−4,1))
B1のセルには =IF(LEN(E1)>4,MID(E1,2,2),MID(E1,1,2))
C1のセルには =RIGHT(E1,2)
という計算式で現在分割しています。
 
F列の条件によって下記のようにしたいのですが・・・
	A	B	C	D	E	F
1					4539	M
2	1	28	45		12345	P1
3					25034	R
4		78	53		6853	P2
 F列に文字を入力した際、M又はRの場合はその列の計算結果は見えない。
 P1ならB列に+5、P2ならB列に+10、P3ならB列に+15を加算した数字を
表示したいのですが。何か出来る方法はありますでしょうか??
 
(む〜す)

 >P1ならB列に+5、P2ならB列に+10、P3ならB列に+15を加算
 は、対応表を作ることにします。(H1:I4)
	A	B	C	D	E	F	G	H	I
1					4539	M		値	加算
2	1	28	45		12345	P1		P1	5
3					25034	R		P2	10
4		78	53		6853	P2		P3	15
 A1
=IF(OR(F1="M",F1="R",LEN(E1)<5),"",--SUBSTITUTE(E1,RIGHT(E1,4),""))
 B1
=IF(OR(F1="M",F1="R",LEN(E1)<3),"",LEFT(RIGHT(E1,4),2)+IF(COUNTIF($H$2:$H$4,F1),VLOOKUP(F1,$H$2:$I$4,2,FALSE),0))
 C1
=IF(OR(F1="M",F1="R",LEN(E1)<1),"",--RIGHT(E1,2))

 (HANA)


すごい、出来ました!!
ありがとうございます。
やっぱり対応表とかが必要になるんですね。

必死になって数式を理解しようとしていたのですが、
【SUBSTITUTEやRIGHT】の前に表記されている【--】の意味が
理解できませんでした。
これは何の為に必要なんでか。


 こちらをどうぞ。皆さん悩まれますね^^;  (ぷーのすけ)
 ↓

[[20040530061813]] 『「--」と「!」の意味?』(masabou5)


過去ログにあったんですね。
検索不足ですいません。
でも、理解することが出来ました。
ありがとうございます。
エクセル奥が深いですね。(む〜す)

 ぷーのすけさん、有り難う御座います。

 えっと・・・
 対応表は無くても良いですが、その場合は
 IF(COUNTIF($H$2:$H$4,F1),VLOOKUP(F1,$H$2:$I$4,2,FALSE),0))
 が↓と差し替えです。
 IF(F1="P1",5,IF(F1="P2"=10,IF(F1="P3",15,0)))

 直接書いた方が短いですね。(笑)
 でも、これがどんどん増えていったり
 メンテナンスをしたりする事を考えると
 対応表を作っておいた方が良いように思います。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.