• ベストアンサー

セルの同期

エクセルでシート1のA1とシート2のB4のセルをどちらで編集しても同じ値、文字列、数式等を保つ(同期させる)には? (VLOOKUP関数とはちょっと意味合いが違うような気がしています) ひょっとして関数使わなくても出来るのでしょうか?  もちろん同じブック内でのはなしです。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

マクロ以外では出来ません シート1のコードは Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Worksheets("シート2").Range("B4") = Target End If End Sub シート2のコードは Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$4" Then Worksheets("シート1").Range("A1") = Target End If End Sub

skt6339
質問者

お礼

回答ありがとうございました、しかしマクロとなると少々敷居が高いように思います、時間はかかるでしょうが頑張ってみます。

関連するQ&A

  • エクセル セルの関数中の一部を置き換えたい

    エクセルの操作に詳しい方にお尋ねいたします。 1つのブックの中に、例えば「集計」「東京」というシートがあるという例でお話させていただきます。 今、「集計」シートのセル番地:E100に  =VLOOKUP(B100,東京,15,FALSE) という関数が入っていて、他のE列にも「B100」以外は全く同じ関数が入っているのですが、 「東京」シートの途中に列を挿入したため、出る値が変わってしまいました。 15列目にあったものが16列目になったのだと思い、E100を  =VLOOKUP(B100,東京,16,FALSE) と、VLOOKUP関数の列番号「15」を「16」に変えてみたところ、正しい値が表示されました。 ただ、これが3000行以上あるため、手で入力し直すのは相当大変だと思います。 E列を選択して、単に「検索する文字列」に「15」を、「置換後の文字列」に「16」を入れて「すべて置換」をクリックしていいのでしょうか? 検索値(ここではB100)の中に「15」という数字が含まれているものまで変わってしまったらと思うと、 不得手な私には自信がありません。 色々調べてここまでは分かったのですが、詳しい方、どうかアドバイスをお願いします。

  • エクセルのブック間で値のみコピー

    エクセル 2003使用です。 エクセルのブック間におけるシートのコピーについてお願いします。 Book.Aのシート1の各セルは、関数の数式で入力(出力)されています。 このシートをコピーして、Book.Bにペーストしたいのですが、 コピーは、関数計算後の”結果の文字列”で行いたいです。 Book.Aのシート全体をコピーして Book.Bのシートに「形式を選択して貼り付け」 → 「値」 で可能なのですが、シート数が多いので困っています。 Book.Aのシートタブを右クリックして「移動またはコピー」で シートのコピーをすると、数式でコピーされてしまいます。 この方法で、値のみコピーのような方法はありませんでしょうか? よろしくお願いします。

  • vlookupの結果があるセルの書式を取得したい

    vlookupの結果があるセルの書式を取得したい =VLOOKUP(検索値,範囲,列番号,検索の型)で値を取ってくることは 出来ますが、その値の入っているセルの書式を取得したい。 Sheet1の セルA1に、検索したい値が入っていて、 セルB2にVLOOKUP関数が入り。 範囲はSheet2のA1:D1000となっていて、 列番号に4と入っていて10行目に 検索値と一致する値が入っていた場合に、D10の値は VLOOKUP関数で持ってこれますが、D10のセル書式を セルB2に反映させたいのですが、どのようにすれば良いでしょうか? VBAでプログラムしないとダメでしょうか?

  • EXCELで複数のブックの特定のセルの合計を求める方法は?

    EXCELの関数,数式で質問です。 <例題>異なる様式の表(数値)で構成された3つのシート(a,b,c)をもつブックが,同じ型式で50個(50ブック)ある。各ブックの特定のシートの特定の数値セル(1~50ブックのbシートのA5セル)の合計を求める数式を示しなさい。 ※この回答の1つは「=1ブックのbのA5+2ブックのbのA5+3ブックのbのA5+4ブックのbのA5+…+50ブックのbのA5」だと思うのです。しかし,いちいち各ブックの対象シート(b)の対象セル(A5)をクリックして数式を完成させるのは大変です。さらに,求めたい特定の数値セルが「bのA5」だけでなく「aのB3」や「cのR6」など,3つ,4つと増えるとすると,同様の数式を入力するのに大変な労力を要します。何か簡単な集計方法(関数,数式)はあるでしょうか。ややこしい質問ですみません。どうぞ御教示ください。

  • VLOOKUP関数の結果セルの右下のセルを表示したい

    VLOOKUP関数について、質問させてください。 現在使っているエクセルのブックのセルA1にVLOOKUP関数を使用し、そのVLOOKUPの「範囲」の部分に、別のブックの範囲を入力しました。 そしてその別ブックの中の、VLOOKUPの検索値に該当するセル(ここでは※とします)の値が、現在使っているブックのセルA1に表れるところまでは出来ました。 しかし、今度は現在のブックのセルA3に、別ブックの※セルを基準に、右方向に1つ・下方向に1つ移動したセルの値が自動的に表示されるような関数を出さなくてはならず、OFFSET関数やADDRESS関数など、色々試してみたのですが分かりません。 遅い時間に申し訳ありませんが、関数にお詳しい方は、どうか知恵をお貸しください。 よろしくお願いします。

  • excelで文字列を検索する関数を教えてください。

    いつもお世話になります。 エクセルの関数で、シートAのセルA1に入っている文字列をシートBのC列から探し出し、同じ文字列があればTrueをなければFalseを返す関数を教えてください。 わからないながらも色々調べてみたのですが、検索にはVLOOKUPがよく使われているようですが、シートBのC列は、データの並べ替えができないので、VLOOKUPは、使えないのです。 よろしくお願いします。

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • Excel、リンク元に指定文字列の存在を調べたい

    失礼いたします。 次のような関数式を用いて管理表を作りたいのです。 =IF(? ? ? ? ? ?,VLOOKUP(A3&B3,\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力")    ( ※ 「○○○」の前は\ではなく\\が正しいかもしれませんが、その点は大目に見ていただきたいです) 長い関数式ですので、念のため解説をしておきます。  ○ もし「? ? ? ? ? ?」だったら、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の、「A2~G20」の範囲の1列目(すなわち「A」の列)に、「A3&B3」と一致する文字列のセルから右に3列移動したセルを表示してください。  ○ もし「? ? ? ? ? ?」でなかったら、「未入力」と表示してください。 ところがここで問題なのが、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の、「A2~G20」の範囲の1列目(すなわち「A」の列)に、「A3&B3」と一致する文字列のセルが存在しない場合があるのです。そこで、  ○ もし「? ? ? ? ? ?」だったら、~~  ○ もし「? ? ? ? ? ?」でなかったら、~~ の「? ? ? ? ? ?」には、「XXXXX」というエクセルブックの中の、「sheet1」というシートの中の「A」の列に、「A3&B3」と一致する文字列のセルが存在する、という関数を入れたいのです。そうすれば、  1.(1つ以上)存在する → TRUEを返す → VLOOKUP関数により表示される  2.存在しない → FALSEを返す → 「未入力」と表示される というように管理できます。 ところが、私の現在の知識では、(1つ以上)存在すればTRUEを返す関数として、COUNTIF関数しか知らず、使いこなせません。 そこでCOUNTIF関数を使いました。次のような式です。  COUNTIF(\○○○\△△△\[XXXXX]sheet1!$A:$A,A3&"営業")>0 関数式のすべてを書けば、 =IFCOUNTIF(\○○○\△△△\[XXXXX]sheet1!$A:$A,A3&"営業")>0 ,VLOOKUP(A3&B3,\○○○\△△△\[XXXXX]sheet1!$A$2:$G$20,4,false),"未入力")    ( ※ VLOOKUP関数の中の「B3」には、「営業」と入力されることもあれば、ほかの文字列が入力されることもあります) すると、  ○ 通常 : 「#VALUE」が表示されてしまいます。  ○ 「XXXXX」というエクセルブックを開く : 実際に入力されているもの、もしくは「未入力」が表示されます。 そして、「#VALUE」が表示される理由を追いかけますと、COUNTIF関数の中の「A3」の箇所だけに下線が引かれ、この「A3」のためにエラーになっているのだとエクセルは教えてくれます。 以上を踏まえ、質問させていただきます。  1. COUNTIF関数は、リンクが混在する関数には適さないのでしょうか。  2. COUNTIF関数以外に、「A」列に「A3&"営業"」と一致する文字列が存在するかどうかを検索する関数があるとすれば、何でしょうか。  3. 現在、しかたなく「=VLOOKUP(~~~~)」だけにしているのですが、「未入力」と表示させたいところに「#N/A」が表示されます。これをほかの方法で、「#N/A」でなく「未入力」と表示させる方法があるとすれば、何でしょうか。 長文失礼いたしました。

  • 必ず同じセルを参照するには

    EXCEL 2000を使っています。 同じBookで、例えば Sheet1の A1のセルの値を Sheet2のどこかに入るようにしたいのです。 すると =Sheet1!A1となります。 もし、Sheet1のAの前に列を挿入すると =Sheet1!B1となります。 これをいつの場合も =Sheet1!A1とするには どうしたらよいのでしょうか =Sheet1!$A$1としてもだめでしたし、セルに名前をつけてもだめでした。 簡単にできそうなきがするのですが、わかりません。 教えてください。

  • 関数で求めた2つのセル範囲内の、平均値を出したい。

    日の出から日の入までの範囲の平均温度を求めたいのですが、日の出時刻と日の入り時間はVLOOKUP関数によって求めています。 A列に時刻、B列に温度が並んでいます。 求めた時刻が例えば、日の出6:00(セル番号 A360)、日の入18:00(セル番号 A1080)となっている場合。 当然ながら、=AVERAGE(A360:A1080)と入力すれば可能ですが、 =AVERAGE(VLOOKUP関数数式:VLOOKUP関数数式)はエラーとなります。 =AVERAGE(VLOOKUP関数数式,VLOOKUP関数数式)は2点のみの平均温度となってしまいます。 どのような方法で解決できるでしょうか? あるようで見つからないのですが、指定した範囲内に一致する数値があった場合にそのセル番号を返すような数式はあるのでしょうか?

専門家に質問してみよう