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

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

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

。 Excelで2020JuneA.xlsと2020JuneB.xlsの両方を開きます。

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

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

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

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

。 2020JulyA.xlsファイルを開きます。

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

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

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

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

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

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

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

=[2020JuneB.xls]Sheet1!B3

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

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

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

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

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

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

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

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