質問
エクセルで数字をセルに入れて倍数にしたい
- 投稿日時:2006/12/01 13:59

ちょっと分かり難いタイトルで申し訳ありません。
エクセルで、「あるセルにある数字を入力すると、その数字を倍にした数字となる」ということは可能でしょうか?
例えば、A1のセルに、「1」と入れた場合に「1」と表示するのではなく、倍の「2」として結果を返すようにしたいのです。
A1に「1」を入れて、A2で「2」と返されるのではダメです。
表のフォームが決まっているので、それを変更しないで処理したいのですが、どうにも上手い方法が見つかりません。
ユーザー定義で「0*2」(任意の数字を入れたら2を掛ける、の意図)としたのはダメでした。
よいお知恵がありましたら、お願い致します。
回答 (4件)
- 最新から表示
- 回答順に表示
- ベストアンサーのみ表示
No.4
- 回答日時:2006/12/01 23:09
これはエクセル関数では絶対できません。
セルの値を使って演算して、元のセルに戻すと式が壊れますので、どうしてよいかわからなくなるのです。
一旦別変数に退避して、その数を使って演算し、セルにセットできるVBAなら簡単です。
ただデータが変化したときを捉えて、演算をする必要があるので、イベントという仕組みを(Changeイベント)を使わざるを得ません。
エクセル関数の2+1大原則
(1)セルの値を使い関数演算して戻すことはできません
(2)関数は、値しか処理できません(値?値以外に、どんなものが
あるか関心を持ったことがありますか。
(3)エクセルの日付・時刻は日付シリアル数、24時間を1とする数である。
この回答へのお礼
そうですね。関数では出来ません。レクチャーどうも多謝です。
No.3
- 回答日時:2006/12/01 21:54
◆表示形式による方法です
入力した数字の2倍が表示される方法です
1)表示形式を「ユーザー定義」で、 #/2 とする
2)/2の前を指定して、、 Ctrl を押しながら、J を押す
3)[配置]の「折り返して全体を表示」にチェック
注)入力数字が4~5桁になると、###### になるケースがあります
この回答へのお礼
ありがとうございました。
ですが表示で2倍になっても実態が違うので計算には使えませんでした。
残念でしたが。
No.2ベストアンサー10pt
- 回答日時:2006/12/01 14:44
>さらに複数のセルを同じように設定するにはどうしたらよいのでしょうか?
範囲の指定でいいなら
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
この回答へのお礼
ありがとうございました。
No.1ベストアンサー20pt
- 回答日時:2006/12/01 14:11
入力したセルをそうしたいのであれば、関数では不可能ですね。
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
この回答へのお礼
ありがとうございました!出来ました!
VBAは敬遠していたのですが、これを機会に勉強し直してみたいです。
この回答への補足
さらに複数のセルを同じように設定するにはどうしたらよいのでしょうか?
2行目のセル指定をコロンなどで$A$10と繋いでみたのですが、うまく行きませんでした。
このQ&Aを見た人はこんなQ&Aも見ています
注目の記事
教えて!Firefox
より速く、より安全なウェブブラウザ「Firefox(ファイアーフォックス)」に関する疑問をみんなで解決。全くの初心者から上級者までFirefoxの魅力を十分に味わうために、教えて!gooのユーザーみんながお手伝いします。
このQ&Aを見た人がよく見るQ&A
このカテゴリで人気のQ&Aランキング
- 4エクセル STDEVとSTDEVPの違い
- 5excelからexcelへの差し込み印刷
- 6Excel文書が読み取り専用になって解...
- 7エクセルで条件に合うものを別シー...
- 8エクセルのセルに入力した文字数
- 9エクセルに写真の貼り付けが出来ま...
- 10EXCELの日付データを文字列に変換し...
- 11VLOOKUP関数で複数の検索値を設定し...
- 12エクセルにおいて、シートの保護を...
- 13Excelで、エラーの #DIV/0! を表示...
- 14エクセルで列の全ての項目に文字を...
- 15行間を詰めるには・・・
- 16エクセルで、条件に一致した行を別...
- 17エクセルで図形やオートシェイプの...
- 18エクセル 0や空白のセルをグラフに...
- 19ワードのチェックボックス
- 20Excelで入力したデータを他のシート...






