このサイト・インストラクターのネタ帳で、同じIPアドレスから連続して
「#DIV/0!エラー」
「エクセル 0以外のときのみ除算」
といった検索が行われているのに気づきました。
まだExcelをバリバリ使いこなしている、とはいえないレベルの方なのだとは思いますが、この検索を行うまで自力で辿り着けたということは、きっとすぐにExcelを使いこなせるようになれる方なんじゃないかと思える検索です。
Excelでは「0」(ゼロ)で除算・割り算をすると#DIV/0!エラーとなります。
先の検索をした方は、#DIV/0!エラーが「0」で割り算したときに出るエラーだということに気づき、「0」でないときだけ割り算をすれば#DIV/0!エラーは出なくなるだろうということにまで辿り着いたのだと思えます。
#DIV/0!エラーが表示されるという問題が発生して、その原因が「0」による除算であることを推測し、その解決策として「0」でないときだけ除算すればいいということに気づけたということは、素晴らしいことだと感じます。
#DIV/0!エラーが表示されないようにするは?
というのはExcelの定番の質問の一つで、こういった処理を行うにはIF関数を使います。
▼操作方法:#DIV/0!エラーが表示されないようにする
※A1セルの値をB1セルで割り算する計算式をC1セルに入力して、B1セルが0のときに#DIV/0!エラーが表示されないようにする例
C1セルに
「=IF(B1=0,"",A1/B1)」
という数式を入力する
IF関数では引数を3つ指定します。
第1引数には論理式
第2引数には第1引数の論理式が当てはまるときにどうするか
第3引数には第1引数の論理式が当てはまらないときにどうするか
をそれぞれ指定します。
上記の「=IF(B1=0,"",A1/B1)」という数式で、第1引数は
「B1=0」
です。比較演算子「=」を使ってB1セルの値と「0」とを比較しています。
意味としては、B1セルの値が「0」であるかどうかという意味で、B1セルの値が「0」ならTRUE、「0」でないならFALSEが返されます。
B1セルが「0」のときには第2引数の「""」(ダブルクォーテーション2つ)、B1セルが「0」でないときには第3引数の「A1/B1」が実行されます。
第2引数に指定された「""」(ダブルクォーテーション2つ)は、Excelでこういった指示をする際の決まった書き方です。
Excelでは文字列を指定するときに「"」(ダブルクォーテーション)で括って指定します。
「""」というのはダブルクォーテーションで何も括られていない状態ですから、何も表示されない状態となります。
第3引数の「A1/B1」は、A1セルの値をB1セルの値で割り算するという意味です。
#DIV/0!エラーが表示されないようにするには上記の
「=IF(B1=0,"",A1/B1)」
とは別の書き方もできます。
「=IF(B1<>0,A1/B1,"")」
でも同じことです。
「B1<>0」
は、B1セルが「0」ではないという意味です。
「<>」は等しくないかどうかを調べる比較演算子で、
「=IF(B1<>0,A1/B1,"")」は、
B1セルが「0」でないときに「A1/B1」
B1セルが「0」でないとき、ではないとき(すなわち、B1セルが「0」のとき)に「""」
を実行しなさいという意味です。
論理式を「B1=0」から「B1<>0」にしたので、先の比較演算子「=」を使った場合とは、第2引数に指定されている内容と第3引数に指定されている内容とが入れ替わっています。
どちらの書き方がいいのかは、最終的に好みになりますが、一般的に二重否定(でないとき、ではないとき)というのは混乱することが多いですから、特にIF関数に慣れないうちは「B1=0」のほうが間違えにくいんじゃないかと思っています。
#DIV/0!エラーが表示されないようにするには、上記のような方法でいいわけですが、ワークシートの作り方によっては他のエラーが表示される可能性もあります。
どんなエラーでも表示されないようにするには、ISERROR関数を使ってください。
また条件付き書式を使ってエラーを見えないようにするという方法もあります。
ISERROR関数を使ったエラー回避や条件付き書式でエラーを見えなくする方法は、Excel初心者の方にとっては、簡単とはいえないものですから、まずは今回ご紹介した
「=IF(B1=0,"",A1/B1)」
という#DIV/0!エラー回避方法に、しっかり慣れていただき、この方法が問題なく使えるようになってから挑戦するのがいいと思います。
トラックバック:0
- TrackBack URL

