複数の変数に対する IF 関数のより速い代替手段はありますか? (Excel 2010)

複数の変数に対する IF 関数のより速い代替手段はありますか? (Excel 2010)

次の情報を表にまとめました

      C           D
   ----------- ----------- 
1 |  25%      |   1       |
   ----------- ----------- 
2 |  50%      |   2       |
   ----------- ----------- 
3 |  75%      |   3       |
   ----------- -----------
4 |  100%     |   4       |
   ----------- -----------

ユーザーがセル (A1) に列 D のいずれかの値を入力すると、セル (B1) には列 C の数値が表示されます。

これを実現するために次の関数を使用しています

=IF(A1=D1,C1,IF(A1=D2,C2,IF(A1=D3,C3,IF(A1=D4,C4))))

別の関数を使用してこれを行うより短い方法はありますか?

答え1

あなたが望むのは関数VLOOKUPまず、列 C と列 D を逆にして、「ルックアップ」列が C に、返される値が列 D になるようにします。次に、セル B1 で次の数式を使用します。

=VLOOKUP(A1, C1:D4, 2)

セル A1 の値を 1 から 4 の間で変更すると、適切なパーセンテージが返されます。たとえば、上記の数式をセル B1 と B2 に入力し、他のすべてのセルに定数を入力すると、次のようになります。

  |  A     B     C     D
  -----------------------
1 |  4   100     1    25
2 |  1    25     2    50
3 |              3    75
4 |              4   100

答え2

持っていたものをそのままにしておいてください。以下の式を使用してください。

=INDEX(C1:D4,SMALL(D1:D4,A1),1)

短くてシンプルで、フォーマットを変更する必要がありません。Index は vlookup/hlookup 関数です (vlookup は自動で、index は車のスティックのようなものです)。Small はリストを調べ、2 番目のパラメータは、"1"、"2"、"3" などのランクを調べます。

関連情報