Excel 関数の輪の中に世界がある場合、CHOOSE 関数は間違いなくスイーパーと見なすことができます。 IF 関数ほど強力ではありませんが、その機能はさらに優れています。今日は、Xiaohua が、ほとんどの人に無視されてきた CHOOSE 関数について詳しく説明します!
CHOOSE 関数は、index_num を使用します。数値引数リスト内の数値を返します。 CHOOSE を使用して、インデックス番号に基づいて最大 254 の値の 1 つを選択します。その基本的なステートメントは次のとおりです。
=CHOOSE(index_num,value1,value2,...)
index_num: インデックス番号を指定するパラメータ (1 ~ 254 の任意の整数)、CHOOSE 選択この値に基づいて、パラメータ リストの value1 から value254 までの対応するパラメータ。 index_num には、数値、数式、またはセル参照を指定できます。このパラメータを設定する場合は、次の 2 点に注意してください:
①index_num が 1 未満、またはリストの最後の値のインデックス番号より大きい場合、CHOOSE は #VALUE! エラー値を返します。例えば、CHOOSE(3,1,2) とすると、インデックスパラメータは 3 ですが、パラメータリストには #VALUE! の 2 つの値しかありません! (エラーの種類: 値が見つかりません。)
②index_num の場合は 10 進数なので、使用前に切り捨てられます。たとえば、CHOOSE(1.99,1,2), 1.99 は切り捨てられて 1 に丸められ、最初のパラメータ値 1 がパラメータ リスト {1,2} から数式の戻り値として選択されます。
Value1-value254: パラメータ リストには、少なくとも 1 つの値パラメータが含まれています。つまり、value1 は必須であり、パラメータ リスト内の値の数は、可能な最大値以上である必要があります。インデックス番号。 value には、数値、セル参照、定義名、数式、関数、またはテキストを指定できます。
上記の CHOOSE 関数のステートメントと説明を読むと、そうではありません。 CHOOSE関数というわかりにくいIF関数の機能があります。
IFの基本文はIF(論理判定、論理が正しい場合の戻り値、論理が間違っている場合の戻り値)で、さらにTRUEが値1に対応し、FALSEが値0に対応します。 IF関数文をCHOOSE Function文、つまりCHOOSE(2論理判定値、論理が正しい場合の戻り値、論理が間違っている場合の戻り値)に変換できます。
論理判定結果が TRUE、2-TRUE=2-1=1 の場合、CHOOSE 関数は論理正しい戻り値として value1 を選択します;
論理判定結果が FALSE の場合、 2-FALSE= 2-0=2 の場合、CHOOSE 関数は論理エラーの戻り値として value2 を選択します。
ケース:
CHOOSE 関数と IF 関数を使用して、スコアが修飾されているかどうかを判断します。CHOOSE 関数は、論理値をインデックスに変換するために 2 つの論理値を使用する必要があります数字は少し複雑です。
複数条件の判断については、IF 関数の忠実なファンは、これを処理するには、複数のネスト メソッドを使用します。しかし、その結果、関数式は長くて扱いにくくなり、解釈が難しくなります。ネストプロセス中に、IF 関数を複数回使用する必要があります。 CHOOSE 関数を使用して複数の条件判定を完了する方が簡単ですが、インデックス パラメーターindex_num の設定原則を理解し、習得する必要があります。次にCHOOSE関数の複数条件判定式の原理を例を挙げて説明します。
ケース:
下の図の評価レベルを対応するレベルに変換してください。評価レベルは人それぞれ異なります。
このとき IF 関数を使用する場合、三重の入れ子が必要になります。これは、IF 関数の前の入れ子ではまだ比較的単純な状況です。条件の数が増えると、IF 関数は複雑になります。ネストされた数式も増えます。 CHOOSE関数の式はネストする必要はなく、index_numを1、論理判定1*1、論理判定2*2…と記述するだけです。論理判定はn*nの形式で、すべての条件が満たされた場合に値1を設定します。 「改善すべき」は、その他の数値や論理的な判断条件を順番に並べることができます。
IF 関数の式は次のとおりです。
=IF(I4="S","Excellent",IF(I4="A","Good",IF(I4=" B"、"全般"、"改善予定")))
CHOOSE 関数の式は次のとおりです。
=CHOOSE(1 (B4="S")*1 (B4="A")*2 (B4="B")*3,"改善予定" 、"Excellent"、"Good"、"General")
式の説明:
CHOOSE 関数の最初のパラメータ Index_num は、次のことを表します。選択したパラメータ リストのインデックス番号 すべての条件が満たされない場合、すべての論理条件は FALSE、1 ∑ 論理条件 n*n=1 0=1 を返し、数式の最終戻り値として値 1 を選択するため、値すべてに 1 を入力する必要があります。どの条件も満たされなかった場合の目標結果、この場合は「改善されるべき」である必要があります;
最初の条件が満たされた場合、他の条件は満たされません、1 ∑論理条件 n*n=1 1* 1 0=2、戻り値として値 2、つまり "excellent" を選択;
2 番目の条件が満たされると、他の条件は満たされず、1 ∑ 論理条件 n*n=1 0*1 1* 2 0=3、戻り値として「良好」である値 3 を選択します;
など。
したがって、論理条件が互いに含まれない場合、CHOOSE 関数の最初のパラメータは 1 ∑ 論理条件 n*n の形式で表現され、残りのパラメータの順序は値 all になります。 false、論理値 1 の場合の値 true、論理値 2 の場合の値 true....
逆に、論理条件が相互に包含される場合は、CHOOSE 関数の最初のパラメータ Index_num を 1 論理判断 1 論理判断 2... 論理判断n の形式は 1 ∑ 論理条件 n です。これは、論理 n が満たされると論理 n-1 も満たされる必要があるため、満たされた条件の数に 1 を加えた値が選択されたパラメータ リストのインデックス番号となり、変換に *n 形式を使用する必要がないためです。典型的な問題は、旧個人所得税における労働報酬所得の税額計算です。たとえば、給与が 4,500 元の場合、それは両方とも 4,000 よりも大きく、800 よりも大きくなります。それらの論理値を加算し、1 を追加すると 3 が得られます。個人所得税は、式の値 3 を使用して計算されます。これは A2 です。 *0.8*0.2、次のように:
=CHOOSE(((A2>800) (A2>4000) (A2>25000) (A2>62500) 1),0,A2-800)*0.2, A2*0.8*0.2,A2*0.8*0.3-
2000,A2*0.8*0.4-7000)
VLOOKUP 関数を逆引き参照に使用する場合、IF{1,0} 構造を使用してテーブル データ列の再構築を完了します。これにより、ターゲット クエリがVLOOKUP の値はクエリ範囲の最初の列に表示されます。たとえば、次の図では、名前列がデータ ソース領域の成績列の右側にあるため、VLOOKUP を直接使用してクエリを実行することはできません。そのため、IF{1,0} を使用して列 A のデータを並べ替えます。 C. True (1) と判定された場合、$C$10:$C$14 列データを出力し、偽 (0) と判断して $A$10:$A$14 列データを出力し、$C$10 で新しい列を構築します。 :$C$14 を最初の列とし、$A $10:$A$14 を 2 列目の配列として検索領域として使用すると、VLOOKUP 関数でターゲット結果を正常にクエリできるようになります。
さて、ここで問題が発生します。 IF{1,0} 構造体は 2 列のデータの順序のみを指定でき、新しいクエリ領域に結合する複数列のデータの順序を指定することはできません。そのため、多くの場合、異なるクエリ列の複数のセルを分離する必要があります。同じクエリ ロジックの場合、数式を設定しますが、列の検索に一致するように入力数式をドラッグすることはできません。たとえば、現在、B2 の数式を C2 にドラッグして入力することはできません。 IF{1,0} 構造のこの欠陥により、CHOOSE! と比較して完全に失敗しました。
以下は CHOOSE のアプローチで、3 つのデータ列を一度に直接並べ替えて、統合されたクエリ領域を構築します。数式は、B2 から C2 に直接ドラッグして入力できます:
=VLOOKUP ($A2 ,CHOOSE({1,2,3},$C$10:$C$14,$A$10:$A$14,$D$10:$D$14),COLUMN(),0)
式の説明:
この数式の重要な点は、CHOOSE{1,2,3} 構造体を使用して、テーブル内のデータ A10:A14、C10:C14、D10:$D14 の 3 列を列 1 と A10 に再配置していることです。 :A14 (C10:C14 による) 列 2、D10:$D14、列 3 の順序で、Vlookup 検索領域として使用される新しいデータ領域が形成されます。次に、COLUMN() を使用して数式が配置されているセル内の列数を返し、VLOOKUP クエリによって返される列数を決定します。この CHOOSE 関数の使用法は、IF{1,0} 構造体が 2 列のデータの位置を交換して再構築することしかできないという制限を大幅に突破しており、後者の拡張版と言えます。
この記事では、Xiaohua が CHOOSE 関数と IF 関数の水平比較を通じて、CHOOSE の実践的な使用法をいくつか説明しています。 CHOOSE 機能に関連して他にどのようなスキルを知っていますか? Xiaohua とコミュニケーションを取り、共有するためのメッセージを残すことを忘れないでください。
関連する学習の推奨事項: Excel チュートリアル
以上がExcel 関数の学習 CHOOSE 関数と IF 関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。