今月の売上の追跡に使用する2つのワークブック、2011NovemberA.xlsと2011NovemberB.xlsがあり、2011NovemberA.xlsに2011NovemberB.xlsのデータへのリンクが含まれているとします。新しい月のワークブックをコピーするときは、最初のワークブックのすべてのリンクを更新して、新しい月の2番目のワークブックを指すようにするための最良の方法について疑問に思われるかもしれません。

新しい月のブックを準備するために、ほとんどの人はWindowsフォルダーを開き、Excelでもなく、Windows内でブックファイルをコピーします。

ただし、これは、ファイルの更新で最も多くの作業を行うことを保証する方法です。より簡単な方法は、Windowsをバイパスして、Excelで保存することです。次の一般的な手順に従ってください:

。 2011NovemberA.xlsと2011NovemberB.xlsの両方をExcelで開きます。

。 [名前を付けて保存]を使用して、2011NovemberB.xlsファイルを2011DecemberB.xlsという名前で保存します。

。 [名前を付けて保存]を使用して、2011Novemberxlsファイルを2011DecemberA.xlsという名前で保存します。

2011DecemberB.xlsの保存(手順2)の一環として、Excelは2011NovemberA.xls内のすべてのリンクを自動的に更新して、新しいファイル名を指すようにします。その後、2011DecemberA.xlsを保存すると(ステップ3)、サイクルが完了し、先月のファイルがディスク上で安全な状態で、新しい月の新しいブックが作成されます。

何らかの理由でファイルを新しい名前でExcelに保存できない場合(おそらく、他の誰かが新しい月のブックのコピーを作成してファイルに変更を加えた場合)、手動で編集する必要があります。リンク。幸い、Excelの検索および置換機能を使用して、このタスクを支援できます。

。 2011DecemberA.xlsファイルを開きます。

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

。 [検索する文字列]ボックスに、古いワークシート名(2011NovemberB)のルート部分を入力します。

。 [置換]ボックスに、新しいワークシート名(2011DecemberB)のルート部分を入力します。

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

Excelは、リンクを含むワークシート全体を調べ、適切なテキストに変更を加えます。

もう1つのアプローチは、毎月のファイル全体を処理することです。つまり、ファイル名に月を反映させずに、その月のすべてのブックをその月にちなんで名付けられた1つのフォルダーに配置します。このシナリオでは、11月のフォルダーを作成し、フォルダー全体のコピーを作成して、12月という名前を付けることができます。そうすると、ワークブックの複製コピーが別々のフォルダーに保存されます。両方の月から同じワークブックを同時に開こうとしない限り、それらを個別に操作できます。 (Excelでは、同じ名前の複数のブックを開くことはできません。)

リンク戦略をより柔軟にしたい場合は、いつでもINDIRECT関数を使用できます。たとえば、リンクが次のようなものであるとします。

=[2011NovemberB.xls]Sheet1!B3

ソースファイルの名前(2011NovemberB.xls)を現在のワークシート(D5など)のセルに入れて、上記の式を次のような式に置き換えることができます。

=INDIRECT("[" & D5 & "]Sheet1!B3")

セルD5の内容を別のファイル名に変更すると、そのファイルが新しいデータソースになります。ただし、いくつかの「落とし穴」があります。

まず、リンクのターゲットであるファイルを手動で開く必要があります。 Excelは、通常のリンクの場合のようにそれを行いません。

また、スペースを含むブックのファイル名は、間接式をトリップします。ファイル名にスペースが含まれている可能性があると思われる場合は、数式を次のように変更する必要があります。

=INDIRECT("['" & D5 & "']Sheet1!B3")

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

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