クリスは、数式で名前付き範囲(行)を使用するワークシートを設定しました。彼は、販売行全体に「Sales」という名前を付けてから、さまざまな式でSales名を使用しています。たとえば、任意の列で= Salesと言うことができ、その列のSales行の値は数式によって返されます。クリスは、同じ数式手法を使用して異なる列のセルを参照する方法を考えていました。

これを行うには、いくつかの異なる方法があります。まず、INDEX関数を使用してセルを参照できます。同じ列でSalesの値を参照する厳密な方法は、次のとおりです。

=INDEX(Sales,1,COLUMN())

これは、Salesという名前の範囲が実際にワークシートの行全体を参照している場合に機能します。そうでない場合(たとえば、SalesはセルC10:K10を参照する場合があります)、次の数式は、数式が発生する同じ列のSalesの値を参照します。

=INDEX(Sales,1,COLUMN()-COLUMN(Sales)+1)

別の列を参照する場合は、INDEX関数の列指定に追加される値を調整するだけです。たとえば、現在の列の売上と前の列の売上の差を決定する場合は、次を使用します。

=INDEX(Sales,1,COLUMN()-COLUMN(Sales)+1) - INDEX(Sales,1,COLUMN()-COLUMN(Sales))

この式の「省略形」バージョンは次のようになります。

=Sales - INDEX(Sales,1,COLUMN()-COLUMN(Sales))

INDEX以外にも使用できる関数(OFFSETなど)がありますが、手法は同じです。現在の列からのオフセットを参照する方法を見つける必要があります。

ただし、目的のデータを取得する簡単な方法があります。次のように、販売範囲にもその上に見出し行があるとします。(図1を参照)

image

図1.ワークシートのデータ例。

見出しの行には範囲の年がリストされ、見出しの下の値は実際に販売範囲を構成する値です。この手法が機能することを確認するには、次の手順に従います。

。 [Excelのオプション]ダイアログボックスを表示します。 (Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックします。Excel2010およびExcel 2013では、リボンの[ファイル]タブを表示し、[オプション]をクリックします。)

。ダイアログボックスの左側にある[数式]リンクをクリックします。 (図2を参照)

。 [数式でテーブル名を使用する]チェックボックスがオンになっていることを確認します。

。 [OK]をクリックします。

この構成変更が完了すると、式として次を使用できます。

=Sales '2013' – Sales '2008'

実際に行っているのは、セルの結合を処理するようにExcelに指示することです。この場合、Sales ‘2013’は、Sales範囲と ‘2013’列の交点にあるセルを返します。数式のマイナス記号の右側の部分についても、同様の和集合が返されます。結果は、必要な2つの値の減算です。

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

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