EXCELで血統表を作ろう!

レベル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関数は,条件によって異なる処理をさせるときに使います.

    =IF( A=X , B , C )
A=X 条件を示す式です.A=X の場合とそうでない場合で処理を変えます.
B A=X のとき(A=X が真のとき)B という処理をします.
C A=X でないとき(A=X が偽のとき)C という処理をします.


【ISERROR関数】

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 では性別,毛色,生年のデータを追加し,これらを馬名とともに表示させます.

ここまでの血統表は レベル3 でも使いますので,保存しておいてください.


レベル1へ
レベル3へ
EXCELで血統表を作ろう!  目次へ
トップページへ


address=http://cosmarr.com