Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8.1 : Excel 2013)
複数条件でのランク分け
投稿日時: 19/05/01 21:47:53
投稿者: 仁

i7に入力されている数値を参照して
j7にi7の数値が次の場合
 
15以下はG5
15〜29はG4
30〜59はG3
60〜89はG2
90以上はG1と表示したい。
 
 
 
=IF(AND(I7<15,"G5",I7>=15,I7<=29,"D4",I7>=30,I7<=59,"D3",I7>=60,I7<=89,"D2",I7>=90),"D1")
 
ではダメでした。

回答
投稿日時: 19/05/01 22:40:37
投稿者: WinArrow
投稿者のウェブサイトに移動

仁 さんの引用:
i7に入力されている数値を参照して
j7にi7の数値が次の場合
 
15以下はG5
15〜29はG4
30〜59はG3
60〜89はG2
90以上はG1と表示したい。
 
 
 
=IF(AND(I7<15,"G5",I7>=15,I7<=29,"D4",I7>=30,I7<=59,"D3",I7>=60,I7<=89,"D2",I7>=90),"D1")
 
ではダメでした。

 
>ダメでした・・・
どのようにダメなんですか?
説明と数式の内容が食い違っていますが・・・
 
説明通りに数式を組み立てると
=IF(I7<15,"",IF(AND(I7>=15,I7<30),"G4",IF(AND(I7>=30,I7<60),"G3",IF(AND(I7>=60,I7<90),"G2","G1"))))
となりますが・・・・

回答
投稿日時: 19/05/01 22:48:28
投稿者: WinArrow
投稿者のウェブサイトに移動

代案
 
任意のセルに次のような表を作成します

A列 B列
 0 G5
15 G4
30 G3
60 G2
90 G1
 
数式
=VLOOKUP(I7,$A$1:$B$5,2,TRUE)
 

回答
投稿日時: 19/05/01 23:10:04
投稿者: WinArrow
投稿者のウェブサイトに移動

表を使った代案の方が
説明通りの表になっているので
メンテナンスしやすい、わかりやすい、応用しやすい
と思います。
 
推奨します。

回答
投稿日時: 19/05/01 23:12:54
投稿者: WinArrow
投稿者のウェブサイトに移動

遅ればせながら
前レスの数式が違ってたので訂正します
 

引用:
説明通りに数式を組み立てると
=IF(I7<15,"",IF(AND(I7>=15,I7<30),"G4",IF(AND(I7>=30,I7<60),"G3",IF(AND(I7>=60,I7<90),"G2","G1"))))
となりますが・・・・


説明通りに数式を組み立てると
=IF(I7<15,"G5",IF(AND(I7>=15,I7<30),"G4",IF(AND(I7>=30,I7<60),"G3",IF(AND(I7>=60,I7<90),"G2","G1"))))
となりますが・・・・

回答
投稿日時: 19/05/02 12:12:38
投稿者: メジロ2

WinArrowさんの「VLOOKUP」賛同しますが、IF関数のネストの書き方を
振り返って頂くためにあえてIF関数で。
 
J1: =IF(I2<=15,"G5",IF(I2<=29,"G4",IF(I2<=59,"G3",IF(I2<=89,"G2","G1"))))
 
あるいは
 
J1: =IF(I2>=90,"G1",IF(I2>=60,"G2",IF(I2>=30,"G3",IF(I2>15,"G4","G5"))))

回答
投稿日時: 19/05/02 12:38:47
投稿者: WinArrow
投稿者のウェブサイトに移動

敢えて、突っ込みを入れさせていただきます。
 
説明通りと書きましたが、説明とは少し違っています。
 
説明、

引用:

15以下はG5
15〜29はG4

15はどちらなんでしょう?
私が回答は、
最初は
15未満と考えています。

投稿日時: 19/05/02 22:15:34
投稿者: 仁

 
 
慣れないものでご返事遅れました。
 
WinArrowさんのご指摘ですがランク"G5"は15未満の間違いでした。
 
解決策としてWinArrowさんの示された"代案”を採用させていただきました。
 
提示された全ての案を検証することはできませんでした。
 
ご容赦ください。
 
大変お世話になりました。