Tylerには、トレンドワークシートとそれに続く各日のワークシートを含むワークブックがあります。彼は、トレンドワークシートに他のすべてのワークシートのデータを入力する必要があります。必要なセルは、各シート内で一定です。タイラーは、365のワークシートごとに手動で「= A23」を実行せずに、どのようにしてそのデータを取得できるのか疑問に思います。

何をしたいかに応じて、このタスクに取り組む方法はいくつかあります。 365個のワークシートすべての合計を取得したいだけの場合は、次のような式を使用できます。

=SUM('Day1:Day365'!A23)

これは、ワークシートの名前がDay1からDay365であることを前提としています。ただし、すべての疑問を取り除く簡単な方法は、次の手順に従うことです。

。数式を入力するトレンドワークシートのセルを選択します。

。次の数式の入力を開始します。= SUM(。最初のワークシートタブ(初日のタブ)をクリックします。

。Shiftキーを押しながら最後のワークシートタブ(のワークシートタブ)をクリックします。数式は次のようになります。

SUM( ‘Day1:Day365’!。合計するセル(この場合はセルA23)をクリックします(どのワークシートを使用してもかまいません)。これを実行します。)数式は次のようになります。= SUM( ‘Day1:Day365’!A23。Enterキーを押します。これで数式は完成です。

もちろん、ワークシート全体でセルを合計したくない場合があります。実際には、トレンドワークシートの365個の値すべてを一覧表示したい場合があります。その場合、最も簡単な方法は、ワークシート名をすべて、自分の左側に一覧表示することです。たとえば、すべてのワークシート名を列Aに含めることができます。次に、列Bの数式でINDIRECT関数を使用できます。

=INDIRECT("'"&A7&"'!A23")

これを必要な数のセルにコピーすると、他のワークシートから列Bに目的の値が引き出されます(図1を参照)。

image

図1.トレンドワークシートに値をプルします。

ワークシートに何らかのパターンで名前が付けられていることを確認すれば、列Aのワークシート名を削除できます。たとえば、「Jan01」から「Dec31」のような名前を付けることができます。その場合は、列Bの数式を次のように変更するだけです。

=INDIRECT("'"& TEXT(DATE(2019,1,ROW()-6), "mmm dd")&"'!A23")

数式を必要な数のセルにコピーすると、必要な値が得られます。 (図2を参照)

image

図2.日付を使用してトレンドワークシートに値をプルします。

数式は、セルB7に入力されているため、ROW関数が返すものから6を引くことに注意してください。この数式を実際に別の行に配置する場合は、実際に減算するものを調整する必要があります。

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

このヒント(6089)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。