Excel2007実務で利用するワークシートでは数式が複雑になることが少なくありません。複雑な数式をデバッグをする際、どんな操作をしてらっしゃいますか?2002以降のExcelなら[数式の検証]ダイアログを使ってデバッグするという方法もありますが、私個人的としては[数式の検証]ダイアログよりも、これからご紹介する方法のほうが使いやすいと感じています。数式ではなく、計算結果を残す−F9キーワークシートとリンクされていないグラフの作り方といったネタをご紹介してきましたが、これらのネタの中で利用した[F9]キーを使ってデバッグをすることができるのです。具体的には以下のような操作を繰り返します。39KByte)ダウンロード実際に上記の方法を使い、サンプルファイルのC2セルで数式のデバッグを行う様子を確認してみましょう。数式で行いたいことサンプルファイルでは、得点が平均を超えていたら「合格」、そうでなければ「不合格」という文字列を表示させようとしています。実際の平均点は「73.6」なので、74点以上の人には「合格」と表示されるべきなのですが、そうはなっていません。数式のどこかに間違いがあるはずですから修正しなければいけません。(なお、この程度のバグの場合、[F9]キーを使いこなせるレベルの方なら、[F9]キーを使わなくても間違いに気づくはずですが、[F9]キーの説明ということでご了承ください。)数式の一部を選択してF9まず下図のように数式の一部AVERAGE($B$3:$B$6)だけを選択します。ここで[F9]キーを押すと、選択されていたAVERAGE($B$3:$B$6)だけが実行され下図のような状態となります。「79.5」という数値が表示されています。これは[F9]キーを押す前に選択されていたAVERAGE($B$3:$B$6)だけが計算された結果です。本当の平均点「73.6」とは異なった値となっているので、このAVERAGE関数のどこかに間違いがあると推測できます。引数だけを選択してF9ここで[Esc]キーを押して、数式を元の=IF(B2>AVERAGE($B$3:$B$6),"合格","不合格")に戻します。次に、下図のようにAVERAGE関数の引数$B$3:$B$6だけを選択して、[F9]キーを押します。すると今度は下図のような状態となります。選択していた引数の$B$3:$B$6が、{78;79;80;81}になったのです。これは、$B$3:$B$6というセル参照が実行され、実際セルに入力されているデータになった状態です。「$B$3:$B$6」セルには78798081という数値が含まれていることを示しています。実際の値と見比べるここで、実際のB2:B6セルの値とよく見比べてみます。実際には5078798081という数値入力されていますから、[F9]キーで実行した場合{78;79;80;81}ではなく{50;78;79;80;81}にならなければいけません。Escで数式をもとに戻す[Esc]キーを押して数式を元に戻すと、$B$3:$B$6となっています。本当は$B$2:$B$6がAVERAGE関数の引数として指定されていなければならないところが$B$3:$B$6となってしまっています。B2セルからB6セルまでを指定しなければならないのにB3セルからしか指定されていません。間違ってしまったというわけです。[F9]キーを使ったデバッグは以上のような手順で行います。プログラムでデバッグを行う場合も、途中まで実行したときの変数の値を確認したりといったことをしますが、Excelの数式で同様のことをするには上記のように、数式の一部を選択して[F9]キーで実行、[Esc]キーで元の数式に戻すという操作を行うわけです。複雑な数式の修正などで苦労しているという方は、是非お試しください。数式の一部分を選択する際には、以前ご紹介した関数のヒントも合わせて使うと便利だと思います。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。(2008.01.27)このブックには、ほかのデータソースへのリンクが含まれています。(2008.01.01)開いているブックには、ほかのファイルへの自動リンクが設定されています。