名前付き範囲内の相対参照(Microsoft Excel)
クリスは、数式で名前付き範囲(行)を使用するワークシートを設定しました。彼は、販売行全体に「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を参照)
図1.販売データの例。
見出しの行には範囲の年がリストされ、見出しの下の値は実際に販売範囲を構成する値です。この手法が機能することを確認するには、次の手順に従います。
。 [ツール]メニューから[オプション]を選択します。 Excelに[オプション]ダイアログボックスが表示されます。
。 [計算]タブが表示されていることを確認します。 (図2を参照)
。 [数式でラベルを受け入れる]チェックボックスがオンになっていることを確認します。
。 [OK]をクリックします。
この構成変更が完了すると、式として次を使用できます。
=Sales '2009' – Sales '2004'
実際に行っているのは、セルの結合を処理するようにExcelに指示することです。この場合、Sales ‘2009’は、Sales範囲と ‘2009’列の交点にあるセルを返します。数式のマイナス記号の右側の部分についても、同様の和集合が返されます。結果は、必要な2つの値の減算です。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(3202)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link名前付き範囲内の相対参照。