Hebikuzure's Tech Memo

2010年5月9日

Excel の計算範囲に結合セルが含まれている場合に意図しない結果になる

Filed under: Microsoft Office — hebikuzure @ 11:12 午前

The result of a calculation that uses the data in a merged cell does not match the result that is expected based on the visible data in the merged cell in Excel 2000, in Excel 2002, in Excel 2003, in Office Excel 2007, or in Excel 2010
http://support.microsoft.com/kb/983435/en-us


Excel では複数のセルを結合して複数行/複数列にまたがるセルを作成する事ができる。
Excel 2007 以降の場合は結合したいセルを選択して [ホーム] タブにある [セルを結合して中央揃え] ボタンをクリックすれば作成できるし、また [セルの書式設定] – [配置] タブの [セルを結合する] にチェックを入れても良い。


図1: A2、B2、C2 の3セルが結合されている

結合されているセルが合計などの計算の範囲に含まれている場合、結合セルへのデータの入力方法によっては意図しない結果になってしまうう場合がある。
下の図では、A3 と A4 にはその隣に表示されている数式が入力されており、その結果としてどちらも「10」が表示されている。


図2: 意図通りの計算結果

ところが以下のように同じ見かけ、同じ数式なのに計算結果が「20」になってしまう場合がある。


図3: 意図しない計算結果

これは以下の手順で再現できる。

  1. A1D55 を入力しておく
  2. A3=SUM(A2,B2,C2,D2)A4=A2+B2+C2+D2の数式を入力する
  3. A2B2C2 を選択して [セルを結合して中央揃え] ボタンをクリックする
  4. A1 を右クリックして [コピー] を選択する
  5. 結合したセルを右クリックして [形式を選択して結合] を選択する
  6. ダイアログで [数式] を選択して [OK] をクリックする


図4: [形式を選択して貼り付け] で [数式] を選択する

なぜこうなるのか、その理由は以下の通りだ。

  • セルを結合するとセルが全体で一つになったように見えるが、実際には個々のセルは Excel の内部には保持されていて、書式として隣のセルと結合した状態であるという情報を持っている。結合セルに表示されるのは結合した元の範囲の左上隅のセルに入っていたデータだけだが、実際にはそれ以外の元のセルもデータを持つ事ができる。
  • ただしこれでは分かりにくいので、セルを結合する際に結合範囲の左上隅以外のセルの値はクリアされる動作になっている。また他のセルをコピーして結合セルに貼り付ける場合も、値は左上隅のセルにだけコピーされる動作になっている。
  • ところが上記の操作のように [形式を選択して貼り付け] で [数式] を貼り付けると、左上隅のセル (上記の例では A2) だけでなく他のセル (上記の例では B2 と C2) にも数式がコピーされる。上記の例では数式として A1 に入っている値 5 が A2、B2、C2 の 3 つのセルにコピーされる。
  • そのために、A3 や A4 の数式での計算結果は表示されている数値の合計 10 ではなく、表示されていない B2 と C2 の値も含む 20 になる。

この動作についてはサポート技術情報で Excel の不具合とされているが、修正プログラムなどは無い。もし結合セルを含む集計を行っているシートがあるなら、念のため計算結果が不正になっていないか確認した方が良いだろう。

1件のコメント »

  1. […] Excel の計算範囲に結合セルが含まれている場合に意図しない結果になる […]

    ピンバック by 人気記事ベスト20 « Hebikuzure's Tech Memo — 2011年6月4日 @ 1:27 午後


RSS feed for comments on this post. TrackBack URI

コメントを残す

WordPress.com で無料サイトやブログを作成.