Numbers08→09で式エラー
例えば、画像の部分の式は =IF(9月 :: G33-M10=0,"",9月 :: G33-M10) で、
別な二箇所(G33とM10)の数値を参照し、未記入又は0ならば空白に、そうでなければ実数を表示しろ、との簡単な式です。
ここら辺の取り扱いがNumbers09で変化したのか、それとも08では顕在化しなかったけれど式自体が間違っているのでしょうか。
例えば、画像の部分の式は =IF(9月 :: G33-M10=0,"",9月 :: G33-M10) で、
別な二箇所(G33とM10)の数値を参照し、未記入又は0ならば空白に、そうでなければ実数を表示しろ、との簡単な式です。
ここら辺の取り扱いがNumbers09で変化したのか、それとも08では顕在化しなかったけれど式自体が間違っているのでしょうか。
エラーメッセージ通りです。
""(長さ0の文字列)は未入力状態とは違って、足し算や引き算ができないということですね。関数[sum]は0と見なすようです。
Numbers '08では長さ0の文字列は0と見なされるようです。
仕様が変更されたのか、バグなのか、そもそも仕様がないのか(笑)
2バイト数字でできた文字列(例えば’15)をそのまま数値として扱えるような柔軟性をもっているソフトなので、長さ0の文字列を未入力と見なして足し算をしてくれるくらいのことはしてもよいとは思いますが。
現象として条件式の中の""は未入力セルでも真になるので、現状では
=IF(9月 :: IF(G33="",0,G3)-IF(M10="",0,M10)=0,"",9月 :: G33-M10)
の様に書くしかないのでしょう。
フィードバックをお勧めします。
こういちさん、お休みのところ回答いただきありがとうございます。
08と09の違い、原理的な面はゆっくり理解する事にして、とりあえず赤▲エラー表示を消そうと教えていただいた数式に変更したところ
『この数式には構文エラーが含まれています』
となります。
試行錯誤しましたけど解決には至りません。検討していただけないでしょうか。
-
なおフィードバックは一段落ついたら行います。
harubang による書き込み:
『この数式には構文エラーが含まれています』
あー!すみません。
表の指定があるのを忘れて変な式を作ってしまいました。(凡ミスも有るし)
=IF(IF(9月 :: G33="",0,9月 ::G33)-IF(9月 ::M10="",0,9月 ::M10)=0,"",9月 :: G33-9月 ::M10)
です。
G33とM10のどちらかだけ空白というのが有り得るなら
=IF(IF(9月 :: G33="",0,9月 ::G33)-IF(9月 ::M10="",0,9月 ::M10)=0,"",IF(9月 :: G33="",0,9月 ::G33)-IF(9月 ::M10="",0,9月 ::M10))
です。
早速修正いただき恐縮です。
試行錯誤していた時、括弧の数と位置やIFのことばかり考えていて、9月 :: の事はすっかり頭から抜け落ちていました。^_^;
G33とM10のどちらかだけ空白というのが有り得るので、二番目の式に修正したところ希望通りの結果になりました。ありがとうございます。
もっと簡単な数式になりました。
SUMが0と見なすというのを思い出して
=IF(SUM(9月 ::G33)-SUM(9月 ::M10)=0,"",SUM(9月 ::G33)-SUM(9月 ::M10))
通常SUMは複数の値の合計を求める関数ですが。(笑)
実は前回の書込みのときに、ちょっと長過ぎるのが玉にきずだなぁ、と思っていたので、今回の数式、ありがたいです。
更に簡単になるのは大歓迎ですので、いつまでもお待ちしています。オイオイ
Numbers08→09で式エラー