ゼロ除算の数式エラーについて

Numbers'09初心者です。

経営している店の日々の売上や客数、客単価などの管理をしたいと思い

表を組んで数式を入れたのですが

「売上合計のセル/客数のセル=客単価」の数式が

数字が入力されていない日の行で(当日以降の日付分や定休日の日付の行など)

「数字をゼロで割ることはできません」というエラーが出ます。

客単価の平均を取るための数式でも、ゼロ除算のエラーが出ているセルが

含まれているためと思われるエラーが出てしまって、平均の計算をしてくれません。

このエラーを回避する方法はないでしょうか?

MacBook Pro, Mac OS X (10.5.8)

投稿日 2011/01/08 08:59

返信
返信: 21

2011/01/08 21:50 お子様ランチ. への返信

質問者さんは平均まで出したいという希望をふと思いだしたので

あえて=IF(客数=0,"",売上合計/客数)に落とし穴があるかもしれないという部分を書いておきます。

この式だとセルがヌルストリングになり,AppleWorksや他の表計算で関数=AVERAGEで計算すると間違った平均結果をだします。


ユーザがアップロードしたファイル

ヌルストリングのあるB列の平均AVERAGE関数はなんと10を答えとして出してます。

もちろん、0が代入されているC列の7.5が正解です。


Numbersが同じ結果を出すのか、どうか解りません。

2011/01/08 16:56 Tec8 への返信

取りあえずオートフィルは考えずに Tec8さんの =IF(客数=0,"",売上合計/客数) の数式だけで出来ますが、補足のため実際に作ってみました。

ユーザがアップロードしたファイル

表の上がIF関数を使った場合で、空欄でもエラーになりません。

表の下が、多分、daisuke07さんの場合と同じく、客単価を出す計算式として 売上/客数 としただけで、赤三角をクリックすれば「数字をゼロで割ることはできません」エラーが出ます。

Numbersは他の表計算ソフト、例えばエクセルは勿論 AppleWorksとも設計思想がかなり違います。たとえばこのサイトに「どちらかというと高機能な表計算機能を含んだ、レイアウト自由なワープロ、あるいはイラレに表計算が付いたような感じ?」と書いてありますが、うなずける部分も多いです。^_^

表の上がIF関数を使った場合で、空欄でもエラーになりません。

表の下が、多分、daisuke07さんの場合と同じく、客単価を出す計算式として 売上/客数 としただけ、赤三角をクリックすれば「数字をゼロで割ることはできません」エラーが出ます。


Numbersは他の表計算ソフト、例えばエクセルは勿論 AppleWorksとも設計思想がかなり違います。たとえばこのサイトに「どちらかというと高機能な表計算機能を含んだ、レイアウト自由なワープロ、あるいはイラレに表計算が付いたような感じ?」と書いてありますが、うなずける部分も多いです。^_^

2011/01/10 19:10 daisuke07 への返信

エクセルとかNeoofficeだと、図のようにセルの右下をつかんで下にドラッグするだけで、式などがコピー&ペーストできてます。

Numbersでも同じくできるといいですね。

とにかくこのあたりの初歩的なことは質問より先にヘルプを熟読することおすすめします。

ーーーーーーーーーーーーー

参考として他の方法として私が表計算でやっていたことを書くと

エクセルでは直接Sheetに入力しなくて済む便利なデータフォームという入力形式があり、これだと数式が自動コピー&ペーストできてました。

Numbersにも似たような機能があると便利そうですが…

(Neoofficeにも"データ書式"

というデータ入力用フォームがありますが、これは残念ながら発展途上なのか数式を自動コピー&ペーストしてくれません)。

エクセルとかNeoofficeだと、図のようにセルの右下をつかんで下にドラッグするだけで、式などがコピー&ペーストできてます。

ユーザがアップロードしたファイル

Numbersでも同じようにできるといいですね。


とにかくこのあたりの初歩的なことは質問より先にヘルプを熟読することおすすめします。


蛇足

ー参考事例ー

他の表計算の方法として

エクセルでは直接Sheetに入力しなくて済む便利なデータフォームという入力形式があり、これだとセルに数式が自動コピー&ペーストできてました。

Numbersにも似たような機能があると便利そうですが…


(Neoofficeにも"データ書式"

ユーザがアップロードしたファイル

というデータ入力用フォームがありますが、これは残念ながら発展途上なのか数式を自動コピー&ペーストしてくれません)。


2011/01/08 18:36 harubang への返信


ユーザがアップロードしたファイル


表の上がIF関数を使った場合で、空欄でもエラーになりません。

表の下が、多分、daisuke07さんの場合と同じく、客単価を出す計算式として 売上/客数 としただけで、赤三角をクリックすれば「数字をゼロで割ることはできません」エラーが出ます。

Numbersは他の表計算ソフト、例えばエクセルは勿論 AppleWorksとも設計思想がかなり違います。たとえばこのサイトに「どちらかというと高機能な表計算機能を含んだ、レイアウト自由なワープロ、あるいはイラレに表計算が付いたような感じ?」と書いてありますが、うなずける部分も多いです。^_^



私なら、2日めは空欄でなくどうしても零を表示させたくなってしまいます。

=IF(客数=0,"",売上合計/客数)を

=IF(客数=0,0,売上合計/客数)とすると、Numbersではエラーになるのでしょうか?


たとえばこのサイトに「どちらかというと高機能な表計算機能を含んだ、レイアウト自由なワープロ、あるいはイラレに表計算が付いたような感じ?」と書いてあります


AppleWorksはワープロやドローなどの書類の中に表計算のフレームを挿入できましたので、似たようなことはできていたと記憶してます。

2011/01/08 14:11 daisuke07 への返信

A列に売上、B列に客数とする。

これおAppleWorksでやってみると=IF(A1=0,0,A1*B1)

でできましたので、Numbers'09でもできると思います。

ただ、B列に0がある場合はAppleWorksではちょっと思いつかないですが、Neoofficeの表計算だと=IF(OR(A1=0;B1=0);0;A1/B1)とするとできました。

これらをヒントにNumbersでやってみてください。

ちなみに私はNumbersを持ってないので、あしからず。

A列に売上、B列に客数とする。

これをAppleWorksでやってみると=IF(A1=0,0,A1/B1)

でできましたので、Numbers'09でもできると思います。


ただ、A列に1以上の数値がり、B列に0がある場合はAppleWorksではちょっと思いつかないですが、

Neoofficeの表計算だと=IF(OR(A1=0;B1=0);0;A1/B1)とするとできました。


これらをヒントにNumbersでやってみてください。

ちなみに私はNumbersを持ってないので、あしからず。

2011/01/08 19:03 お子様ランチ. への返信

この警告は、Excelなら「#DIV/0!」を返すところでしょうね。

=IF(客数=0,"",売上合計/客数)を

=IF(客数=0,0,売上合計/客数)とすると、Numbersではエラーになるのでしょうか?



Numbersでもちゃんと、0 の値が返されますが、

数式はセル値参照でなく、列タイトルでも計算するようですがその場合は、


=IF(客数=0,0,売上/客数)


と正しく入れてやらないと、「無効な参照」としてやっぱり警告が出ます。


# わたしも「0」は表示させたくないですね、「-」も赤表示には抵抗があります。(^^;

2011/01/08 22:30 お子様ランチ. への返信

確かに Numbers でも同様の値を返しますね。


また、=AVERAGE(B2:B5)のセル内に参照セルがあると、結果は


・IF 関数で非表示("")にした場合 10

・IF 関数で「0」(0)にした場合 7.5


ということで平均も含めてだと IF 関数式回避法は、お子様ランチ. さん案のほうが間違いは少なそうですね。



追記:HAL さんリンクのカスタムフォーマットで(IF併用)が一番良さそうな気がします。


このメッセージは次により編集されています:Tec8

2011/01/08 23:10 お子様ランチ. への返信

あの〜AppleWorks好きが嵩じて、Numbersに「敵意」を持つあまり錯覚してません? それとも私が落とし穴?

例えば試験の平均点を出すのだったら、受けなかった試験を0点と考えて平均点を出しても構わないけど、元々の質問の「客単価の平均」という意味を良く考えて下さい。

客単価10円の日が三日で一日休みなら、平均客単価は7.5円ではなく10円。

この場合は AVERAGE関数ではなく、売上の総合計/客数の総合計=平均客単価

あの〜AppleWorks好きが嵩じて、Numbersに「敵意」を持つあまり錯覚してません? それとも私が落とし穴?


例えば試験の平均点を出すのだったら、受けなかった試験を0点と考えて平均点を出しても構わないけど、元々の質問の「客単価の平均」という意味を良く考えて下さい。

客単価10円の日が三日で一日休みなら、平均客単価は7.5円ではなく10円。

この場合は AVERAGE関数ではなく、売上の総合計/客数の総合計=平均客単価

2011/01/08 23:28 harubang への返信

あの〜AppleWorks好きが嵩じて、Numbersに「敵意」を持つ



Numbersに「敵意」を持つという意味の根拠はどこにあるのでしょう?


私はNumbersを持ってない。よってそれに近い動きをするだろうAppleWorksを例にとっているだけですよ。


それに今はNioofficeしか使ってないので敵意とかそういう感情はありません。


自分の感情はともかく、いつもここある問題をよりよく解決したいだけなんですよ。

2011/01/08 23:52 harubang への返信

客単価10円の日が三日で一日休みなら、平均客単価は7.5円ではなく10円。

この場合は AVERAGE関数ではなく、売上の総合計/客数の総合計=平均客単価


そうかもしれませんが

daisuke07氏による書き込み:


客単価の平均を取るための数式でも、ゼロ除算のエラーが出ているセルが

含まれているためと思われるエラーが出てしまって、平均の計算をしてくれません。

このエラーを回避する方法はないでしょうか?

とあるのでAVERAGE関数を使われていると考えるのが妥当と思いました。

そして、私はAVERAGE関数を使う時のヌルストリングの”落とし穴があるかもしれない”という部分を書いただけです。


harubang氏 による書き込み:

売上の総合計/客数の総合計=平均客単価


と私にではなくdaisuke07氏に教えてあげるといいです。


このメッセージは次により編集されています:お子様ランチ.

2011/01/10 07:05 daisuke07 への返信

みなさま回答ありがとうございます。

=IF(客数=0,"",売上合計/客数) で、問題を回避できました。


ゼロを表示させるかどうかについてですが

平均単価の計算で、確かにお子様ランチ.さんのおっしゃるように

AVERAGE関数を使っていましたが

harubangのご指摘の通り、AVERAGE関数で計算すると

休業日の日数まで含まれてしまうので、

「売上の総合計/客数の総合計」で求めるのが正しいと気付きました。

ですので、ゼロを表示させる必要はなさそうです。


ついでと言っては何なのですが、

平均単価のセルの列に「=IF(客数=0,"",売上合計/客数)」の数式を入れていく作業は

客数、売上合計の各セルを指定しながら1行ごとに手作業で編集していくしか

ないのでしょうか?

同じ法則でまとめて編集する方法があっても良さそうだと思うのですが

マニュアルを見てもわかりませんでした。

絶対参照と相対参照というのを使うのでしょうか?

2011/01/10 07:45 daisuke07 への返信

daisuke07 さんによる書き込み:


ついでと言っては何なのですが、

平均単価のセルの列に「=IF(客数=0,"",売上合計/客数)」の数式を入れていく作業は

客数、売上合計の各セルを指定しながら1行ごとに手作業で編集していくしか

ないのでしょうか?

同じ法則でまとめて編集する方法があっても良さそうだと思うのですが

マニュアルを見てもわかりませんでした。

絶対参照と相対参照というのを使うのでしょうか?

一般的には数式では相対参照を使うと思うので、単純にコピー&ペーストでできますね。


X列が売上合計、Y列が客数、Z列が平均単価とすると、例えばZ2のセルに「=if(Y2=0,"",X2/Y2)」と入力したとします。

ここでZ2のセルにカーソルがある状態でメニューからコピーを選ぶかcommand+Cキーで数式をコピーします。

その後、同様の数式を入力したい範囲、例えばZ3〜Z32をカーソルのドラッグまたはshiftキーを併用して選択してから、メニューのペーストを選ぶかcommand+Vキーで数式をペーストします。

このように操作すれば、Z3のセルには「=if(Y3=0,"",X3/Y3)」、Z4のセルには「=if(Y4=0,"",X4/Y4)」、というように以下同様に相対位置を参照する数式が入力されます。

2011/01/10 17:41 daisuke07 への返信

念のための補足です。

客単価は営業結果を知ると共に、これからの営業政策を決定する重量な要素の一つですから間違った数字がでると大事なので、前回書き込みました。

これからもNumbersを利用して営業状態を調べる数表を作られることでしょうが、その数表で使った計算式が相応しいかどうか(計算式として正しいかどうかではなく、目的に合っているかどうか)を判断するいい方法をお教えします。

それは極端な数値を入力してみるのです。例えば客単価を例にとると、ある日(売上1000円客数1人)次の日(売上100000円客数10人)

するとAVERAGE関数を使った場合のおかしさが直ぐに分かる筈で、これを極端でない数値を入力した場合、一見しておかしい事に気づかず、見過ごす事になってしまいます。

私は青色申告関係の書類をNumbersで作って事前にシミュレーションさせてますが、そのときに気分が乗るようにNumbersで実物そっくりにデザインしたものを作りました。

関数等になれれば、将来の構想を考えるためや金融機関から融資を受ける際にも必要な事業計画書も作れるようになります。頑張って下さい。

念のための補足です。

客単価は営業結果を知ると共に、これからの営業政策を決定する重量な要素の一つですから間違った数字がでると大事なので、前回書き込みました。

これからもNumbersを利用して営業状態を調べる数表を作られることでしょうが、その数表で使った計算式が相応しいかどうか(計算式として正しいかどうかではなく、目的に合っているかどうか)を判断するいい方法をお教えします。

それは極端な数値を入力してみるのです。例えば客単価を例にとると、ある日(売上1000円客数1人)次の日(売上100000円客数10人)とか。

するとAVERAGE関数を使った場合のおかしさが直ぐに分かる筈で、これを極端でない数値を入力した場合、一見しておかしい事に気づかず、見過ごす事になってしまいます。


私は青色申告関係の書類をNumbersで作って事前にシミュレーションさせてますが、そのときに気分が乗るようにNumbersで実物そっくりにデザインしたものを作りました。

関数等になれれば、将来の構想を考えるためや金融機関から融資を受ける際にも必要な事業計画書も作れるようになります。頑張って下さい。

2011/01/11 04:54 お子様ランチ. への返信

お子様ランチ. さんによる書き込み:



エクセルとかNeoofficeだと、図のようにセルの右下をつかんで下にドラッグするだけで、式などがコピー&ペーストできてます。

Numbersでも同じくできるといいですね。

とにかくこのあたりの初歩的なことは質問より先にヘルプを熟読することおすすめします。

ーーーーーーーーーーーーー

参考として他の方法として私が表計算でやっていたことを書くと

エクセルでは直接Sheetに入力しなくて済む便利なデータフォームという入力形式があり、これだと数式が自動コピー&ペーストできてました。

Numbersにも似たような機能があると便利そうですが…

(Neoofficeにも"データ書式"

というデータ入力用フォームがありますが、これは残念ながら発展途上なのか数式を自動コピー&ペーストしてくれません)。

エクセルとかNeoofficeだと、図のようにセルの右下をつかんで下にドラッグするだけで、式などがコピー&ペーストできてます。

(中略)

Numbersでも同じようにできるといいですね。


失礼しました。(^^;

敢えて書きませんでしたが、この操作はNumbersでもできます。

一応コピー&ペーストの方が基本的だと思ったので、無難な方で説明させていただきました。


ちなみに、Excelと同様に「a、aa、aaa」と入力した3行のセルを選んでおいて右下角を下方にドラッグすると「a、aa、aaa、a、aa、aaa、…」と繰り返しペーストすることもできますね。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

ゼロ除算の数式エラーについて

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。