• ベストアンサー

エクセル 同一セル内での消費税計算方法

セルの書式設定及び関数計算などで同一セルで数値を入力すると消費税込みの数字に変換できる方法はありませんか?に =int(「数値を入力するセル」*1.05) A1に数値を入力するとすれば、 =int(A1*1.05) とあったので A1に =int(A1*1.05)と関数を入力し A1に100 を打ち込んだのですが 105 にならず100になってしまいます。 入力方法が間違っているのでしょうか?

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.5

>A1に =int(A1*1.05)と関数を入力し A1に100 を打ち込んだ 結果は当然100になります。式を入力したA1セルを100で上書きしたからです。式は参照する値のセル(A1セル)とは別のセルに入力しなければなりません。A2セルに質問にある式を入れれば105になります >同一セルで数値を入力すると消費税込みの数字に変換できる方法はありませんか? ありますがマクロが必要です。またあまり実用的ではありません。 それは通常は「入力されたら」はエクセルでは「セルが変更されたら」しか判定できませんから100と入力したら105にできますが、次にそのセルをダブルクリックしたら(=更新モードにしたら)勝手に110(105×1.05の小数点以下切り捨て)になりますよ 自分が意図しないのに数字が変わってしまう可能性があると、シートの信憑性がなくなります。 もちろん別シートなりに前の数字を書き込んでおいて、「本当に数字が変わったか」を調べる方法もありますが、それではワークシート関数で元の値と計算結果が別のセルに表示されるのと、何ら変わらなくなります。 それでもよいならマクロを書くのは簡単ですが、本来のエクセルの「便利機能」であるワークシート関数を利用するところから始められた方がいいですよ。

rikopi777
質問者

お礼

回答ありがとうございました。 とても参考になりました。 ワークシート関数を利用してみます。

その他の回答 (6)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.7

お望みの方法はVBAが必要です。Worksheet_Changeイベントを使えば 自動にできますが、この場合は、コードを実行するセルの範囲の指定 が必要です。でないと、シート全ての入力に対して計算を実行してし まうからです。 下記例はA列のみ、入力値に1.05を乗じるコードです。 Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Application.EnableEvents = False If Range(Target.Address).Column = 1 Then Range(Target.Address).Value = _ Int(Range(Target.Address).Value * 1.05) End If Application.EnableEvents = True End Sub 4行目の Range(Target.Address).Column = 1 の所で、A列なら1,B列なら2... と動作範囲を指定します。 例えば、B5:B10だけ計算を実行させたいなら、 If Range(Target.Address).Column = 2 And _ Range(Target.Address).Row >= 5 And _ Range(Target.Address).Row <= 10 Then のように条件指定します。

rikopi777
質問者

お礼

回答ありがとうございました。 とても参考になりました。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.6

>入力方法が間違っているのでしょうか? まず自セルを参照する数式は、無理ですね。 数式設定時に循環参照とかでませんでしたか? それと、100と入力した時点で、数式が数値に置き換わってしまうので計算できません。 行なうとしたら、VBAですがCHENGEイベントは無限ループになり使えないので ボタンを押したタイミングで税込計算が妥当なところでしょう。

rikopi777
質問者

お礼

回答ありがとうございました。 とても参考になりました。

  • gutoku2
  • ベストアンサー率66% (894/1349)
回答No.4

関数の場合   A1セル 100 と入力   A2セル =int(A1*1.05) と入力すると  A2セルの計算結果は 105 になります。  関数は、入力したセルと異なるセルに計算結果を返すのに向いています。 マクロ  ※A1セルの値を1.05倍で乗算した整数(=int(A1*1.05)   をA1セルに表示する    Range("A2").Select ActiveCell.FormulaR1C1 = "=INT(R[-1]C*1.05)" Range("A2").Select Selection.Copy Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A2").Select Application.CutCopyMode = False Selection.ClearContents このマクロは汎用性がありませんので、実用に即した使い方の場合は別途 マクロを応用してください。 (簡単なマクロならば、新しいマクロの記録 で登録できます)

rikopi777
質問者

お礼

回答ありがとうございました。 とても参考になりました。

  • maac777
  • ベストアンサー率50% (43/86)
回答No.3

A1に「100」と入力した時点で元のA1に入っていた数式は「100」で上書きされてしまいます。 同一セル内に値を返すのは関数では不可能です。 VBAをお使いください。

rikopi777
質問者

お礼

回答ありがとうございました。 とても参考になりました。

  • Idntknow
  • ベストアンサー率58% (14/24)
回答No.2

同一セル内の処理は不明です。ごめんなさい。 今、rikopi777さんがされているのは、計算させたいセルA1を計算式に含めてしまっているので、永遠に計算続ける状態、循環参照(excel上の名称)になってしまいます。A1の結果を踏まえてまた計算しますのでぐるぐると計算し続けてしまうのです。(説明べたでごめんなさい。) ※循環参照→http://www.relief.jp/itnote/archives/001351.php エクセルでは、セル上に最後に入力したデータが残ります。 A1に、計算式を入力した後、A1に100と入力されているので、最後に入力された100が計算式を上書きして残っている状態です。 同一セル内ではなく、計算式を別セルにすると正しく計算されますので、計算式=int(A1*1.05)をB1に入力後A1に100と入力されると105がB1に結果として表示されます。 ご希望の方法じゃなくてごめんなさい。

rikopi777
質問者

お礼

回答ありがとうございました。 とても参考になりました。

  • tama1978
  • ベストアンサー率24% (57/237)
回答No.1

『105』が出るはずなんですが....。 なんでだろう? ちなみに、INT関数は、切り捨てで、整数を返すはずなので、『100』はないはずです。 もう一度、関数を確認してみてはどうでしょうか?

rikopi777
質問者

お礼

回答ありがとうございました。 エクセルをもっと勉強してみます。

関連するQ&A

  • Microsoft Excel 2007 消費税計算

    セルの書式設定で数値を入力すると消費税込みの数字に変換できる方法はありませんか?

  • エクセルで「2」などの入ったセルを数字として計算させる方法

    エクセルにおいて「2」などの入ったセルを数字として計算させる方法を教えてください いわゆる A B C 1 3 2 4 3 2 4「4」 5「2」 6 などの表で A6に =SUM(A1:A6) と入力すると9と表示されるのですが 「4」などカッコに囲まれた数字を計算できる数値させるようにする方法 これでしたら 15と出てくるようにするにはどうすればいいのでしょうか。 あの「4」など入ったセルの値およびタダの数値に変換せずに、あくまで「」の中に数字を入れた状態でできるようお願いします。 できますのでしょうか おしえてください ヨロシクお願いします。

  • 【Excel】消費税計算の数式を登録できませんか?

    Excel2003を使用しています。 消費税の計算をする際、例えばA1に税込の数値がある場合は[=A1*0.05/1.05]と数式を入力して画面上で計算しています。 消費税の数式を入力するセルの位置が一定なので、これを利用してマクロをボタンに登録して押したら呼び出す設定のような感じで、消費税の数式を登録できないでしょうか? セルの位置が一定とは、A3セルに数値が入っていたら、斜め下のB4セルに[=A3*0.05/1.05]、A10セルに数値が入っていたら、同じく斜め下のB11セルに[=A10*0.05/1.05]と入力するのですが、可能でしょうか? もし、マクロを使用することで可能であれば、参考までに例を示していただけるとありがたいです。よろしくお願いします。

  • Excelであるセルに計算式を入力するとゼロになってしまいます

    初歩的な質問ですみません。 Excelであるセルの範囲の(例:A1:C1)合計をどこかのセル(例:A3)に 求めたいのですが、そこにSUM関数を入力しても結果がどうしてもゼロになって しまいます。 ただしそのセル(A3)以外の他のセル(例:B3)に入力すると正しい結果が 表示されます。 セルの書式を調べても、合計の範囲のセルと結果を出すセル両方とも数値に なっています。どうしてそのセルだけが正しく計算されないのでしょうか? セルの書式以外にも、何か特別に設定できる項目はあるのでしょうか? 教えてください。

  • エクセルで消費税計算

    下記のような条件でエクセルで消費税の計算をしたいと思っております。 まずはA1セルに課税、非課税のプルダウンを設定します。 B3セルに消費税込の金額を入力します。 A1のプルダウンが課税ならばB1に税額が表示され、非課税ならばB1に0円と表示されます。 B2にはB3-B1の計算結果(税抜金額)が表示されます。 この場合のB1に表示させたい税の計算式はどのようにすれば良いか教えてください。 よろしくお願い致します。

  • エクセルで記号付きのセルを計算させたいのです

    エクセルで記号付きのセルを計算させたいのです 例えば、セルA1に φ10 と入力し、セルA2に-0.01と入力します。 セルA3に=$A$1-$A$2 とした場合、返される数値を 9.990 としたいのです。 なおA1のセルの書式設定は文字列、A2も同じく文字列、A3は数値で小数点以下3位まで表示です。 よろしくお願いします!!

  • Excel。消費税を計算してくれる関数を教えて下さい。

    仕事で、商品一覧をExcelで保存してあります。 4月からの税込価格表示に伴い、商品の価格を税込で書き込みたいと思っています。 消費税を計算する際は、セルに「=A1*1.05」と入力していましたが、 なにせ、商品数が、2000以上もあるので・・・。 さらに、セルには、すでに税抜き価格が入力されています。 よろしくお願いします。

  • EXCEL計算式が入っているセルを空白表示に

    EXCELデータで、セルに計算式が入っているのに画面上には何も数字が表示されていないというファイルをもらいました。 普通に、例えばSUM関数とかを入力したとき、結果が0だと、0が表示されますよね。もらったファイルでは、0が表示されておらず、0以外だと表示されるようになっています。 そのセルの計算式を見ても、特に変わった条件数式(IF関数など)が入ってもおらず、セルの書式設定を見ても特に変わったことがあるようには思えませんでした。 いったいどうやったら、こういうことができるのでしょうか?

  • Excelのについて質問します。

    Excelのについて質問します。 関数の入っているセルを、数値として計算させたい場合はどのようにすればいいのでしょうか。 例えば3つのセルにそれぞれ「100.8」「100.1」「100.5」という計算結果が出ていたとします。 セルの見た目としては「101」「100」「101」になりますが、これをsum関数で合計すると「301」になります。 round、rounddown、roundupやintなどの関数は、他の集計にも影響を与えるので使えない状態なんです。 関数が入っているセルを、見た目の数字で計算させるような便利な関数や書式設定というものはあるのでしょうか? どなたかExcelに詳しい方がいらっしゃいましたら教えて下さいm(_ _)m。

  • excelのセルに入力した数値

    excelのセルに入力した数値を計算させたいのですが何かいい方法は知りませんか? 例えば、A1のセルに1という数字を入力します。またそのA1のセルに今度は2という数字を入力したときにA1のセルの値が3になるようにしたいのです。簡単に言えば前に入力してある数値を記憶させておいて次に入力した数値をどんどん足していくようにしたいのです。

専門家に質問してみよう