- ベストアンサー
EXCELで複数セルの参照結果を表示その2
EXCEL2000(WIN)での質問です。 QNo.615072に追加の質問です。 セルA1からD1のいずれかが0から99までの場合1、100から199までの場合2、200から299の場合3、300から399の場合4、400から499の場合5をE1に表示させたい場合には、どのようにすればいいでしょうか? 良い方法がありましたら教えて下さい。 よろしくお願いします。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
たびたびarukamunです。 範囲には規則性があるけど結果に規則性が無いのですね。 そういうときはCHOOSEを使います。 0~99の時 ここが書いて無いので、範囲から除外してしまいますね。 100~199の時は10 200~299の時は12 300~399の時は15 400~499の時は20 =IF(AND(MAX(A1:D1)>99,MAX(A1:D1)<500),CHOOSE(INT(MAX(A1,D1)/100),10,12,15,20),"") でいかがでしょうか。 解説ですが、まず、IF文で、99より大きくて500より小さいを判定していますね。 それが成り立つなら CHOOSE(INT(MAX(A1,D1)/100),10,12,15,20) ですね。 これは、 INT(MAX(A1,D1)/100) の結果が 1の時、10 2の時、12 3の時、15 4の時、20 という事です。 当然、該当しない物は""で表示していないのは前回のものと同じです。
その他の回答 (7)
- comv
- ベストアンサー率52% (322/612)
こんばんは 499より大きい場合は? とりあえず5が最大結果として =MIN(CEILING(MAX(A1:D1)+1,100)/100,5) もし499より大きい場合他の値なら式末の ,5) の値を書き換えて下さい
- imogasi
- ベストアンサー率27% (4737/17069)
意外にVLOOKUPを使った回答がないですね。 F1:G1にテーブルとして 0 1 100 2 200 3 300 4 400 5 を作ります。 E1に =VLOOKUP(MIN(A1,B1,C1,D1),$F$1:$G$5,2,TRUE) TRUEである点と、表が99,199,299,399,499でなく、0、100,200,300,400である点にご留意を。
- arukamun
- ベストアンサー率35% (842/2394)
No.2のarukamunです。 やっぱり最大でしたね。 =IF(AND(MAX(A1:D1)>-1,MAX(A1:D1)<500),INT(MAX(A1:D1)/100)+1,"") を解説しましょう。 まず、A1からD1までの最大を求める関数は MAX(A1:D1)です。3回も登場しますね。 次に、0から499までが結果を返す対象ですね。 ですので、 IF(AND(MAX(A1:D1)>-1,MAX(A1:D1)<500, とする事で、 もし、MAX(A1:D1)が-1より大きくて、MAX(A1:D1)が500より小さい場合、・・・となります。 この後に続くINT(MAX(A1:D1)/100)+1は 最大の値を100で割って整数にして1を加えています。 これが、場合分けの結果の計算式です。 最後の""は、-1より大きくて、500より小さいというのに該当しない場合は何も表示しないとしています。 いかがでしょうか。
補足
arukamun 様 細かい解説ありがとうございます。 さらにお聞きしたいのですが、結果が1,2,3,4,5ではなく、100から199までの場合10、200から299の場合12、300から399の場合15、400から499の場合20と連続していない数字を表示させたい場合はどうでしょう。 これも最大ですので、 A1に410、B1に230、C1に50、D1に310の場合は20 A1に170、B1に230、C1に50、D1に200の場合は12 というようにです。 よろしくお願いします。
- S-Fuji
- ベストアンサー率36% (592/1624)
#1です #3さん 良く質問を読みましょう。 #2さんが書いて有るとおりです。
- shiro_chan
- ベストアンサー率6% (1/15)
NO.1の方が言われている事は疑問に思いました。 一応、セルA1が0から99までの場合1、100から199までの場合2、200から299の場合3、300から399の場合4、400から499の場合5をE1に表示する為の方法を以下に書きます。 =IF(A1<100,1,IF(A1<200,2,IF(A1<300,3,IF(A1<400,4,IF(A1<500,5))))) 上記の式をE1に書けばOKです。 後は、応用で書けると思います。
- arukamun
- ベストアンサー率35% (842/2394)
こんにちは いずれかでは駄目ですよ。 A1=10 B1=120 C1=230 D1=340 とかだったら、E1に何を表示すれば良いのでしょうか。 例えば最大がというのであれば、E1に =IF(AND(MAX(A1:D1)>-1,MAX(A1:D1)<500),INT(MAX(A1:D1)/100)+1,"") とかでも良いですね。 正しい条件を補足してください。
補足
説明不足でした。 一番大きな数の結果ということで、 NO.1の方の場合は4、NO.2の方の場合も4になります。 A1に410、B1に230、C1に50、D1に310の場合は5になります。これでおわかりいただけますでしょうか?
- S-Fuji
- ベストアンサー率36% (592/1624)
条件をしっかり考えましょう。 A1に10、B1に110、C1に210、D1に310が入っていたら、E1には何を表示するの?。
補足
説明不足でした。 一番大きな数の結果ということで、 NO.1の方の場合は4、NO.2の方の場合も4になります。 A1に410、B1に230、C1に50、D1に310の場合は5になります。これでおわかりいただけますでしょうか?
お礼
arukamun 様 お礼が遅くなり申し訳ありません。 解説いただいたやり方でうまくいきました。 ありがとうございました。 ほかにお答えいただいた方にもこちらでお礼させていただきます。 ありがとうございました。