書式 | MATCH(検査値, 検査範囲, [照合の型]) | ||||||||||||||
概要 | セルの範囲内で指定された項目を検索し、その項目の相対的な位置を返す関数。 例えば、A1,A2,A3 セルに、それぞれ 10,15,20 という値が入力されていた場合、検査値 15 を指定すると、本関数は 2 番目の項目であるとして、2 を返却する。 | ||||||||||||||
引数 |
| ||||||||||||||
補足/解説 |
| ||||||||||||||
特記事項 | 補足/解説 2. に、検査値が見つからない場合の記載があるが、照合の型に 0 以外を指定した場合、エラーが発生しない場合もあるので、あえて注意喚起する。 そも、近似値を返す関数が、その近似値すら「見つからない」とする理由は、検査範囲のソートを実施しないことが原因である。 本関数は、検査範囲に指定された配列を、上から順に評価する関数なので、例えば昇順に並んだ「前提」で次の値を検査して、それが検査済みの値よりも小さい場合、検査値以下の最大値が「理論上特定できない」状態に陥り、関数としては「エラー終了」以外の選択肢が消えるのだ。 ところが、明示的なソートを実施しない状態でも、ある程度データが昇順に並んでいることはよくあるので、検査値(もしくは、その近似値)を発見するまでの過程で、論理矛盾が発生しなければ、そのときの値が返されてしまう。 つまり、更に先に検査を進めれば、検査値と合致するデータが存在する可能性を残したまま、処理が終了してしまうのだ。 したがって、ソートを忘れた場合は、関数がエラーを返却しないことの方が、戻り値が正確でない危険性があるので、注意が必要と言える。 | ||||||||||||||
使用例 |
| ||||||||||||||
参考:Excel2010 関数リファレンス |
I.M.L.,ltd
0 件のコメント:
コメントを投稿