前提
配列数式初心者です。
以下の内容を、ググって調べて実現できたのですが、
挙動がきちんと理解できていません。
やったこと
①まず、表Aを作成します。
表A
A列 | B列 |
---|---|
工程種類 | 対応ランク |
PJ計画策定 | A |
開発 | B |
改修 | C |
②次に、表Bを作成します。
表B
D列 | E列 |
---|---|
工程 | ランク |
○○PJ計画策定 | |
共通モジュール開発 | |
機能A開発 | |
バグ改修 |
③表Bのランク列に、以下のような配列数式を記述します。
{=VLOOKUP(INDEX($A$2:$A$4, MATCH(TRUE,ISNUMBER(FIND($A$2:$A$4,$D2)),0)), $A$2:$B$4, 2, FALSE)}
④すると、表Bのランク列に、自動的に対応するランクが表示されます。
表B
工程 | ランク |
---|---|
○○PJ計画策定 | A |
共通モジュール開発 | B |
機能A開発 | B |
バグ改修 | C |
知りたいこと
上記の内容で、MATCH関数でなぜちゃんと対応した行数が返されるのか、
イマイチよく理解できません・・・・。
おそらく、ISNUMBERの戻り値がTRUEになった行数が返されるのだと思うのですが、
なぜそうなるのかが分からないのです。
詳しい方、ご教示いただけますと幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/04 07:46