数式をあるセルから別のセルにコピーすると、Excelは、数式を受信して​​いるターゲットに基づいて、数式内の相対参照を自動的に更新します。たとえば、セルB7に次の数式が含まれているとします。

=B6+A7

この数式をセルD22にコピーすると、Excelは参照を自動的に更新するため、次のようにセルD22を基準にしています。

=D21+C22

あるワークシートから別のワークシートに数式をコピーしていて、数式に前のワークシートへの参照が含まれている場合、Excelは、少なくともワークシート名では、このタイプの数式の更新を行いません。たとえば、1月、2月、3月という名前の3つのワークシートがこの順序であるとします。 2月のワークシートには、次の式があります。

=January!B7*1.075

このセルを3月のワークシートにコピーすると、Excelは(必要に応じて)B7参照を自動的に変更しますが、シート名は変更しません(1月、数式が最初に出現したシートより「1つ少ない」)調整された相対シート名(数式のコピー先のシートより「1つ少ない」2月)。

コピーした数式にワークシート参照が数個しかない場合は、数式を編集するだけでかなり簡単になり、適切なワークシートを参照します。ただし、そのような参照が数十または数百ある場合、このタスクはすぐに悪夢になる可能性があります。

解決策は、次のように、Excelで簡単な検索と置換操作を実行することです。

。 2月のワークシートから3月のワークシートの目的の場所に数式をコピーします。

。 3月のワークシートが表示されている状態で、Ctrl + Aを押します。これにより、ターゲットワークシートのすべてのセルが選択されます。

。 Ctrl + Hを押します。 Excelは、[検索と置換]ダイアログボックスの[置換]タブを表示します。 (図1を参照)

。 [検索する文字列]ボックスに「1月!」と入力します。 (引用符なし)。

。 [置換]ボックスに「2月!」と入力します。 (引用符なし)。

。 [すべて置換]をクリックします。

ワークシートの数式が更新され、適切なワークシートを参照するようになりました。

手順4と5で、検索して置き換えるものが月の名前ではないことに注意してください。これが行われるのは、月の名前だけ(1月、2月など)が、数式の一部でなくてもワークシートの他の場所で簡単に発生する可能性があるためです。これらのインスタンスを変更したくないので、検索を絞り込むために余分な文字が含まれています。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9869)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Relative_Worksheet_References_when_Copying [コピー時の相対ワークシート参照]