◯ 数式内容が変化しないよう「正しくコピペ」する。
社内試験の結果を一覧にしたExcelの表がある。B8:C8にMAX関数を利用して最高点を特定した。この最高点をF2:F3にも表示したかったので、B8:C8をコピーしてF2:G2にペーストした。ところが下図のように「#REF!」エラーが出た。何がいけなかったのか?
しっかり理解しておきたい相対参照。
Excelでセル参照した数式を立てて、それをコピー&ペーストした際、ペースト先の場所に応じてセル参照が相対的に変化する。これを相対参照という。例えば、B8の数式を見ると「=MAX(B2:B7)」となっており、この数式をコピーして右隣のC8にペーストすると、行はそのままで列は1列右にずれるため、数式は「=MAX(C2:C7)」になる。
一方、B8の数式をF2にペーストすると、行は6行上にずれ、列は4列右にずれる。この場合、F2にペーストしたMAX関数は、引数の「B2:B7」が相対参照により、F2の6行上からF1までの範囲に変化しなければならない。しかしF2の6行上など存在しないため、無効なセルを参照したときに出る「#REF!」エラーが表れたわけだ。
今回の場合だと、数式をコピー&ペーストしても、相対参照が働かないようにする必要がある。次の方法を実行しよう。
B8を選んだら、「数式バー」にカーソルを置き、「=MAX(B2:B7)」を選択してコピーする。続いて、[ESC]キーを押して必ず選択を解除した後、F2を選んでペーストする。こうすれば相対参照なしで数式をコピペでき、「英語読解」の「最高点」を表示できる。
最初に見た方法ではセルそのものをコピーしたが、いま紹介した方法では、セルの入力内容を文字列としてコピーしている。このように文字列でコピーしてしまえば、場所がどこであれ、コピーした文字列をそのままペーストできる。
では、ペーストしたF2の数式をG2にオートフィルしてみよう。今度は相対参照が働いて「英会話」の「最高点」を表示できた。数式を確認すると「=MAX(C2:C7)」になっていて、相対参照が正常に働いていることが分かる。
今回紹介したセルの入力内容のコピペは、文字データをテキストボックスにペーストしたり、表示形式を取り除いて文字データだけコピペしたりするのにも利用できる。特に後者はなかなか便利なので一例を紹介しておきたい。
先に掲げたシートを再度見ると、「英語読解」や「英会話」の見出しは、背景が濃い青緑の白抜き文字だ。では、試しにF1を選択して「数式バー」の「英語解読」というテキストをコピーする。続いてF4にペーストしてみよう。標準の表示形式で「英語解読」と表示できた。
単純なセル参照を利用する。
ところで今回の例では、別のセルに数式をコピペして、「英語読解」と「英会話」の「最高点」を表示したわけだが、同じ結果を得るにはもっと手っ取り早い方法がある。単純なセル参照の活用だ。
F2:G2の数式を消去した後、F2を選んで「数式バー」に「=」と入力したらB8を選ぶ。数式が「=B8」になったら[Enter]キーを押そう。さらにその数式をG2にオートフィルする。はい、これで「英語読解」と「英会話」の「最高点」を表示できた。
単純なセル参照は入力内容だけを参照する際にも利用できる。F4を選んで「=F1」と入力して[Enter]キーを押してみよう。文字列のコピペと同様、標準の表示形式で「英語読解」と表示できた。