関数、数式を「絶対参照($)を使わずに」そのままコピーする方法

関数・数式の埋まっているセルの式を「そのまま」コピーできるの?

できますよ。
通常、ExcelでコピーペーストするとExcelが気を利かせて、ペースト先のセルの式を変えてくれますね。
でも、少しの手順を加えるだけで「式の内容を変えず」にそのままコピーできます。

数式、関数のセルをコピーしたい

シートに埋め込んだ関数、数式をコピーすると式がずれる

Excelで作業をしていると、関数や数式の入っているセルをコピーしたい。
しかも、「式に設定したセルのアドレス(例では「SUM(B2:D2)」)を変えずに」というケースがたまに発生します。

数式、関数のセルをコピーしたい

こういうとき、そのままセルをコピーして貼り付けても、(相対参照として入力しているため)もともとの式に設定した「セルのアドレスが変わってしまって」不都合なケースがあります。

絶対参照に直すのは面倒くさい、そして(今さら式そのものに)触るのが怖い

「このようなケースの場合、どうするのか?」とサイトで検索などすると「”絶対参照”にすれば大丈夫」という回答を目にします。

数式、関数のセルの式を絶対参照にすればコピーしても式の内容が変わらない
実際、上記の図のように「$」記号を含めることで、コピー先のセルのアドレスが変わることなく「そのまま」コピーできます。
ですが、実際の作業でコピーしたい場面は、上記のような簡単な表や式ではないことが圧倒的に多かったりします。
セルの式を絶対参照に変えることは、コピーするセルの数だけ手直し作業が発生します。
そして何より、今問題なく動いている式を変更することをためらうケースもしばしば発生します。
では、一体どうすればよいでしょうか?

「式を消して」コピー

実はコレ、案外簡単にコピーできるんです。
最初に式を消します。もちろん消すと言っても削除ではなく、「式の機能」だけを消します。

では、どうやって?
はい、置換を使います。

コピー元のセル、すなわち置換するセル、今回はSUM関数の入っている3つのセルを選択し、置換画面(CTRL + H)を表示します。検索画面とセットになっているあの画面です。

置換画面を表示する

ポイントは「置換後の文字列」です。Excel自身の仕様(解釈)として、1文字(桁)目がイコール(=)で始まる値は、関数や数式として認識されてしまいます。
そこで、Excelが「関数や数式として認識できない」文字に置換します。画像の例では、イコールで始まる文字を、「空白と=」という形に変えています。
1文字目に空白を入れる

こうすることで、関数や数式として認識されなくさせています。
これが「式の機能」を消す、です。既におわかりの方もいらっしゃると思いますが、「置換後の文字」は、式の機能が消せればよいので、空白でなくても、なんでも良いことになります。

実際に置換をすると以下のようになります。
Excel側で「セルの値は式でなく文字である(だからそのまま表示)」という扱いになったことが分かります。
式ではなく値として表示されている

そして「この状態で」セルをコピーペーストします。
セルをコピー

式を復活させる

今のままでは、コピー元、コピー先のセルは文字列として扱われたままです。
従いまして、Excelに式として認識させるために、置換で入れた空白文字を削除します。
つまり、置換で戻します。そう、式の復活ですね。
置換で最初の文字に戻す
「検索する文字列」と「置換後の文字列」は、先程設定した値を逆にして置換を実行します。

コピー先のセルの式として使用しているセルのSUM内で指定しているアドレス(B2:D2)は、コピー元と同じため、同じ計算結果が表示されました。これでそのままコピーされたことが分かりますね。
置換で最初の文字に戻す

置換するときの注意点

今回のポイントは「置換」を使うことですが、この置換を行うときに気をつける点があります。
それは、一時期に式を消すための「置換する文字」に注意することです。置換をする前の段階で既に置換するの文字が含まれていると、式を復活させるときの置換で、その文字も巻き込まれるからです。

以下に一連の流れを載せます。




このように置換すべきでない文字も巻き込まれてしまう点に注意です。

タイトルとURLをコピーしました