• ベストアンサー

エクセルで数字をセルに入れて倍数にしたい

ちょっと分かり難いタイトルで申し訳ありません。 エクセルで、「あるセルにある数字を入力すると、その数字を倍にした数字となる」ということは可能でしょうか? 例えば、A1のセルに、「1」と入れた場合に「1」と表示するのではなく、倍の「2」として結果を返すようにしたいのです。 A1に「1」を入れて、A2で「2」と返されるのではダメです。 表のフォームが決まっているので、それを変更しないで処理したいのですが、どうにも上手い方法が見つかりません。 ユーザー定義で「0*2」(任意の数字を入れたら2を掛ける、の意図)としたのはダメでした。 よいお知恵がありましたら、お願い致します。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答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

onara931
質問者

お礼

ありがとうございました!出来ました! VBAは敬遠していたのですが、これを機会に勉強し直してみたいです。

onara931
質問者

補足

さらに複数のセルを同じように設定するにはどうしたらよいのでしょうか? 2行目のセル指定をコロンなどで$A$10と繋いでみたのですが、うまく行きませんでした。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

これはエクセル関数では絶対できません。 セルの値を使って演算して、元のセルに戻すと式が壊れますので、どうしてよいかわからなくなるのです。 一旦別変数に退避して、その数を使って演算し、セルにセットできるVBAなら簡単です。 ただデータが変化したときを捉えて、演算をする必要があるので、イベントという仕組みを(Changeイベント)を使わざるを得ません。 エクセル関数の2+1大原則 (1)セルの値を使い関数演算して戻すことはできません (2)関数は、値しか処理できません(値?値以外に、どんなものが あるか関心を持ったことがありますか。 (3)エクセルの日付・時刻は日付シリアル数、24時間を1とする数である。

onara931
質問者

お礼

そうですね。関数では出来ません。レクチャーどうも多謝です。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆表示形式による方法です 入力した数字の2倍が表示される方法です 1)表示形式を「ユーザー定義」で、 #/2 とする 2)/2の前を指定して、、 Ctrl を押しながら、J を押す 3)[配置]の「折り返して全体を表示」にチェック 注)入力数字が4~5桁になると、###### になるケースがあります

onara931
質問者

お礼

ありがとうございました。 ですが表示で2倍になっても実態が違うので計算には使えませんでした。 残念でしたが。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答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

onara931
質問者

お礼

ありがとうございました。

関連するQ&A

  • エクセルのセルの書式で,数字が9けたあり、それが600くらい同じ形式で

    エクセルのセルの書式で,数字が9けたあり、それが600くらい同じ形式であります。その形式は3桁スペース6桁の数字(例)456 789123となっているのを、456789123と、空白をつめて一括で9ケタにしたいのですが、可能でしょうか?セルの書式設定で、ユーザー定義で試みましたがだめでした。よろしくご指導お願いします。

  • エクセルでセルに数字を入れ色をつける

    表による工程管理を作っています。 或るセルに任意の数字を入れ、その数字分だけ右のセルに色をつけたい です。よろしくお願いします。

  • excel セルとセルの間へ数字を置く

    横列Aに数字を並べ、その数字をセルのラインに乗るよう(縦列1と2の間)にした表を作成したいのですが、うまくいきません。 わかりにくい説明かもしれませんが、わかる方、よろしくお願いします。 Excel2007をvistaで使用しています。

  • エクセルマクロでセルの数字を処理

    エクセルのマクロで以下の処理をしたいのですが、少し複雑でうまく出来ません。できればどのようなマクロを用いればよいか教えてください。 A列に数字がならんでいます。 1、A1から順番に下方向にこの数字を調べます。 2、100未満の場合はそのまま下に移動します。 3、セルの数字が100を超えていたら、100を超えていたセルを起点(1番目)として、下方向にセルの数字を調べ、起点となるセルの数字より10%以上多いセルが見つかれば、それと起点のセルとの差を調べ、見つからなければ起点のセルと30番目のセルとの差を調べます。 4、3の処理が終わったら、再び起点となったセルから1つ下に移動してA列の数字を調べ、100以上なら、再び3からの処理を繰り返します。 調べるA列のセルより下のセルが30個より少なければ終了です。 3で調べた数字の総和を求めるのが目的です。 よろしくお願いします。

  • EXCELで表示形式について。。。

    EXCELで表示形式でユーザー定義を使用した時に、 その値で検索したいのですが、どうしたらよいのでしょうか? Aの列に表示形式をユーザー定義で"A-"##にしました。 セルには数字のみ入力しました。見えているのはA-20とかA-15とかです。 その値でVLOOKUPの関数で検索したいのですが、できますか? ユーザー定義ではA~Zを使用してます。 セルには10~55までの数字を入力して、表になってます。 シートをコピーして形式を選択して貼り付けしてもセルに入力した数字のみで、 ユーザー定義で表示している"A-"の部分はコピーできません。 もう一度、入力しなおしたくはないので、お願いします。

  • エクセルで決まった数字を別のセルに

    エクセル2000(XP)での質問です。 ある文字に対して、決まった数字を複数、別のセルに表示させたいのです。 1| A  | B  | C | 2|岡本 | 10  | 20 | 3|山田 | 100 |150 | という決まった表があって、 「山田」とA1セルに入力したら、自動で「10」「20」と表示するようにしたいのですが・・・。 繰り返しになりますた、「山田」は、10 と 20 ということは決まっています。 よろしくお願いします。

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

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

  • エクセルのセルの任意移動

    いろいろ調べたのですが、わからなかったので質問させていただきます 今、エクセルで表を作っているのですが、問題が発生しました。 たとえばAのセルに数字を入力してENTERを押すと Cのセルに移動、Cのセルに数字を入力してENTERを押すとFのセルに移動(あと任意のセルに移動)みたいな 事は出来ますか? よろしくお願いします

  • エクセルのセル内の数字と文字を分離する方法

    エクセル2007を使っています。 1つのセル内に数字と文字が入っており、これを数字と文字のセルに分けて表示させる方法を教えてください。 具体的には以下のような処理をしたいです。 〔現在のデータ〕 1301 極洋  ← セルA1 1332 日本水産  ← セルA2 〔処理後〕 1301 ← セルA1    極洋  ← セルB1 1332 ← セルA2    日本水産 ← セルB2 よろしくお願い致します。

  • エクセルで複数のセルにセルにある数字を1つのセルに

    こんばんは、エクセルに関してあまり詳しくないので教えて頂けませんか? A1のセルに1 B1のセルに3 C1のセルに5と、数字が1~8まで並んでいます。 その数字を、ほかの一つのセルに、135~と8桁表示するにはどうしたらよいでしょうか? その数字はrank関数で入力されたものです。 詳しい方よろしくお願いいたいます!

専門家に質問してみよう