• ベストアンサー

あるセル内の計算結果を固定数値として違うセルに代入する方法

あるセルで計算した結果を違うセルの位置に固定数値として代入する方法はあるのでしょうか? 例えば、A1のセルに変数Xが入っており、B1のセルに変数Yが入っていたとします。 そしてC1のセルで、ある計算をしていたとします。 で、X=Yの条件を満たした時はC1のセルの計算結果の数値をセルD1に数値として自動で代入するという作業をやらせたいのです。 試しに適当なセルに、=IF(A1=B1,D1=C1,0)なんて式を作ってみましたが、当然のようにD1=C1なんて表現はできないのでエラーとなります。 D1のセルに=IF(A1=B1,C1,0)と入れれば、A1=B1の条件を満たした時だけはD1のセルにC1の計算結果が入りますが、D1のセル内が数値でなくあくまで条件式である以上、条件が変わればエクセル上のD1のセルの表示も変わってしまいます。あくまでC1の計算結果の数値をそのままD1に数値のデータとして入力させて記憶させておきたいのですが。 どうやったらいいのでしょうか? D1のセルに=C1と入れておけば、D1のセルにはC1の計算結果が常に表示されるわけですが、C1の計算自体が他のセルのデータによってその都度変動するため、D1も同じように変動してしまいます。 ですので、A1=B1を満たした時のC1の計算結果をD1に記憶させておくという作業をしたいわけなんです。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

VBAでやってみました。 1.該当のシートのタブを右クリックし、「コードの表示」を選択。 2.出てきたVisualBasicEditor(白い部分)に下記のコードをコピペ。 '*****ここから下をコピペ***** Private Sub Worksheet_Calculate() If Range("A1").Value = Range("B1").Value Then Range("D1").Value = Range("C1").Value End If End Sub '*****ここより上までをコピペ***** 3.AltキーとF11キーを同時に押してワークシートへもどります。 これでご要望にかなうでしょうか。

kwsp777
質問者

お礼

ありがとうございます。 見事にできました! タイミングはうまく取れないので、コマンドボタンで自分で押して 実行させることにしました。 今まで、手入力で作業していたものがボタンを1クリックで終える ことができるようになり、大変楽になりました。 本当にありがとうございました。

その他の回答 (1)

noname#79209
noname#79209
回答No.1

残念ながらワークシート関数では不可能です。 マクロ(VBA)ならできるでしょうが... それにしてもタイミングが難しそう...

kwsp777
質問者

お礼

やっぱりワークシート上では無理だったんですね。 VBAを覚えると、エクセルでできることの幅は全然広がるのでしょうし、自分も覚えたいなと思ってきました。 タイミングはおっしゃるとおり、難しかったのでボタンで処理しました。 全てを自動実行とはいきませんでしたが、大分作業が楽になりました。

関連するQ&A

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。

  • 参照した数値を関数に代入し計算する方法

    手動で数字を入力するセル(C1)に入れた数字と同じ数字を 規則的に数字が書いてある(例;1~100)A列から探し A行の隣に書いてあるB行の数字(A1だったらB1)を 参照し関数の入っているセル(E1)にBの値を入れてExcelで 計算するような方法(マクロになるようなら貼り付ければできる形)を 教えて下さい(B1の値が直接使えないならD1というA行の隣から探した Bの数字を表示するセルを作る形でも可) 例えばC1に10といれA行から10と書かれているA6のセルを検索し その隣のB6のセルから20という数値を参照し、E1に書いてある 例えば=IF(X(B6)<45,Y(例;F1)*1.5,IF(45<X(B6),Y(例;F1)*2)) のような関数のXに代入する感じです(Y(F1)の数字は適当なセルの値) 上手く説明できていないかもしれませんが宜しくお願いいたします

  • A1セルに数値があり、B1セルには条件に応じた計算結果を表示させたいの

    A1セルに数値があり、B1セルには条件に応じた計算結果を表示させたいのです。 関数を教えてください。 ・条件 A1の数値が0~499の時は、B1に7500と表示 ・条件 A1の数値が500~1999の時は、B1に「A1*15」の計算結果を表示 エクセル素人なので詳しく教えていただけると助かります。 よろしくお願いします。

  • Excel で計算式のコピーをしたいのだけど、一つのセルは固定して使いたい

    こんなことをしたいです。 セルD2=数値 セルA3=数値 セルB3=計算式 =if(D2>A3,"○","×") このあと、セルA3~A100まで数値が入ります。 セルB4~B100まではB3の計算式コピーして、同様の比較をしたいのですが、セルD2の値をずっと使いたいです。 計算式のコピーでは自動的に行数を代えてくれるのは普段はありがたいのですが、今回はD2の部分は固定にしたいです。セルB3の計算式の記述で何とかなると思うのですがどのように変えたらよいか?是非教えてください。

  • セルに入力した数値を別のセルに代入することはできるのでしょうか?

     一人親方で事業を考えています。収支の損益分岐点を調べる為に 経費一覧を作っています。  経費を、現場の件数に変動されない固定の費用と、現場件数によって 変動する費用に分けました。 =====sheet1=   A  B   C    D    E    固定費 変動費1 変動費2 合計費用 =====sheet2=   A  B  C  D   10 15  20  30 (見にくくてすみません) sheet1には、各費用の明細を列挙しています。 現場件数に変動されない費用は、合算してB1に答が出るようにしています。 件数に影響される経費のうち、ある種類のものがC1に、別の物がD1に出て、 E1で経費総額を示すようにしました。 sheet2のA1からD1には、試算用に件数を入力し、(10件、30件等) その数値がsheet1のA1に代入されて(?)、答がA2からD2に表示させたいのです。 (この数値をグラフにするので) どなたかアドバイスいただければ幸いです。 2日程前から、いろいろ試してみて、また書店で探してみたのですが どうやればいいのかわかりません。 もしかすれば、マクロのような構文が必要なのかもしれませんし、 あるいは、超基本的な操作で実現できるのかもしれませんが... ちなみに当方、VBA等、さっぱりわかりません。 よろしくお願いいたします。

  • セルの数値によって結果(表示)をかえたい

        A          B         C  -------------------------------------  1 計画数値 | 実績数値 |計画比 C1のセルに 計画比を出すのですが、 ◎A1セル、B1セルが「-(マイナス)数値」の場合、C1セルは「-」を表示 ◎A1セル、B1セルが「0」の場合、C1セルは「NA」を表示 ◎普通に%計算できる場合は、C1セル例:23%と表示 のようにしたいのですが、どんな関数を使えばよいかわかりません。 どなたかお知恵をお貸しください。 よろしくお願いいたします。

  • エクセルで計算の結果がある数値の場合のみ文字列を表示させたいです・・・。

    エクセルで計算の結果がある数値の場合のみ文字列を表示させたいのですが、IF関数を使うのかなと思いますが関数がよく解かりません。。。 やりたいことはこんな感じです。 セルG1にはA1-B1、H1にはC1-D1、I1にはE1-F1と計算式が入っています。 計算の結果、▲1になるセルだけを文字列『売上』と表示させたいのですが・・・。 なお、計算の結果は、必ず『1』か『▲1』のどちらかにしかなりません。 つたない質問ですが解決したく困っています。よろしくお願いします。

  • エクセルの二つのセルの結果を結合して表示するには

    はじめまして。こんにちは。エクセルの使い方が分からなくて困っています。エクセルで例えばA1に4を代入し、B1に2を代入します。C1に計算式でA1+B1(6と表示される)を入れてD1に計算式でA1-B1(2と表示される)を代入します。そしてE1にC1の計算結果とD1の計算結果を結合したもの、結果的には6,2と表示させたいのですが、どうすればいいでしょうか?よろしくお願いします。

  • セルに数値が無ければ空白にすると計算が合わない

    画像 ① A4セルに数値がないとE4セルに「0」と表記してしまいます。 =IF(B4="","",B4+C4) 上記の関数を入れることで「0」の表記はなくなりました。 しかし、 ②のように計算がおかしくなってしまっています。 E4セルに合計「100」と表記するはずが、何もないままになっています。 B4セルに数値が無いため計算がおかしくなっているのではと思いますが、正常な関数を教えてください。

  • エクセル 隣のセルの数値によって文字を表示させる

    こんにちわ。 いろいろ試したのですがいまくいかないので質問させてください。 C1セルに計算式(=B2/A2)が入っていて数値が出ているんですが、 その数値が20より小さいとき、隣のセルD1に「←!!!」 20より大きいときは空白にしたいのです。 今D1に入力しているのは下記の関数ですが↓ =IF(C1<=20,"←!!!","") これでは20以上の数値でも「←!!!」が表示され、 どうしたらいいのかわかりません。 助けてくださいー!よろしくお願いいたします。

専門家に質問してみよう