[[20150128104206]] 『複数条件に一致する場合、条件によって特定の文字』(いやんま) ページの最後に飛ぶ

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

 

『複数条件に一致する場合、条件によって特定の文字を表示したい』(いやんま)

J行に支払条件、O行に支払金額が入力されています。

J2が小切手・手形    O2が 10万未満の場合は、I2に小切手と表示
J2が小切手・手形    O2が 10万以上の場合は、I2に手形 と表示
J2が振込・100万以上手形 O2が100万未満の場合は、I2に振込 と表示
J2が振込・100万以上手形 O2が100万以上の場合は、I2に手形 と表示
J2が上記以外の場合               I2にJ2の文字をそのまま表示

というように条件によって、表示する文字を変えたいのです。

IF関数を使って
=IF(OR(J2="小切手・手形",J2="振込・100万以上手形"),IF(AND(J2="小切手・手形",O2<100000),"小切手",IF(AND(J2="小切手・手形",O2≧100000),"手形",IF(AND(J2="振込・100万以上手形",O2<1000000),"振込","手形"))),J2)

という式を作ったら、J2が小切手・手形もしくは振込・100万以上手形の場合、
もれなく#NAME?と表示されてしまいます。

どこが間違っているのか教えてください。

あと、IF関数以外に、例えばSHEET2に支払条件と支払金額条件の一覧を作って
DGET関数のように条件による表示設定などできますでしょうか?
教えてください。

< 使用 Excel:Excel2010、使用 OS:WindowsXP >


=IF(J2="小切手・手形",IF(O2<100000,"小切手","手形"),IF(J2="振込・100万以上手形",IF(O2<1000000,"振込","手形"),J2)) でどうでしょう?

もっとスマートな方法があるかも知れませんが、とりあえず。

(jjj) 2015/01/28(水) 11:23


 シート2に以下のような表を作って
	[A]	[B]	[C]		[D]
[1]	対応表	\0	\100,000	\1,000,000
[2]	小切	小切手	手形		手形
[3]	振込	振込	振込		手形

 I2=IFERROR(INDEX(Sheet2!$A$1:$D$3,MATCH(LEFT(J2,2),Sheet2!$A$1:$A$3,0),MATCH(O2,Sheet2!$A$1:$D$1,1)),J2)
 でいかがでしょう?

 J2の取り扱いが、左から2文字のみ取り扱っているので、小切 振込がほかに使われていた場合、
 考え直す必要があります。
(稲葉) 2015/01/28(水) 11:39

 いやんまさんの式で#NAME?がでるのは≧を使っているから。>=にしないとだめ。
(bi) 2015/01/28(水) 12:59

jjjさん
教えて頂いた関数を入力したら、完璧に表示されました。
私が作った関数より、全然スマートで、感動しました。
ありがとうございました。

稲葉さん
J行には、たんに小切手や手形や振込という文字が入る場合もあるので、
教えて頂いた方法は使えないです。
私の説明不足で、せっかく教えていただいた方法が使えず、申し訳ありません。

biさん
関数で≧が使えないとは知りませんでした。
エラーの原因がわかって、スッキリしました。
教えていただいて、勉強になりました。
ありがとうございました。
(いやんま) 2015/01/28(水) 13:28


コメント返信:

[ 一覧(最新更新順) ]


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