アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCELで計算結果を切り捨てる方法はわかるのですが(ROUNDDOWN,TRUNC等)、入力した数字をそのまま切捨てることはできるのでしょうか?
セルの書式設定で小数点以下を0にすれば、見た目は少数以下は無いですが、実際は小数点以下も持っているようです。
もしくは そのセル(A1とした場合に)をほかのセル(B1)で参照して =ROUNDDOWN(A1,0) という式を入れればできるのもわかるのですが、その入力セル自体で切捨てを行いたいのです。

例)あるセルに 1234.56 と入力したら 1234 という数字にしたい。

A 回答 (3件)

>その入力セル自体で切捨てを行いたいのです。


VBAを使わないのでしたら、

書式を、「#,##0」または、「###」
としておいて、ツール-オプション-計算方法[タブ]で、
表示桁数で計算する
にチェックを入れます。

VBAを使うのでしたら、シートモジュールに、

Private Sub Worksheet_Change(ByVal Target As Range)
 '入力範囲が、A1:A10 までの場合
 If Not Intersect(Target, Range("A1:A10")) Is Nothing And _
  VarType(Target) = vbDouble Then
  Target.Value = Int(Target.Value)
 End If
End Sub

としてみてください。

なお、#2 さんの VBAの関数のRoundは、切り捨てにはなりませんが、特に、銀行丸めですから、ワークシート関数の四捨五入のようには使えないのです。

この回答への補足

すいません「表示桁数で計算する」だと四捨五入でした
やっぱり簡単には無理みたいですね。
ありがとうございました。

補足日時:2005/04/13 18:55
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
・表示桁数で計算する をやってみたら出来ました。
今までEXCELは使ってきましたがこんな設定があるとは知りませんでした。
設定したら設定したのを忘れないように注意が必要ですが、なかなか使えそうです。
どうもありがとうございました。

お礼日時:2005/04/13 18:41

入力そのものを小数点以下は入力しないなどと、


規制を入れた方がいいような気がしますが。

メニューから、「データ」→「入力規則」で、
「入力値の種類」を「整数」
「データ」以下は適当に。
例えば「データ」を「「次の値より大きい」、「最小値」を「0」とすれば、
0以上で整数でないものは、すべてはじかれます。
さらに同じ入力規則で「エラーメッセージ」の欄に
「整数で入力して下さい」とでもして、整数での入力をそくしたらどうでしょうか。


どうしても、ということならマクロでやるしかないでしょうね。
Visual Basic Editor を起動して、Sheet1に以下のコードを入力してみて下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = Round(Target.Value, 0)
End Sub

ただし、これは参考程度に、エラー処理も何もしてませんので。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
やはり入力時に最初から入れないなどの規制が必要ですよね。
マクロならやれない事は無いのは、なんとなくわかっているのですが、ちょっとおおごとになってしまうので簡単に出来ないのかな と思った次第です。

お礼日時:2005/04/13 18:37

A1に「123.45」と記入してあったとき



=LEFT(A1,FIND(".",A1,1)-1)

とすれば、「123」だけが取り出せます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
入力したセルで結果を求めたいので、A1に数式入れると循環参照になってしまいダメなんです。
確かに他のセルに結果を求めるのは出来るのですが。

お礼日時:2005/04/13 18:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!