ちょっと分かり難いタイトルで申し訳ありません。

エクセルで、「あるセルにある数字を入力すると、その数字を倍にした数字となる」ということは可能でしょうか?

例えば、A1のセルに、「1」と入れた場合に「1」と表示するのではなく、倍の「2」として結果を返すようにしたいのです。
A1に「1」を入れて、A2で「2」と返されるのではダメです。

表のフォームが決まっているので、それを変更しないで処理したいのですが、どうにも上手い方法が見つかりません。

ユーザー定義で「0*2」(任意の数字を入れたら2を掛ける、の意図)としたのはダメでした。

よいお知恵がありましたら、お願い致します。

A 回答 (4件)

入力したセルをそうしたいのであれば、関数では不可能ですね。


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と繋いでみたのですが、うまく行きませんでした。

補足日時:2006/12/01 14:19
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/12/01 14:16

これはエクセル関数では絶対できません。


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

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

お礼日時:2006/12/27 17:26

◆表示形式による方法です


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

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

お礼日時:2006/12/27 17:24

>さらに複数のセルを同じように設定するにはどうしたらよいのでしょうか?


範囲の指定でいいなら
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
    • good
    • 1
この回答へのお礼

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

お礼日時:2006/12/27 17:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで入力した数字を倍にするには?

エクセルでセルに数字を入力したら自動的に倍にするには
どうすればいいでしょうか?
(例)5倍にしたい時
セルに200を入力すると自動的に1000になる様にすることは出来るでしょうか?

また、現状、数字を入力してしまっています。
その数字を全て5倍にしたい場合どうすればいいでしょうか?
今の自分では一つ一つ計算して入力し直すぐらいしか出来ません。
かなりの量なので何かいい方法があれば教えて下さい。
よろしくお願いします。

Aベストアンサー

 
空いたセルに5を入力
そのセルをコピー
5倍にしたい範囲を選択してから、編集から形式を選択して貼り付けを選び
演算で乗算にチェックを入れてOK

これで選んだ範囲の数値が5倍されます
始めの5は不要なので消してください

 
 

Qエクセルで5の倍数の行を参照したい。

表Aと表Bがあります。Aには各支店の売り上げデータが4行分入っていて5行目ごとにその小計の行が入っています。
さて、表Bにその小計部分だけを抜き出してきたいのです。あまりに多いので手作業でやるのですが大変です。そこで他のセルにc1に5、C2に10、C3に15と5の倍数の数値を入力しておいてそのセルを読ませて行を指定したいのですが
例えば=A5*(C1)のようにセルの行数を式で指定できるのでしょうか。(この例は失敗です。本当はA25を指定したいのです。)相対参照が使えて作成の手間が大きく省けるのですが。おしえてください。

Aベストアンサー

INDIRECT 関数が便利でしょう。

=INDIRECT("A"&ROW(A1)*5)

として、下方コピーペーストでご希望の結果になります。

Q5の倍数の日付だけを抽出したい

5の倍数の日付だけを抽出したいです。

2015/10/27
2015/10/26
2015/10/25
...
 という日付データが3000個縦に並んでいます。

ここから
5日 10日 15日 20日 25日 30日
という5の倍数の日だけ抽出したいです。

どうすればいいでしょうか?
お願いします。

Aベストアンサー

日付の横のセルに以下の式を入力します。
日付が5で割り切れると1,そうでないと0を表示します。
=IF(MOD(DAY(日付入力セル),5)=0,1,0)

そのセルが1の行だけを抽出します。

Qエクセルで倍数かどうか判定

例)=if(C5=$A$1*n,x1,y1)

のような感じで、
IF文にて任意のセル(例ではC5)に入っている数字がA1のセルの倍数かどうかを
判定しそれによって返ってくる答えをx1、y1のように使い分けたいのですが、
この倍数を判定するような方法(例では*nって適当に書いてますが)は
ございますでしょうか?

よろしくお願いします。

Aベストアンサー

#1です。

数値が必ず
C5>A1>0
なら、
=IF(INT(C5/A1)*A1=C5,x1,y1)
でも可!

Qエクセルで複数の条件で掛け算する関数

以下の場合、どのような関数で求められるか、教えてください。

5というある数字にAという条件の場合は2倍、Bという条件の場合は3倍、Cという条件なら5倍
のように条件によってかける数字を変更する方法です。

よろしくお願いします

Aベストアンサー

例えばA1セルに5、B1セルにA,B,Cなどの文字を入力したときに答えをC1セルに表示させるとしたらC1セルには次の式を入力します。

=IF(B1="A",A1*2,IF(B1="B",A1*3,IF(B1="C",A1*5,"")))

Qエクセルである数値の倍数で割った余りを出す方法

エクセルである数値の倍数で割った余りを計算する方法を教えていただけないでしょうか。

たとえばエクセルシートのA列にある数値を60の倍数で割った余りをB列に表示するような計算です。

A列    B列
220       40
185        5
 66        6
120        0
302        2
170       50

このような関数はありますでしょうか。

どなたか教えていただけないでしょうか。

何卒、ご教示のほど、よろしくお願いいたします。

Aベストアンサー

>である数値の倍数で割った余りを
ある数値で割ったあまりと、どう違うのですか?
同じと思うが、同じなら紛らわしい質問。
ーー
こんなところへ質問して、多数の人に見てもらわなくても、Googleででも「エクセル 余り」や「エクセル関数 余り」で照会すれば沢山記事が出る。
http://www.pursue.ne.jp/Document_xls/xls0020.htmほか多数。
エクセルの関数は、(関数を組み合わせた難しい使い方を除き)ほとんど解説が出る。この要領を覚えておいて。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセル 表を大きく、紙いっぱいに印刷したい

エクセルで表を作りました。
印刷プレビューで確認したところ
用紙に対して表が小さく見栄えがしません。

一つ一ついじればできると思いますが、
簡単に、
用紙いっぱいにフォントも大きくし、表も大きくし、
印刷するやり方はありますか。
教えてください。

Aベストアンサー

CtrlキーとPのキーを同時に押すと「印刷」ダイアログが呼び出せます。その状態でAltキーとWのキーを同時に押すと「印刷プレビュー」が表示されますので、印刷のイメージがつかめます(必ずしもプレビュー通りには印刷されませんが)
印刷プレビュー画面の上にある、設定のボタンを押してあげれば、余白を少なくしたり、拡大縮小印刷をパーセンテージを指定しておこなえたりします。いずれにせよ、プレビューで確認しながら拡大率を決めていけばいいと思います。なお、「拡大縮小印刷」のところに「次のページ数に合わせて印刷をする」というチェックをいれて横1×縦1にしてあげれば自動で拡大縮小印刷ができる場合がありますが、やってみればわかりますが、特に縮小印刷の場合小さくなりすぎたりする場合もあります。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報