Excel。ランキングがABCの評価でその中から最高値を見つけ出す方法
<CODE&MIN&CHAR関数>
先日、ある評価表を見せてもらったら、Aが一番いいABC評価の表でして、
お伺いするとなんでも、自分の目で、一番いいアルファベットを見つけているそうでして、
Excel VBAでないと、見つけ出すことは出来ませんかね?とおっしゃっておられましたので、
まぁVBAにしなくても、いくつかのステップを重ねたら求めることは出来ますとお伝えたところ、
教えてほしいということでしたので、
今回は、ABC評価の表から一番いいアルファベットを見つける方法をご紹介いたします。
まずは、下記の表をご覧ください。
1回目から5回目までの評価がありまして、
その中から一番いい評価のアルファベットをH列に求めるという表でして、
このH列をどうやったら求められるのか?というのが、今回のテーマなんですね。
アルファベット順なんだから、
MIN関数を使えば簡単に算出できると思ったら大間違いなんですね。
では、実際にやってみましょう。
H3をクリックして、MIN関数を設定してみましょう。
数式は、
=MIN(C3:G3)
ですね。すると、結果は0(ゼロ)と表示されてしまいました。
このMIN関数は数値の大小を比べる関数なのです。
ですから、アルファテクニックは【文字】なので、リアクションをしてくれません。
IF関数を使って比較していくなんて方法もあるのでしょうけれど、数式が煩雑になってしまいます。
そこで、このような場合、一発で算出しないで、一時作業場を作って、
複数のステップを経ると簡単に算出することが出来るのです。
では、9行目から下記のように作業用の行を作成します。
最初に行うのは、数値ならば、MIN関数が使えるわけですね。
ですので、文字を数値に変換していきます。
文字には、それぞれ文字コードというのを持っていますので、文字コードを表示する関数。
CODE関数を使っていきます。
では、C9をクリックして、CODE関数ダイアログボックスを表示しましょう。
文字列には、内藤さんの1回目である、C3を入力します。
あとはOKボタンをクリックしましょう。
当然、手入力したほうが楽な関数ですので、手で数式を入力してもOKですよ。
すると、文字コードが算出することができましたね。Cという文字コードは67ということです。
あとは、オートフィルで数式をコピーしましょう。
Bは66。Aは65。というように文字コードはバラバラに振られている訳ではなくて、
連続で振られています。
この数値を使って、H9:H13にMIN関数で最低値を算出しましょう。
H9の数式は、
=MIN(C9:G9)
ですね。数式はオートフィルでコピーしておきましょう。最後は、文字コードの数値のままではいけませんので、
今度は、文字コードを文字に変換する作業をします。
文字コード(数値)を【文字】に変換する関数。
CHAR関数の登場ですね。
H3をクリックして、CHAR関数ダイアログボックスを表示しましょう。
数値には、H9を入力して、OKボタンをクリックしましょう。
あとは、オートフィルで数式をコピーしてみましょう。
これで、完成しましたね。
このように、数ステップに分けてあげれば、
Excel VBAを使わなくても求めることが出来るんですよ。
そうそう、ちなみに…どうしても、一発で求めたい方は、
配列関数を使ってあげれば求めることもできますよ。
H3に作るとしたら、
{=CHAR(CODE(C3)))}
という配列関数を使った数式を設定してあげれば一発で求めることが出来ますよ。なお、{}のカッコは自分で入力しませんよ。
=CHAR(CODE(C3))を入力したら、
Ctrl + Shift + Enter
で配列関数の設定ですよね。ということで、機会があれば是非。