![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ちょっと分かり難いタイトルで申し訳ありません。
エクセルで、「あるセルにある数字を入力すると、その数字を倍にした数字となる」ということは可能でしょうか?
例えば、A1のセルに、「1」と入れた場合に「1」と表示するのではなく、倍の「2」として結果を返すようにしたいのです。
A1に「1」を入れて、A2で「2」と返されるのではダメです。
表のフォームが決まっているので、それを変更しないで処理したいのですが、どうにも上手い方法が見つかりません。
ユーザー定義で「0*2」(任意の数字を入れたら2を掛ける、の意図)としたのはダメでした。
よいお知恵がありましたら、お願い致します。
No.1ベストアンサー
- 回答日時:
入力したセルをそうしたいのであれば、関数では不可能ですね。
VBAでやってみました。簡単ですので以下の手順を試してみてください。
1.シートのタブを右クリックし、「コードの表示」を選択。
2.出てきたVisualBasicEditor(白い部分)に下記のコードをコピペ。
'*****ここから下をコピペ*****
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If Selection.Count > 1 Then Exit Sub
Application.EnableEvents = False
On Error GoTo line
If IsNumeric(Target.Value) Then Target.Value = Target.Value * 2
line:
Application.EnableEvents = True
End Sub
'*****ここより上までをコピペ*****
3.Alt+F11キーでワークシートへもどります。
さあ、A1に数字を入れてみてください。( ̄ー ̄)v
この回答への補足
さらに複数のセルを同じように設定するにはどうしたらよいのでしょうか?
2行目のセル指定をコロンなどで$A$10と繋いでみたのですが、うまく行きませんでした。
No.4
- 回答日時:
これはエクセル関数では絶対できません。
セルの値を使って演算して、元のセルに戻すと式が壊れますので、どうしてよいかわからなくなるのです。
一旦別変数に退避して、その数を使って演算し、セルにセットできるVBAなら簡単です。
ただデータが変化したときを捉えて、演算をする必要があるので、イベントという仕組みを(Changeイベント)を使わざるを得ません。
エクセル関数の2+1大原則
(1)セルの値を使い関数演算して戻すことはできません
(2)関数は、値しか処理できません(値?値以外に、どんなものが
あるか関心を持ったことがありますか。
(3)エクセルの日付・時刻は日付シリアル数、24時間を1とする数である。
No.2
- 回答日時:
>さらに複数のセルを同じように設定するにはどうしたらよいのでしょうか?
範囲の指定でいいなら
A1とA10
If Target.Address <> "$A$1" And Target.Address <> "$A$10" Then Exit Sub
-処理-
A列全部
If Target.Column <> 1 then Exit Sub
-処理-
A1:A10の範囲
If Target.Column = 1 then
If Target.Row >= 1 And Target.Row <=10 then
-処理-
End If
End If
If以外で判定なら
Select Case Target.Address
Case "$A$1","$A$10"
-処理-
End Select
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/10/25 17:10
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- Excel(エクセル) ある範囲のセルに何を入力すると、別のセルに○を表示させる 3 2022/04/05 15:51
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
エクセルで入力した数字を倍にするには?
Excel(エクセル)
-
セルに数字を入れると×1000になるようにしたい。
Excel(エクセル)
-
Excel2013 表示形式で「1,000倍」の数字を表示させたい
Excel(エクセル)
-
-
4
Excelで数字のみを2倍3倍にする方法ってありますか? C20H40とかを数字のみ2倍してC40H
Excel(エクセル)
-
5
Excelであるセルの中の数字を2倍にし、また別のセルと2倍にしたセルを足すにはどのようにしたらよい
その他(パソコン・スマホ・電化製品)
-
6
エクセルで、数値を入力すると、計算された数値を同じセルに表示させる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ある表にフィルターをかけて出...
-
Lookup関数
-
セルの数を求めたい
-
Excelを無料で使うには? パソ...
-
IFとIFS関数
-
エクセルの数式バーのフォント...
-
EXCELの散布図で日付が1900年に...
-
エクセル日付 文字列の関数がエ...
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
エクセルで「ページレイアウト...
-
【ExcelVBA】名前を付けて保存→...
-
Excelピボットテーブルの1行目
-
エクセルの問題です。絶対値の...
-
Excelの表示についての質問
-
Excel関数について教えてくださ...
-
エクセルのツールバーから数値...
-
Excelで表を作ったところに文字...
-
DATE関数で現在の年齢を出した...
-
Excelデータをコピペして、ペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報