web-dev-qa-db-ja.com

数値範囲に基づいて文字のグレードを割り当てるスプレッドシートの数式

値が2つの値の間にある場合に「true」となるIFステートメントを記述する方法を見つけようとしています。

例:

値が60〜69.9の場合、「D」を返します

値が70〜79.9の場合、「C」を返します

値が80〜89.9の場合、「B」を返します

私はこれを持っていますが、テストがより小さいかより大きいのではなく中間にあるように、それを変更する方法を理解できません。

=IF(A1<60, "F", IF(A1>60, "A", 0))
8
Mr. B

不等号を同じ方向に向けてください:

=IF(A1<60, "F", IF(A1<70, "D", IF(A1<80, "C", IF(A1<90, "B", "A"))))

あまり多くのケースがない限り、上記はうまく機能します。ただし、C-、C +、B-、B +などのオプションが多数ある場合は、代わりにルックアップテーブルを使用することをお勧めします。たとえば、以下のようなルックアップテーブルがある場合、

=vlookup(A1, $K$1:$L$5) 

ネストされたIFと同じ仕事をします。また、テーブルは、変更の場合に維持するのが簡単です。たとえば、いくつかのカットオフを移動することにしました。

+---+----+---+
|   | K  | L |
+---+----+---+
| 1 |  0 | F |
| 2 | 60 | D |
| 3 | 70 | C |
| 4 | 80 | B |
| 5 | 90 | A |
+---+----+---+
7
user79865

Google Docs Help Forum から取られた別のソリューションは、式でカットオフを直接維持するため、それらを個別に維持する必要がありません。

OPで定義されたカットオフの場合、式は

=VLOOKUP($A1,{0,"F";60,"D";70,"C";80,"B";90,"A"},2)

カットオフの変更は今では面倒に見えるかもしれませんが、次のように効率的に行うことができます。プラットフォームに応じてfill downまたはCMD-Dを実行して、一番上のセルの式のカットオフを変更してから CTRL-D を変更します。

2
wsaleem

@wsaleemのカットオフを変更して、-/ +グレード(大学のスケールごと)を含めるようにしました。

=VLOOKUP(BB2,{0,"F";60,"D-";63,"D";68,"D+";70,"C-";73,"C";78,"C+";80,"B-";83,"B";88,"B+";90,"A-";93,"A"},2)

入力値をROUND()してください。私はAVERAGE()を使用していましたが、フィールドは視覚的に丸められていましたが、値はそうではありませんでした。

1
ow3n