「記号」列を入力すると、その内容に応じて「優先度」列の値が設定されるリストを作る

通常ならばIF関数をネストさせてやるが、これだと複雑。
IF( 記号 =" ◎ ","S",IF( 記号 =" ○ ","A",IF( 記号 =" △ ","B",IF( 記号 =" × ","C",""))))
CHOOSE関数とMATCH関数を使って、もっと簡潔にできる。
CHOOSE(MATCH( 記号 ,{" ◎ "," ○ "," △ "," × "},0),"S","A","B","C")
MATCH
範囲内で値を検索し、見t買った値が何番目に位置するのかを数値で返す。上記でいうと、記号列が「◎」なら「1」、「○」なら「2」といった具合。第2引数の「0」は「完全一致」という意味。
CHOOSE
第1引数のインデックスに応じて、第2引数以降の値を返す。上記でいうと、インデックスが「1」なら「S」、「2」なら「A」といった具合。
Excel表示例

=CHOOSE(MATCH(B:B,{"◎","○","△","×"},0),"S","A","B","C")
0 件のコメント:
コメントを投稿