• ベストアンサー

Excel2000のセルの内容について

環境:Win2000sp2, Excel2000 Excel2000である集計を行っていますが、以下の問題でつまづいています。 どなたかわかる方、回答をよろしくお願いします。 詳細が不明な場合は、これが正常かどうか程度でもいいので、お願いします。 セルの書式設定-表示形式は、標準です。 セル:内容 ○パターンA A1:=1.1-1 A2:=Len(A1) だと、3が返ります。 数式の編集でA1の中身を見ると0.1が入っています。 しかし、 ○パターンB B1:=26.4-26.3 B2:=Len(B1) だと、18が返ってきます。 数式の編集でB1の中身を見ると0.09999999999999と入っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • k-family
  • ベストアンサー率34% (180/523)
回答No.1

0.09999999999999となるのは2進数の問題です。10進数を正確に2進数に変換できないので26.4-26.3の結果が0.1になっていないだけのことです。 A1やB1は数値です。lenの引数は文字列です。そこで、エクセルは気を利かして数値を文字列に直してくれているようです(私はエラーにすればいいのではないかと思いますが)。文字列にしたとき、何桁まで表示するのか、切り捨てるのか四捨五入か、等はエクセル内部で決まっていてその結果0.09999999999999となり18を返したと言うことだと思います。

BlueRay
質問者

お礼

う~ん、そこまで詳しく考えたことありませんでした。(^^; 厳密な数字を使う事が多いので、今後エクセルを信じて組んでいくのが 少しばかり・・・怖くなりました。(^^; 10進&2進の整合を取るようなことがされていれば、 出てくる問題ではないのでしょうね。 回答どうもありがとうございました。

その他の回答 (1)

  • TMINET
  • ベストアンサー率32% (45/140)
回答No.2

異常だと感じられると思いますがコンピュータの世界では正常です。 少数は浮動小数点形式で値を保持しています。(コンピュータの場合) これが便利なのですが曲者でして、説明すると長くなるので割愛しますが、要するに値を近似値で持っていると思ってください。 ですから同じ0.1と表示されていても実際は同じ値ではありません、とても近い値というわけです。 小数部の精度を指定しない場合はこんな表示になったりします。 小数部の大きい(長い)計算をすると精度を保つことも出来なくなりますのでお気を付け下さい。

BlueRay
質問者

お礼

近似値ですか・・・計算するソフトなのに、少しあいまいですね。(^^; 特にお金関係の処理をエクセルに任せるようなことはちょっと危険ですね。 大きい値になれば、少しずつずれが出てくると言う事ですから。 エクセルの利用率をもう一度考え直す必要があることがわかったのが幸いです。 どうもありがとうございました。

関連するQ&A

  • EXCEL2003:セルの内容を参照できない

    お世話になります。 セル[A1]~[A3](セル結合) セル[B1]~[B3](セル結合) 上記のようになっていて、[B1]は『=A1』として[A1}に入力されている内容を参照(反映)させたいのですが、なぜか[B1]には『=A1』とそのまま表示されてしまいます。 これまで調べた結果を下記に記述いたします。 ・全ての Book で起こる現象ではなく、特定の Book でのみ起こる。 ・その Book でもきちんと参照しているセルもある。 ・参照先、参照元の表示形式は、数値でも文字列でも関係ない。 ・[B1]のセルを『編集』→『クリア』→『すべて』とし、結合が解除された状態から再度結合し『=A1』とするときちんと[A1]の内容が表示される。 ・上記の状態で[B1]をダブルクリック(もしくはF2キー押下)でセルの内容を編集出来るようにし、何も編集しないで[Esc]を押下したり、[Enter]を押下すると元の『=A1』という表示に戻ってしまう ・同じ操作をしても、症状が起こるセルと起こらないセルがある。 ・症状の起こっているシートを、新しい Book にコピーしても症状が起こる。 ●使用環境 ・Windos Vista HP SP2 ・Excel 2003 以上のような状況で困っております。 ご教示の程、宜しくお願い致します。

  • 条件付き書式 数式について Excel2003

    条件付き書式 数式について こんにちは。Excel2003を使用しています。条件付き書式を数式で使おうと思っています。 A列のセルの書式設定は「日付」になっています。 A1に「2011/7/28」とはいっています。 やりたいことは、A列の日付が今日の日付とイコールならA1~C1のセルの背景色を赤にしたいと思っています。 そこで、書式の条件付き書式から数式を選び、下記の式を入力しました。 today() = A1 で書式のパターンを赤にしました。 しかしながら、何もかわりません。何が間違っていると考えられるでしょうか?

  • Excel2003の「セルの書式設定」について

    ○WindowsXP Pro SP2 ○Excel2003 上記の組み合わせでExcel文書の特定セルの「書式設定」でパターンに黄色などの色指定をしました。 ところが,編集画面上では設定した色が表示されず, 印刷プレビューで見ると設定した色が表示されます。 印刷してもちゃんとカラー出力されます。 なぜ編集画面で設定した色が表示されないのでしょうか? どなたか解決方法をご存知ありませんか?

  • 【Excel2003】数式を含むセルのオートフィルがうまくいきません。

    Excel2003 で数式を含むセルのオートフィルを実行したら、おかしなことになります。例では、=sumif($B$2:$B$19,$B$21,$E$2:$E$19)のセルを下方向にフィルハンドルを使ってコピーしても、数値のコピーにしかなりません。書式のみのコピーにしたら空白がコピーされます。 どうすれば絶対参照を含む数式のコピーがうまくいきますか?

  • EXCELのセルの書式設定-表示形式について

    Excelで、表示形式が自動で戻る方法を教えてください。 例えば、 セル「A1」の表示形式をセルの書式設定にて「文字列」にします。 そして、セル「A1」に値を入れます。(例えば012等) そうすれば、この値は文字列として、「012」と表示されます。 その後、セル「A1」の表示形式を「標準」に戻した時に、 自動的に標準に戻りゼロが消えて、「12」と表示されると思ってたんですが、 「012」のままでした。 ただ、ファンクションキーの「F2」や、セル「A1」をダブルクリックして、 一度、セル「A1」を編集状態にして「Enterキー」を押したら、標準に戻ります。 表示形式を「標準」に変えた時点で「標準」に戻る方法をどなたかご教授願います。 ちなみに使用しているのは「Excel2000」です。 以上宜しくお願いいたします。

  • 【Excel】数式のみセルに反映

    Excel2007です。 数式のみセルに反映させたいのです。 「数式」を選択しても、計算式は反映されますが、数字はそのままなのでこれを 数字はクリアにして、書式と計算式だけ別のセルに反映させたいのですが、できますか?

  • Excel セルの書式設定

    Excel2002を使っています。 セルB1に、数式 =A1 を設定しています。 さらに、セルB1には、セルの書式設定で、ユーザー定義 "*** " @ " ***" を設定しています。 セルB2は、数式 =A2 セルB3は、数式 =A3 ・ ・ ・ (上記のユーザー定義は B列に設定されています。) セルA1に『チョコレート』と入力したら、 セルB1には、『*** チョコレート ***』と表示されます。 もし、セルA1が空白の場合『*** ***』が表示されます。 でも、セルA1が空白なら、セルB1も空白にしたいのですが、その方法はありますでしょうか? よろしくお願いします。

  • Office2003Excel条件書式とセルの挿入

    別の所でも質問したんですが、答えが見つからないでこちらでもお願いします。 ・A列とB列に100行ぐらいデータがありま、A列とB列を照合するという作業です。 ・A1に「数式A1<>B1の場合セルを赤くする」という条件付き書式を設定、そのままA100までコピー。 ・A2と同じデータがB15にあり(重複するデータは無いものとする)、A2はセルが赤くなっている。 ・B15のデータを「切り取り⇒切り取ったセルを挿入」でB2に挿入する⇒事実上、A2=B2となる。 XPだった時、上記の作業をすると、A2のセルは条件付き書式「数式A2<>B2の場合セルを赤くする」に該当しなくなったのでセルの赤色が消えました。 しかし、Office2003を導入して同様の事をすると、A2のセルの条件付き書式が「A2<>B15」と数式が入れ替わってしまい、A2=B2であるにもかかわらず条件付き書式が元あったB15を参照している為、セルは赤いままです。 数式の参照を絶対参照に・・・という答えももらい試しましたが結果は同じで「A2<>B15」とずれました。そもそも、XPで出来ている(セルの挿入なども出来ていた)ので参照の問題ではなく、何かしら設定の問題ではと思っています。 A列に、B列内でどう移動しても(貼り付けは上書きしてしまうのでダメ)条件付き書式の参照元が変わらない(A2<>B2)ようにしたいのですが、どうやったら出来ますでしょうか? それともこれはXPにできて2003ではできない機能ですか? よろしくお願いします。

  • EXCEL2007 最小値のセルを目立たせたい

    指定した範囲の最小値のセルの書式が自動的に変更されるように設定したいのですが、うまく設定できないので、教えてください。 例えば、B2:D2のセルの中で最小値の書式を設定するとして、  メニュー[ホーム]-[スタイル]-[条件付き書式]-[新しいルール]をクリック  ↓ [新しい書式ルール]ダイアログ-[ルールの種類を選択してください]欄で「数式を使用して、書式設定するセルを決定」を選択  ↓ [ルールの内容を編集してください]欄の[次の数式を満たす場合に値を書式設定]のテキストボックスに「=MIN($B$2:$D$2)」と入力  ↓ テキストボックスの下の[書式]ボタンをクリックして書式を設定  ↓ [プレビュー]で書式が設定されたことを確認  ↓ [新しい書式ルール]ダイアログ-[OK]ボタンをクリック と設定してみたのですが、B2:D2のセルすべてに書式が適用されてしまいました。 ちなみに、小数点を含む数値やパーセンテージ、数式を用いているセルだとルールが設定できないということはないですよね? 詳しい方よろしくお願いします。 また、データバー、カラースケール、アイコンセットなら簡単に設定できるという意見もあると思いますが、最小値と2番目の最小値の差が0.1とか0.01単位の場合、表示の差が分かりにくいので、この場合にはちょっと使えないです。

  • Excel2000でのセルの書式設定

    Excel2000でセルに年月日を入力すると、セルを日付に書式設定していないのに、日付に設定され、そのあと標準にもどしてもシリアル値で表現されてしまいます。 セルの書式設定が自動でなされないようにする方法はあるのでしょうか? 'を使えば標準のままでいることは、知っているのですが、書式設定が変わらないほうが便利なのですが…。

専門家に質問してみよう