• ベストアンサー

エクセルの作表について

普通、数式が入っているセルに数字を入力すると、数式が無視されて入力した数字が表示されますが、セルに入力した時にその数字×3,000等の値を表示させることは可能でしょうか? 例えば、A1に3,000、B1に2,500、C1に4,000と入力している場合、A2に3と入力すればA2が9,000、B2に5と入力すればB2が12,500、C2に10と入力すればC2が40,000という感じです。

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.1

可能ですが、VBAを使用することになると思います。 使用しているシートのシート名タブを右クリックして「コードの表示」を指定し、 表示されたコードウィンドウに下記コードを貼り付けます。 Private Sub Worksheet_Change(ByVal Target As Range) Dim R As Range Dim Rng As Range Set R = Intersect(Range("A2:C2"), Target) If Not R Is Nothing Then   Application.EnableEvents = False   For Each Rng In R     If IsNumeric(Rng) And IsNumeric(Rng.Offset(-1)) Then _       Rng.Value = Rng.Value * Rng.Offset(-1).Value   Next Rng   Application.EnableEvents = True End If Set R = Nothing End Sub

bonbonkogepan
質問者

お礼

ご回答ありがとうございます。 試してみたところ、出来ました!! VBAなど使ったことがない、じゃなく使い方も知らないので出来たときは感動しました^^ ただ、Set R = Intersect(Range("A2:C2"), Target)のセルの設定で、セルをとばす時はどのように設定すればよいのでしょうか? 例えばA2:C2、D2をとばしてE2:X2のような感じで何ヶ所かとばしたいのです。

その他の回答 (3)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.4

> 例えばA2:C2、D2をとばしてE2:X2のような感じで何ヶ所かとばしたいのです。 Set R = Intersect(Range("A2:C2, E2:X2"), Target) で如何でしょうか。

bonbonkogepan
質問者

お礼

できました! ja7awu様のおかげで表が完成しそうです。 VBAにも興味がわきましたのでいろいろ勉強しようと思います。 ありがとうございました。

  • takafun55
  • ベストアンサー率34% (78/228)
回答No.3

No1さんの言うようにVBAならば可能です。 でも、このような使い方は賛成しません。 A1に3,000、B1に3、C1に=A1*B1として3,000と表示した方が良いです。 印刷に困るというのでしたら、列を非表示にするとか印刷範囲の設定等ですれば良い事です。 入力値と表示値が違えば、あとあと面倒なことになってきますよ。

bonbonkogepan
質問者

お礼

アドバイスありがとうございます。 >入力値と表示値が違えば、あとあと面倒なことになってきますよ。 それも考えたのですが、列が結構多い、毎日数字を入れ替えなければならない 、入れ替えたものを至急送付しなければならないなど、時間が限られていますので、入力すれば勝手に決められた値をかけてくれると助かるな~と思ったんです。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

通常の関数、書式設定では不可能です。 手動方式であれば、A1~C1をコピーし、A2~C2に「形式を選択貼り付け→乗算」貼り付けで可能です。

bonbonkogepan
質問者

お礼

アドバイスありがとうございます。 こういう方法があったんですね。 勉強になりました。

関連するQ&A

  • エクセルのコピーについて

    エクセルで数式を残すことなく値のみコピーしたいのですが、 セルA1の内容をセルB1にも同じように表示させる場合、 B1に「=A1」と入力すればよいかと思いますが、 「=A1」等の数式を残すことなく、 B1に値のみ表示させることはできますでしょうか。 例えばですが、 C1に数式でA1に値がある場合は、 B1にも同じ値を入れるみたいな、 C1には数式は入っていますが、 B1には値のみというようなことができたらと、 お手数かけまして申し訳ございませんが、 どうぞよろしくお願いいたします。

  • EXCELの作表での事象

    EXCELで作表してデータを入力していたが、A、B、C、D、Eと各々の セルに数字を入力した。 ある時、セルの一部、例えばC(縦のセル)が消えて表示されていないが 発生しました。回復方法がわかりません。 どうかご教示ください。

  • エクセルの使用方法についてご教示お願いします。例え

    エクセルの使用方法についてご教示お願いします。例えばX1=1,Y1=2の値が入ったシートがあり、A1セルに=X1*Y1といった数式を入れます。当然A1セルには数字の2が表示されますが、A1セルに表示される数字と同じ数字をB1セルにそれもB1セルには=A1等の数式は一切設定せずに表示させる場合、どのような方法があるでしょうか?更にB1セルに表示させた数字はX1及び、Y1に設定された数値が消されても残るようにできれば最高です。

  • エクセルの数値について

    エクセルで、たとえばA1セルに1、B1セルに2、C1セルに3の 数字が入力されています。 その上で、D1セルに「A1&B1&C1」という数式をいれると、 見た目上はD1セルに「123」と表示されますが、 数字の123(百二十三)という意味では認識されていないようで、 ほかの関数の参照に使えません。 見た目が「123」の値を、数字の「123」に変換する方法は ないでしょうか。 よろしくお願い致します。

  • excelで次のようなことをチェックできますか?

    excelで次のようなことをチェックできますか? もし、合致していれば(真であれば)決められた得点を表示する というようなことです。 1.A3セルに入力した文字列が中央ぞろえされている。 2.A4に入力したデータは、’0120といように数字が文字列化されている。 3.B4セルには「セルポインタ」という文字列が入力されている。 3.A5セルに入力されている数式が=sum(b5:b11)である。値ではチェックしない。 4.A6セルに表示されている値が1234である(数式で表示)。 5.A7セルにrankで表示した値が 北海道 である。

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • EXCEL(エクセル)の関数について

    こんにちは、お世話になります。 エクセルの数式で困っており、ご教示頂きたいです。 C1のセルに、値を返させたいのですが、 A1の値が◆でB1が空白セルでなければ◇ A1の値が●でB1が空白セルでなければ○ A1の値が▲でB1が空白セルでなければ△ A1の値が■でB1が空白セルでなければ□ 、と返させたいです 全ての条件が満たされない場合は空白セルを表示させたいのですが、これを可能にするにはどのような数式を用いればよいでしょうか? 宜しくお願いします。

  • Excelでの並び替えについて

    1 セルA1~A10には、数字の1~10までが不規則に入力されています。(数字が入力されていないセルもシートによってはあります) 2 セルB1~B10には、人名が入力されています。 3 セルC1~C10には、生年月日が入力されています。 上記の条件で、  セルD1~D10には1から成績順に昇順に並べてリストを作成したいです。。(数字が入力されていないセルがあったときはその行は無視しても可)このときマクロは使用せず数式(関数)のみを使用し並び替えるにはどうしたらよういのでしょうか?  

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

専門家に質問してみよう