• 締切済み

特定のセルが四捨五入されてしまう

表題のとうりです。 たとえばC23セルには='7日!H39というような他のシートの 特定のセルを参照する関数が入っています。 これで0.5と入れると 1と返され 0.4と入れるとゼロと返されてしまいます。 隣のセルには='7日!H35入っていますがこちらは0.5、0.4と正しく返されます。 C23だけがこうなってしまいます。(C行すべてです) 書式はすべて文字列になっています。 数値にすると文字が小さくなりすぎて見栄えが悪いからです。 コピペで行を増やしたらこうなってしまいました。

みんなの回答

回答No.2

>参照元のセルの書式設定が (標準)になってたからでした  おなじ(文字列)にしたら治りました。 実際には、そのような動作にはなりません。参照先に書式が設定してあれば、参照元('7日!h39)の書式が参照先に影響を与えることはありません。 小数点第 1 位が見えるようになったのは、いろいろ複雑に操作しているうちに、何か別の状態に変化したためでしょう。 お示しの数式を関数とみなすとして、「7日」シートにある値の小数点第 1 位がゼロでないとすれば、その関数が 1 や 0 を返すことは決してありません。0.5 や 0.4 の見かけのみがセルの書式(条件付き書式を含みます)によって 1 や 0 に変化しているだけで、セルの値そのものは変化しません。 参照先の書式を「文字列」に設定すると、参照元の値ではなくて、参照先に記入されている数式が表示されると思います。ただし、そのセルを何回かダブルクリックしたりすると、セルの状態が変化し、見かけが変わったりもします。参照元のほうを文字列にしたり、更にそれをダブルクリックしたりすると、また見かけが変わります。ご説明の内容は、何か事実との食い違いがあるはずです。 >C23だけがこうなってしまいます。(C行すべてです) Excel では、C 列の 23 行などという言い方をします。数学における行列と同様、横一直線が行、縦一直線が列です。 >数値にすると文字が小さくなりすぎて見栄えが悪いからです。 「文字列」の書式を使うと、上述のように難しい面もあります。フォントサイズを大きくするという方法もあります。

kuutaro4027
質問者

補足

ありがとうございます。 >C23だけがこうなってしまいます。(C行すべてです) これは大変お恥ずかしい、 「 A~BL列の23行すべてが 」でした。 ためしに他のセルの参照元の書式を標準にすると同じ現象が起きます やっぱり四捨五入されてしまいます。 まあいずれにしろ解決されましたので皆様ありがとうございました。

noname#204879
noname#204879
回答No.1

セル C23 の書式が 標準 でなく、 0 という“ユーザー定義”にされていませんか?

kuutaro4027
質問者

お礼

わかりました! 参照元のセルの書式設定が (標準)になってたからでした おなじ(文字列)にしたら治りました。 他のセルも文字列になっていました。 こんなことがあるんですね。勉強になりました

kuutaro4027
質問者

補足

ありがとうございます。 ユーザー定義は@になってました。 いろいろ変えてみましたが同じです

関連するQ&A