エクセルを使って入力した数字を自動的にマイナスにする方法は?
シンプルなキャッシュフローを作成していますが、流出の列を設定して、その列に入力された数字を自動的にマイナスにしたいと思っています。どのようにすればいいのでしょうか?
シンプルなキャッシュフローを作成していますが、流出の列を設定して、その列に入力された数字を自動的にマイナスにしたいと思っています。どのようにすればいいのでしょうか?
以下、3つの可能性があります。
1. -1 との乗算
2. 2. マイナス(-)記号へのフォーマット
3. ABS()関数
方法1: -1との乗算
1.通常通りに数字を入力し、すべての入力が終わったら、次のようにします。
2.
2. 他の空のセルに移動し、-1
と入力してコピーし、負にしたい列全体を選択する。
3. 選択範囲を右クリックして、Paste Special..
4. 下の図のように、All
とMultiply
を選択してOKをクリックします。これで選択したセルはすべて負になります。これで選択されたセルはすべてマイナスになります。_
方法2: マイナス(-)記号への書式設定 (この方法では、私たちの目にはマイナスにしか見えませんが、書式バーではマイナス記号は表示されず、プラスとして扱われます)
-1
をクリックします。Format cells
タブをクリックし、カスタムオプションをクリックし、右側のNumber
テキストボックスでType
を選択し、General
**テキストボックスに次のようにマイナス記号を入力します。Type
を入力して OK をクリックします。方法3: ABSを使用する
1.正の値を入力する列を別に確保し(ここに正の値を入力します)、負の値を入力する列を確保します(この列/セルには次のように-General
の式があるだけです)
2. ABS
が負の値を持つ必要がある場合は、任意のカラム/セルを選択します。E1
には D1
と入力します。これで、セル E1
に入力した値が何であれ、セル =-ABS(D1)
にも同じ値が負の値になります。5. 一度入力した数式をすべてのセル範囲(例えば、D1
からE1
まで)にコピーします。全て終わったら、E1
の正の値を含むE50
列を非表示にすることができます。
注意:上記の例のように、正の値はD
からD1
まで、負の値はD1
からD50
までとなります*。
私の考えでは、セルの内容を自動的に負の値に変換して、単に書式を変えて表示するのではなく、セルの内容を自動的に負の値に変換したいと思うでしょう。
私はこれを達成するためにVBAを使用します。このコードを問題のシートに配置する
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then 'Column A
If Len(Target.Value) > 0 Then
If IsNumeric(Target.Value) Then
Target.Value = -1 * Abs(Target.Value)
End If
End If
End If
Target.Parent.Calculate
End Sub
負の数字だけが入力されるようにしたい場合は、以下のようにします。
1.セル を選択します。データ]タブに移動し、[データ検証]ボタンを選択します。 3. フォーマットとして再度「データ検証」を選択します。 4. 金額のフォーマットを使用しているので、値は「10進数」を選択します。 5. データは、"less than “を選択します。最大値は「1」または「.01」を選択します。
正の数値を入力しようとすると、処理が停止してエラーアラートがポップアップし、負の数値またはゼロを入力するように促されます。