| レベル2  表の見栄えをよくしよう −IF関数を使ってエラーを処理する− | 
| レベル1へ | EXCELで血統表を作ろう! 目次へ | トップページへ | 
| レベル1 で作成した3代血統表を開いてください. (いきなり レベル2 に来てしまった方は,申し訳ありませんが, レベル1 から始めてください.) A1セルに“Colorspin”と入力し,3代目(C列)に“#N/A”が表示された状態にします. | 
| A | B | C | |
| 1 | Colorspin | ||
| 2 | |||
| 3 | High Top | Derring-Do | #N/A | 
| 4 | #N/A | ||
| 5 | Camenae | #N/A | |
| 6 | #N/A | ||
| 7 | Reprocolor | Jimmy Reppin | #N/A | 
| 8 | #N/A | ||
| 9 | Blue Queen | #N/A | |
| 10 | #N/A | ||
| C3セルには“=VLOOKUP(B3,HD,2,0)”と入力されていますね. “HD”の部分は,E2セル〜G16セルの範囲に対して設定した名前です.別の範囲名を設定した方はその名前,範囲名の設定をしていない場合は,“E2:G16”になっています. このセルの式を,次のように書き換えます. =IF(ISERROR(VLOOKUP(B3,HD,2,0)),"",VLOOKUP(B3,HD,2,0)) | 
| IF関数は,条件によって異なる処理をさせるときに使います. =IF( A=X , B , C ) 
 | 
| ISERROR関数は,指定した対象がエラーかどうかを調べ,エラーだった場合は TRUE を返します. =ISERROR( VLOOKUP(B3,HD,2,0) ) VLOOKUP(B3,HD,2,0) の値がエラーのときは TRUE を,エラーでないときは FALSE を返します. | 
| C3セルの式を書き換えると,セルの表示が空白になりました.でも,これはまちがいではありません. A1セルの値を“テイエムオペラオー”にしてみましょう.C3セルは“Northern Dancer”となり,正しく表示されています. もう一度A1セルを“Colorspin”に戻します.C3セルに“#N/A”が表示されなくなったのは,「もしセルの内容がエラーだったら何も表示せず,エラーでないときはその値を表示しなさい」という式に書き換えたからです. IF関数とISERROR関数を組み合わせることで,このようにエラー表示をなくすことができます. データの未入力や参照先にデータがないなど,「仕方のないエラー」はこの方法で回避して見た目をすっきりさせましょう. C3セル以外のセルも,全部同じように書き直してください.A1セル〜C10セルは次のようになります. (書き直すのが面倒な方は,下の表をそっくりコピー&ペーストしてください) | 
| (馬名を入力するセル) | ||
| =IF(ISERROR(VLOOKUP(A4,HD,2,0)),"",VLOOKUP(A4,HD,2,0)) | =IF(ISERROR(VLOOKUP(B3,HD,2,0)),"",VLOOKUP(B3,HD,2,0)) | |
| =IF(ISERROR(VLOOKUP(A1,HD,2,0)),"",VLOOKUP(A1,HD,2,0)) | =IF(ISERROR(VLOOKUP(B3,HD,3,0)),"",VLOOKUP(B3,HD,3,0)) | |
| =IF(ISERROR(VLOOKUP(A4,HD,3,0)),"",VLOOKUP(A4,HD,3,0)) | =IF(ISERROR(VLOOKUP(B5,HD,2,0)),"",VLOOKUP(B5,HD,2,0)) | |
| =IF(ISERROR(VLOOKUP(B5,HD,3,0)),"",VLOOKUP(B5,HD,3,0)) | ||
| =IF(ISERROR(VLOOKUP(A8,HD,2,0)),"",VLOOKUP(A8,HD,2,0)) | =IF(ISERROR(VLOOKUP(B7,HD,2,0)),"",VLOOKUP(B7,HD,2,0)) | |
| =IF(ISERROR(VLOOKUP(A1,HD,3,0)),"",VLOOKUP(A1,HD,3,0)) | =IF(ISERROR(VLOOKUP(B7,HD,3,0)),"",VLOOKUP(B7,HD,3,0)) | |
| =IF(ISERROR(VLOOKUP(A8,HD,3,0)),"",VLOOKUP(A8,HD,3,0)) | =IF(ISERROR(VLOOKUP(B9,HD,2,0)),"",VLOOKUP(B9,HD,2,0)) | |
| =IF(ISERROR(VLOOKUP(B9,HD,3,0)),"",VLOOKUP(B9,HD,3,0)) | 
| だんだん血統表らしくなってきましたが,馬名だけではちょっと寂しいですね. レベル3 では性別,毛色,生年のデータを追加し,これらを馬名とともに表示させます. ここまでの血統表は レベル3 でも使いますので,保存しておいてください. | 
| レベル1へ | 
| レベル3へ | 
| EXCELで血統表を作ろう! 目次へ | 
| トップページへ | 
