Excel構造化された参照テーブル構文
-
18-09-2019 - |
質問
Excelの使用を避けようとしていますが、私がそうするときは、作成するのがずっときれいに思えるので、構造化された参照を使用するのが好きです。
列「Col1」と「col2」を備えた「table1」というテーブルを作成した場合、別のテーブルの構造化された参照を使用して「col1」の最初の行をどのように参照しますか?構文を試しました =table1[[#this row],[col1]]
, 、そしてエラーを取得します。のような構文はありますか =table1[1,1] or =table1[1,[col1]]
?もちろん、これも機能しませんが、同等のものは何ですか?
これは簡単だと思われるので、非常に迷惑です。
解決
Table1[[#This Row][Column1]]
します 機能しますが、式は参照したいテーブル行と同じ行にある必要があります。
他の場所で最初の行を参照するには、どちらかを使用します COUNTIFS(criteria_range1, criteria1 [, criteria_rangen, criterian])
または少し複雑です SUMIFS()
StudGeekで言及されているように、カウントの代わりに数値値が必要な場合:
SUMIFS(sum_range1, criteria_range1, criteria1 [, criteria_rangen, criterian])
もちろん、行を選択するための一意の行基準が必要です。だから、たとえば:
Table1
ID Value Name
1 2 Two
2 4 Four
3 8 Eight
SUMIF(Table1[Value], Table1[ID], 2)
... 4の値(またはID = 2が見つからない場合はゼロ)を返します。あなたの値が数値でない場合、明らかにこの方法を使用することはできません。
しかし、アクーンはほとんど本当の答えにヒットしましたが、彼は彼の説明/例であるIMOで十分に進んでいませんでした。
INDEX(Table1[Name], 2)
「4」を返しますINDEX(Table1, 1, 1)
返品1
他のヒント
試す
=INDEX(col1,1)
2-dimテーブルのセルに対処することもできます。
=INDEX(reference,row_num,column_num)
そのような場合のトリックは、Excelオフセット関数を使用することです。
- 同じ表でcolumn1という名前の列の1列目にアクセスします。
OFFSET([Column1],0,0,1)
- 2列目にアクセスします
OFFSET([Column1],1,0,1)
等
もちろん、これを使用して、テーブル名で接頭するだけで別のテーブルと列をacccesすることができます。例えば OFFSET(Table2[Column3],4,0,1)
「table2」の列「列3」の4行目にアクセスします
テーブル内の特定の行を参照する構造化された参照を使用する明確な方法はないようです。 Adrianが言うように、インデックスを使用できます。
または、暗黙の交差点を使用して同じ行を参照することもできます。Table1が行5:10にあり、表2が行5:10にある場合、列名を持つ構造化参照を使用すると同じ行が暗黙的に交差します。
または、構造化された参照をマルチロウアレイ式として入力することができます(複数のセルを選択し、式を入力し、Ctrl-Shift-Enterを使用して)さまざまな行で動作します。
インデックスの代わりに、私はsumifを提案します。明示的な行番号ではなく、テーブル値を使用できます(フィルタリングまたは注文を開始すると壊れる可能性があります)。たとえば(次のリンクから)、これは列の量を合計し、タイプがチェックされ、アカウントがユーティリティに等しい場合のみを含む。=SUMIFS(Table1[Amount],Table1[Type],“Check”,Table1[Account], “Utilities”)
このリンクを参照してください詳細: http://office.microsoft.com/en-us/excel-help/using-structured-references with-excel-tables-ha010155686.aspx
テーブルにプライマリキー(数値または文字列になる可能性がある可能性がある)として指定された列を持つことができれば、構造化されたREFには、その主キーで行を参照する方法を含めることができます。
これはvlookupの周りの構文砂糖ですが、テーブルはそれが主キーでソートされたかどうかを知ることができ、その場合にのみ効率的な検索を行うことができます。 vlookupは、特にテーブルが行を整理する便利な方法がある場合、ソートに依存している場合に間違った行を見つける悪を埋め込んでいるようです。