• ベストアンサー

Excelでセルを一度だけ参照したい

例えば、 A1に「鈴木」 B1に「=A1」 C1に「=A1」 … と入力するとします。 この場合、A1を「佐藤」に変更するとB1,C1,D1共に「佐藤」になります。 A1を「佐藤」に変更した時に、B1は「鈴木」のままでC1は「佐藤」と B1に一度だけ参照させる方法はないでしょうか。

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

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

それは関数では無理ですね。 以下をお試しください。 1.そのような設定をしたいシートのタブを右クリックし、「コードの表示」を選択。 2.出てきたVisualBasicEditor(白い部分)に下記のコードをコピペ。 '*****ここから下をコピペ***** Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub If Range("B1").Value = "" Then Range("B1").Value = Target.Value Range("C1").Value = Target.Value End Sub '*****ここより上までをコピペ***** 3.AltキーとF11キーを同時に押してワークシートへもどります。 こうやってから、A1に入力してみてください。

narayuni
質問者

お礼

おおおおお! 初めてVBを触りましたが出来ました!凄い! まだまだエクセルの基礎しか勉強してませんがもっと深い知識を得たいなと思いました。 ありがとうございました!

関連するQ&A

  • Excelでセルを一度だけ参照したい-便乗質問

    過去に次のような質問をしている方がいました。 ------------------------------ Excelでセルを一度だけ参照したい 例えば、 A1に「鈴木」 B1に「=A1」 C1に「=A1」 … と入力するとします。 この場合、A1を「佐藤」に変更するとB1,C1,D1共に「佐藤」になります。 A1を「佐藤」に変更した時に、B1は「鈴木」のままでC1は「佐藤」と B1に一度だけ参照させる方法はないでしょうか。 ------------------------------- 自分の場合、A1からA100のセル範囲に変動する値が入り、対応するB1からB100のセルに1度だけ 参照させるようにしたいのです。 VBA初心者でまったく足がかりがありません。よろしくお願いします。

  • エクセルで別シートを参照していて、参照元のデータを変更した場合

    エクセルで別シートを参照したいのですがうまくいきません。 (1)Sheet1には顧客データが入っています。 【Sheet1】   A   B   C 1 氏名 住所 性別  2 小川 東京 男 3 佐藤 大阪 女 4 鈴木 福岡 女 (2)Sheet2ではSheet1の顧客データの一部+獲得ポイントのデータが入っています。Sheet2のA列とB列に「=Sheet1!A2」とういう風に関数を入れてSheet1を参照しています。C列~は手入力でデータを入力しています。 【Sheet2】   A   B    C    D 1 氏名 住所  12/1 12/15  2 小川 東京  1    5 3 佐藤 大阪  1    5 4 鈴木 福岡  1    5 (3)Sheet1に新たに顧客情報を入れますが、氏名は五十音順にしたいので行を挿入して入力します。(行3に加藤さんを入れました) 【Sheet1】   A   B   C 1 氏名 住所 性別  2 小川 東京 男 3 加藤 沖縄 男 4 佐藤 大阪 女 5 鈴木 福岡 女 (4)私の希望としては、(3)をしたらSheet2は↓のようになってほしいのですが、実際には(2)の状態のままです。 【Sheet2】   A   B    C    D 1 氏名 住所  12/1 12/15   2 小川 東京  1    5 3 加藤 沖縄   4 佐藤 大阪  1    5 5 鈴木 福岡  1    5 (5)Sheet1の変更結果をSheet2に反映することは無理なのでしょうか?

  • Excel 一番右のセルを参照する

    Excelで、A1からZ1のセルの内で一番右の入力してあるセルの数字を参照したい場合はどうしたらいいのでしょうか。 例えば、A1,B1,C2,D1,E1にそれぞれ、5, (未入力), 10,7,(未入力)とかの場合は、入力されている中で一番右側にあるD1にある7がその答えになります。

  • エクセルでのセルの参照

    sheet1にデータが入力されています。 そしてsheet2ではそのsheet1に入っているデータを 抽出するsheetとして使用しています。 そこで、sheet2にある一つのセルに3と入力したら sheet1で使用しているA3、B3、C3、D3・・・ のセルのデータを、 4と入力したら A4、B4、C4、D4・・・ のセルのデータをsheet2のそれぞれのセルに引っぱってこれるように 関数を書きたいと考えています。 INDIRECTが機能的に近いのかなと考え、式を試してみたのですが なかなかうまくいきません。 また、4と入力したときにA5、B5、C5、D5を参照するというように 数値をいじったりできるであればそれも教えていただきたいです。 よろしくお願いいたします。

  • Excelにおけるセルの参照方法について

    少し複雑なセルの参照方法について、分からなくて困っています 例えば、A1~K1 A2~K2 A3~K3     A4~K4  にある値が入力されているとき、 A10に[=A1]と入力した場合は、隣のB10にD1の値を、C10にG1の値を、D10にJ1の値が出力され、 A10に[=A2]と入力した場合は、隣のB10にD2の値を、C10にG2の値を、D10にJ2の値が出力され、 以下[=A3][=A4]の場合も同様に出力されるようにするためにはどうすればよいのでしょうか? 関数の組み合わせなどで解決できるのでしょうか?実際にはもっと膨大なデータを処理しなければならず、現在は手入力で非効率的な作業を行って困っています(^^;)どなたかご教授お願いしますm(__)m

  • Excelセルの参照

    Excelにdataとnという2シートがあります。dataシートのA列3行目~22行目にデータが縦入力されており、以降B列、C列とデータ入力が繰り返されます。 nシートでdataシートの入力値参照のため、あらかじめdataシートの参照リンクを貼っておきたいのですが、nシートのデータは横並びであるせいか、参照リンクをうまくコピーすることができません。 dataセルのA3セルの値をnシートのD1に=data!A3と貼り付けて、W1(=data!A22)まで数式を自動コピーできないでしょうか。また、D2~W2まで=data!B3~=data!B22など参照リンクをコピーで作成できないでしょうか。 よろしくお願いいたします。 横並びに参照する必要があるのですが、

  • セルの相対参照について

    たとえば、あるシートAのA1セルが別のシートBのA1を参照しておりシートAのA2がシートBのC3(A1から列を2つ行を2つ移動したセル)を参照している状態で、シートAのA1の参照セルをシートCのB2に変更したときに自動でシートA2の参照セルをシートCのD4に変更できるような方法はあるでしょうか? 質問の内容がわかりにくいかもしれませんが、是非よろしくお願いします。

  • エクセル 関数の参照セルの変更

    ご教示お願いします。 =IF(C5=1,A5/B5,0)という式のC5の部分をD5,E5,F5・・・と変更したいのですが、式の中を手入力で変更するのではなく、他のセル(例えばセルA1)にD5,E5,F5・・・入力すると式C5の部分が変更されるようにしたいです。 例)セルA1にD5と入力すると関数=IF(C5=1,A5/B5,0)が=IF(D5=1,A5/B5,0)に変わるみたいにしたいです。セルA1にD5と入力するのが正しいやり方なのかはわかりませんが。

  • 重複した(?)セルの内容を一部削除し残りを取り出す

    何時も勉強させて頂いております。 現在、エクセルで困っておりお力を借りたく質問させて頂きたいと 思います。 エクセルで帳票などを作成しているのですが、   A  |     B    |  C  |    D     リーダー|    メンバー  | 欠席者 |  最終参加者  佐藤  |鈴木、齋藤、小林 |     |佐藤、鈴木、齋藤、小林 見づらいと思いますが、こんな感じで入力しています。 A列にはリーダー(必ず1名)、B列にはメンバー(2~4名程度)、 C列には当日欠席する人がいた場合その人の名前を記入し、D列には A列とB列をあわせた人の名前が入っています(A&"、"&Bという感じで)。 今回分らないのは、C列に【小林】と入った場合、 AとBは変更せずにD列には【小林】を抜いた、 【佐藤、鈴木、齋藤】とだけ表示させたいのです。 ※C列に【佐藤】と【小林】が入った場合は、D列には【佐藤】と 【小林】を抜いた【鈴木、齋藤】とだけ表示させたいと思っています。 重複したデータがあった場合、行単位で消す方法は分るのですが、 【セルの中のデータから同じ名前(重複と考えて)だけを抜き出した 残りのデータだけを取り出す】方法が分からないのです。 このExcelデータを使用する人はパソコンに詳しくなく、 データの入力、削除(セルの内容全て)をするのが精一杯な年配の方で(変更はできない)私としては、ただ入力するだけでOKというデータを 作っているのですが、こういった事はできますでしょうか? データを全部入れなおせば簡単なのですが、 A列とB列はSeet2で使用し、D列はSeet3で使用しており、更に この上のような行が数十行あるのです。。。 どうぞお力をお貸し下さい><

  • Excelでのセルの検索

    セルの検索方法について、質問します。 現在の表       A    B      C     D --+-------+-------+-------+-------+------+-------+------- 1   鈴木   加藤   斎藤    --+-------+-------+-------+-------+------+-------+------- 2   佐藤   清水         --+-------+-------+-------+-------+------+-------+------- --+-------+-------+-------+-------+------+-------+------- 3   山田              --+-------+-------+-------+-------+------+-------+------- 理想形       A    B      C     D --+-------+-------+-------+-------+------+-------+------- 1   鈴木   加藤   斎藤   斎藤 --+-------+-------+-------+-------+------+-------+------- 2   佐藤   清水         清水 --+-------+-------+-------+-------+------+-------+------- --+-------+-------+-------+-------+------+-------+------- 3   山田              山田 --+-------+-------+-------+-------+------+-------+------- 上記のような表(現在の表)で、D列に空白セル以外の一番右のセルを探して表示できるような関数を探しているのですが?。 仕事で進捗表の作成を行っており、困っていますのでよろしくお願い致します。

専門家に質問してみよう