Alanには、「9月のデータ」と「概要レポート」の2つのワークシートがあるワークブックがあります。 2番目のワークシートには、数式内で最初のワークシートのセルへの参照があります。新しい月が来ると、アランは「9月のデータ」ワークシートの名前を「10月のデータ」に変更する必要があります。これにより、他のワークシートのすべての数式が壊れます。

彼は、最初のワークシートの名前を変更したときに数式が壊れないように、最初のワークシートを参照する数式をどのように変更できるのか疑問に思います。

まず第一に、この動作(説明されている)はExcelでは正常ではないことを言わなければなりません。概要レポートワークシートを使用していて、9月のデータワークシートのセルを参照する数式を作成する場合、9月のデータワークシートの名前を変更すると、ワークブックの他のワークシートの数式に自動的に反映されます。これが当てはまらないのは、次の例のように、INDIRECT関数を使用してワークシート上の何かを参照する数式がある場合のみです。

=INDIRECT("'September Data'!A3")

変更されない理由は、ワークシート名が一重引用符(アポストロフィ)で囲まれているためです。つまり、変更してはならない文字列定数として表示されます。 INDIRECTを使用する必要がある場合は、_ExcelTips_の他の問題で説明されているように、ワークシート名を他のセルに配置し、そのセルをINDIRECT数式で参照します。次に、参照するセルの内容を変更して、使用するワークシートの名前を反映させることができます。

この方法で数式を変更したくない場合は、9月のデータワークシートの名前を変更した後、検索と置換を使用して参照を変更できます。次の手順に従ってください:

。 2番目のワークシート(概要レポート)を表示します。

。 Ctrl + Hを押して、[検索と置換]ダイアログボックスの[置換]タブを表示します。

。表示されている場合は、[オプション]ボタンをクリックします。 (図1を参照)

。 [検索する文字列]ボックスに「9月のデータ」と入力します(引用符は含みません)。

。 [置換]ボックスに「10月のデータ」と入力します(引用符は含みません)。

。 [探す場所]ドロップダウンリストが[数式]に設定されていることを確認します。

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

うまく機能するもう1つのオプションは、9月のデータワークシートで名前付き範囲を定義することです。各セル(またはセルの範囲)には、他のワークシートの数式で使用できる名前を割り当てる必要があります。

ワークシート名を変更しても、名前付き範囲の使用にはまったく影響しません。

最後に、データレイアウトを確認することを検討できます。たとえば、「9月のデータ」という名前のワークシートを作成しない方がよい場合があります。

代わりに、「今月」という名前のワークシートを作成し、数式で参照します。新しい月の始まりがくると、今月のワークシートからデータをコピーし、それが表す月の名前が付いた新しいワークシート(「9月のデータ」など)にアーカイブします。

このようにして、常に現在のデータを処理し、必要なときにいつでも古い月のデータを確認できるようにします。

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

このヒント(10811)は、Microsoft Excel 97、2000、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。