- ベストアンサー
エクセル
エクセル単位入力方法で、非消費税価格を入力したら自動で同じセルに消費税価格で表示する方法を教えてください。(例100と打ち込んだら、表示は105と表示される。)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
関数(ワークシート関数)では、そのセルの値を用いて計算して、そのセルへ戻すことは絶対できません(循環参照エラー)。 エクセルの関数の基本原則を知らないからそういう質問が出るのです。 やるならVBAでイベントというものを使えばよいのですが、質問者はVBAの経験はなさそう。 別列(セル)へ出す、で我慢してください。
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
ワークシート関数を用いる場合は >非消費税価格を入力したら自動で同じセルに消費税価格で表示する ことはできません。別のセルに関数式を入れる方法でしか計算はできません =A1*1.05 =INT(A1*1.05) 少数点以下切り捨て =ROUND(A1*1.05,0) 小数点以下四捨五入 別のセルに計算結果を出す方法で実用上は問題がないのではないでしょうか どうしても入力したセルの値を書き換えたいならマクロを書く必要があります。それは例えばこんなマクロになります。試されるなら以下のマクロを数値を入力するシートの「シート名タブ右クリック」→「コードの表示」で開く画面に貼り付け、ワークシート画面に戻って数値を入力してみてください Private Sub Worksheet_Change(ByVal Target As Range) If IsNumeric(Target.Value) Then Application.EnableEvents = False Target.Value = Int(Target.Value * 1.05) Application.EnableEvents = True End If End Sub でも誤ってセルをダブルクリックして編集モードにすると、何回も税率を掛けてしまいますよ。とても実用的とは思いませんね。
- konkonlun
- ベストアンサー率34% (38/109)
同じセルというのは不可能かと思います。 隣のセルに計算式を入れるのがいいのでは? たとえば、A1に数字を入れて、A2に答えを出す場合、 「=A1*1.05」といれておけばでます。
お礼
ありがとうございます。 やはりその方法しかありませんか。