セルの結合による影響

このQ&Aのポイント
  • エクセルのセル範囲を結合させた時の、結合したセル範囲内のセルが示す値について教えてください。
  • 結合したセル範囲内のセルへの参照方法についても教えてください。
  • 具体的な例や詳しい情報を教えていただけると助かります。
回答を見る
  • ベストアンサー

セルの結合による影響

エクセルのセル範囲を結合させた時の、結合したセル範囲内のセルが示す値について教えてください。 まず、B2:D5のセル範囲を結合します。結合したセル範囲を選択して、数字10を入力します。 任意のセルを選択して、式"=B2"を入力するとセルには、10が表示されます。次に"=C2"を入力すると、0(零)が表示されます。同じく他の、セル範囲のメンバーで同じことをしてもすべて0(零)が表示されます。 次に、式"=B2:C2"を入力すると、10が表示されます。しかし、式"=B2:D2"では、0(零)が表示されます。 さらに、式"=B2:C4"、式"B2:C3"、式"=B2:D5"では、#VALUEが表示されます。 いったい、一番最初に入力した10の数字はどこに格納されているのでしょうか?また、結合したセル範囲ないで、任意のセル範囲を参照してしまった場合、何を参照することになるのでしょうか?単にセル範囲の左上の値ではないようですが? 参考に、式"C2:D2"では、0(零)、式"=C2D3"では、同じように#VALUEとなります。(相対参照にはなっているようです?)詳しい方いらっしゃいませんか? よろしくお願いします。

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

  • ベストアンサー
  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

>式"=B2:C2"を入力すると、10が表示されます その式を入力して、10が表示されるのはB列だけではないですか? >式"=B2:D2"では、0(零)が表示されます こちらは、0になるのはC列、D列では有りませんか? 試しにB列に=B2:D2と入力してみて下さい。10と表示されませんか? そして、B、C、D列以外に入力したら#VALUEと表示されるはずです。 このような形で数式を入力すると、数式を入力したセルと同じ列の値が表示されます。 これは、B2:D5が結合されているとか、結合されていないとかに関係無く同じ結果になるので、結合セルの影響というわけではありません。 >一番最初に入力した10の数字はどこに格納されているのでしょ うか? B2セルに格納されていると思います。 任意の4行×3列のセル範囲を選択して、 {=B2:D5} と入力してみて下さい。(式はCtrl+Shift+Enterで入力する。) 左上角のちょうど、B2を参照するセルに10が表示され、 他は0が表示されていませんか? 0が表示されるからといって、B2以外のセルの値が0だというわけでは有りません。 試しに、=COUNTBLANK(B2:D5) としてみると、11になります。 これはB2:D5の範囲に空白セルが11個あると考えられます。 どこか4行×3列のセル範囲に {=ISBLANK(B2:D5)} (これもCtrl+Shift+Enterです。) と数式を入力するともっと解りやすいです。 更に結合セル範囲内の任意のセルを参照する数式を、 どこかに入力して、そのセルをWクリックしてみて下さい。 カラーリファレンスが出てきますよね。 ちゃんと数式の参照セルは存在していますよね。 以上のことから、結合セルは、左上角のセルの行高と列幅が 結合範囲の大きさと同じになり、範囲内の他のセルを隠している状態だと思います。 隠れているから見えないし、入力できない。 入力できないから空白セル扱いする。 そう考えると、理解しやすいと思います。

vba_minarai
質問者

お礼

とても分かりやすいご指導有難うございます。 大変助かりました。特に、セルの結合が、左上のセルの大きさを変更することにより隠しているとの説明で、納得しました。内部に詳しい人は、ものの見方にもすばらしいものがありますね! 今後とも、よろしくお願いいたします。

関連するQ&A

  • 結合されているセルのコピー、ペーストを値として貼り付けるには?

    セルB1とB2が結合されていて、”本” と書かれています。 その他のセルは一切結合されていません。 そして、セルB3には”=A3”という式が入っています。     A   B   C   D 1        2       本       本 3   99   99       99 このような場合において、B列をコピーしてD列に値として貼り付けたいのですが、 ”この操作には、同じセルの結合が必要です”とエラーが出てしまいます。 もちろん、普通に貼り付けると、セルD3に”=C3”と式が入力されるため、99が 表示されず、目的が達成出来ません。 なにか良い方法があれば教えてください。

  • 結合したセルの左上以外のセルから値を参照したい

    エクセルで、セルA1:C3を結合しています。 =A1 として参照する場合には、結合セルの値を参照できますが、 =B1とか=A2とかのように参照すると、0が表示されてしまいます。 B1やA2のセルを指定した場合にも、結合セルの値を参照できるような シート関数はないのでしょうか。 =KANSU(B1)とか=KANSU(A2)とした場合に、 結合セルの値を得られるシート関数を教えてください!

  • 【EXCEL】 結合されたセルを参照した式

    1.EXCELで、数式で計算する時に元になるデータ(Sheet1のセル)に結合されたセルを指定しています。 2.Sheet2に上記の結合セルを参照した数式を作成しようと考えています。  a.セルに = (イコール)を入力し  b.Sheet2の目標セル(B1:C1)をクリック  c.Enterキーを押すと  入力された数式が  ='Sheet1'!B1:C1  となってしまい、エラー(#VALUE!)になってしまいます。  入力後に数式を手で修正して   ='Sheet1'!B1  とすれば正常に値が表示されますが、他のシートはこんな修正をしなくても   ='SheetXX'!B1  のように表示されます。 どこを修正(確認)したらいいのかわからない状態です。 どなたかご存知の方がおりましたらよろしくお願いいたします。

  • エクセル 結合セルでも関数は使える?

    セルA1,B1,C1を1つに結合したセルにデータの入力規則を設定しドロップダウンリストから任意の項目を選択できるようにしました。このあと、ドロップダウンリストから例えばAという項目を選択したら、aという文字が隣のセルに表示されるようにしたいのですがどういう関数を使用すればよいですか?又この隣のセルというのもD1,E1,F1までのセルを結合していますが、関数は使えるのでしょうか?

  • 結合セルに結合していないセルの値を貼り付けたいです。

    結合セルに結合していないセルの値を貼り付けたいです。 シート1の1行目の[A1-B1-C1-D1]を結合しています。以下同じように[E1-F1-G1-H1]…のように4つづつ結合しています。 この行に、シート2のA1→B1→C1と続く結合していないセルのデータを貼り付けたいのですが、やりかたがわかりません。色々やってみたのですが、うまくゆきません。ご教授お願いいたします。

  • エクセルにて結合セルの範囲を参照するには?

       A B C D E F 1 |フォード| 2 |BMW | 3 |ホンダ | 各行A列~C列3つを結合入力 4 |ルノー | 5 |DFR  | 6 |ベンツ |  上記のようなエンジンメーカー表にて、A1~C1,A6~C6間にF1へエンジンを供給しているメーカー名がA~Cの3つのセルを結合して入力されているとします。  このような表を用いて別のワークシートから、このエンジンメーカーの入力セルの文字列を参照したいのですが、  フォードの場合ですと、=’エンジンメーカー表’!A1:C1と表示され、エラー値VAULEが返され、参照したい文字列が返りません。  結合されている3セルに範囲名をつけてINDIRECT関数で参照すれば出来るのですが、結合セルの項目が多過ぎて、いちいち、名前をつけていられないのです。  また、表のセル結合を崩せないのです。(同じフォーマットで作られている表が多数存在のため) このような単一セルでなく、複数のセル範囲を結合して入力されている文字列を簡単に=で参照する方法は無いでしょうか?

  • エクセルでセルの値結合で日付表示

    初歩的な質問ですがお願いします。 エクセルで下記のように値が入力されています。 A1  B1  C1  D1  S  45   3  15   このセルの値を結合して別のセルに(例えばE1)にS45.3.15(日付表示)と表示させていのですが・・・ セルの値の結合ができれば、表示方法とかはわかります。 よろしくお願いいたします。

  • VBA 結合されているセルのオートフィル

    先程同じような質問をしてしまい すいませんが 結合されているセルのオートフィルのやり方が今一つわかりません でしたので質問させていただきます。 やりたいこと A列・・・A1セル『1』A2セル『2』・・・A10セル『10』と 数字が入っています。 BとC列・・・結合されており B1C1セル『1000』B2C2セル『1100』と数字が入っています。 F1セル・・・1~10までの数字が入っています。 処理内容 F1セルに『5』と数字が入っている場合 B5C5セルを選択後、数字が入っているB2C2セルまで移動します。 そのあと、B5C5セルではなく B4C4セルまで『1100』とオートフィルしたいのですが 可能でしょうか。 それともこのような処理をしたい場合オートフィルをするのは 間違っているのでしょうか? すいませんがコード記載していますので 回答宜しくお願い致します。 コード Sub Macro1() Dim a As Variant Dim i As Variant Dim RSta As Long Set a = Range("F1") '検索値'例えば5と入力したら For i = 1 To 10 If a.Value = Cells(i, 1).Value Then 'F1セルに5と入力されA5セルの数字が5なら If Cells(i, 2) = "" Then 'B5セルの値が何もなければ RSta = Cells(i, 2).End(xlUp).Row 'ここでBとCセルの結合されているセルの数字が入っている 一番上のセルを選択し Range("B" & RSta, "C" & RSta).AutoFill Destination:=Range("B" & RSta, "C"), Type:=xlFillCopy 'このコードが間違っているらしくうまくできません。ここでBとCの結合されているセル2行目から4行目までをオートフィル(数字のコピーのみを実施したい) End If End If Next i End Sub

  • エクセルでセル結合しようとすると

    A1に著者名、B1に作品名、C1に出版社、D1に出版年と入力した10行ほどデータを、セル結合によって一行ずつ一つのセルにしたいと思い、 全データを選択した状態で、 ツールバーにドラッグした「横方向に結合」をクリックすると、 「選択範囲には複数のデータ値があります。1つのセルとして結合すると選択したセル範囲にある最も左上端にあるデータのみが保持されます」 と出て、左端以外のデータが消えちゃうんですけど、全てのデータを保存するのはできないんでしょうか?

  • EXCEL セル結合したセルを参照したい!

    Sheet1 A1:B3 セル結合して「5」が入力されている Sheet2 A1:B3 セル結合して「5」が入力されている Sheet3 A1セルに上記の合計を出したい =Sheet1!A1:B3+Sheet2!A1:B3 となってしまって答えが#VALUEとなってしまいます。 結合されているセルはセル参照の計算は不可能なのでしょうか? 説明が下手ですいません。 おわかりの方教えてくださーい!

専門家に質問してみよう