この記事では、INDEX 関数について説明します。 INDEX も検索ファミリーの一員ですが、その強力な座標配置機能により、場合によっては VLOOKUP を脇に置く必要があります。
Index 関数: 指定されたセル範囲内で、セルの交点にあるセルを返します。特定の行と列 セルの値または参照。
関数構造:インデックス(セル領域、行番号、列番号)
領域、行番号、列番号、座標で狙うような感じです。下のアニメーションのように、列を見つけて行を見つけ、クリックしてヒットしてください。
「囡」を見つけたいのですが、その座標は行 4、列 3 であることがわかります。
つまり、数式 =INDEX(B2:G11,4,3)
は「囡」を取得できます。
指定された領域が単一の行または列である場合、座標には 2 つの数値は必要なく、1 つの数値だけが必要です。
たとえば、F17 の A17:A21 から「Li Hui」を取得する必要があります。
式を入力します: =INDEX(A17:A21,2)
。
別の例として、G17 の A18:D18 から Li Hui の基本給を取得する必要があります。
式を入力します: = INDEX(A18:D18,4)
。
この点は記載されません。前にある「囡」という文字を探す方法です。
上記の例からわかるように、INDEX は、精密誘導ミサイルのように、座標を介して値を返し、それが指す場所に命中します (どこに戻るか)。しかし、純粋に手作業で座標を確認し、入力するのは「現代性」にそぐわない。実際の運用では、データが数十列、数十行、場合によっては数万行になることも多く、現時点では手作業で座標を確認し、必要に応じて座標を入力するのは非現実的です。したがって、INDEX には世界を征服するためのアシスタントとチームが必要です。
たとえば、名前、年齢、およびテーブルEntry Timeからのジョブ番号C23。
データ領域A17:E21の3行目に求人番号C23があり、名前、年齢、入社時期の列番号がそれぞれ2、3になります。左から右へ、4. COLUMN (B1) を使用して 2、3、4 を置き換えて、半自動エフェクトを実現できます。式は次のとおりです。
=INDEX($A17:$E21,3,COLUMN(B1))
次に、右に引いて入力します。
#取得されたエントリ時間は数値です。形式を短い日付に変更するだけです。
たとえば、以下では、式を使用します。 =INDEX(A $17:E$21, ROW(A3),2)
ドロップダウンに入力して 3 つの作品番号の名前を取得します。
たとえば、次の式を使用できます。 =INDEX($A $17:$E$21,ROW(A3),COLUMN(B1))
右にプルダウンして、職種番号 C23、C08、および C08 の名前、年齢、入社日を入力します。 C10.
COLUMN と ROW でグループを形成すると、半自動効果が得られます。値が連続的かつ規則的である限り、INDEX ROW COLUMN で実現できます。
たとえば、ジョブ番号 C15、C23、および C10 の名前と結合日を取得するには、交互の行と列の値を取得する必要があります。式は次のとおりです:
=INDEX($A$17:$E$21,ROW(A1)*2-1,COLUMN(A1)*2)
Then右に引き下げるだけでいっぱいになります。
半自動は、完全に手動で座標を確認して座標を入力するよりもはるかに簡単ですが、半自動と呼ばれる理由は、データの規則を見つけるために依然として手作業が必要であるためです。値のデータパターンが複雑または不規則な場合、半自動化することはできません。このとき、全自動で作業を行うには、大きなアシスタントであるMATCHとチームを組む必要があります。
データ検索ルールに従うのは面倒ですが、自分でルールを見つける必要はなく、すべてを MATCH に任せるだけです。
C28 に数式を入力します:
=INDEX($A$17:$E$21,MATCH($B28,$A$17: $A$21,0),MATCH(C$27,$A$16:$E$16,0))
次に、右にプルダウンして数式を入力します。
MATCH 関数を使用して条件に基づいて固定領域内の行と列の位置をクエリすると、座標やデータ パターンの手動検索が完全に置き換えられ、完全な自動化が実現します。
入力式:
=VLOOKUP($B28, $ A$17:$E$21,MATCH(C$27,$A$16:$E$16,0),0)
右に引いてドロップダウンして入力します。
数式の長さの点では、VLOOKUP MATCH は INDEX MATCH よりも単純です。では、なぜ依然として INDEX MATCH が必要なのでしょうか?その理由は、INDEX 関数は行と列の座標値を受け取ればデータを見つけることができ、順方向検索と逆方向検索の違いはまったくないからです。 VLOOKUP は機能しません。デフォルトでは、前方検索のみが可能です。つまり、検索領域内で左から右へのみ検索でき、右から左へは検索できません。 VLOOKUP が右から左への逆検索を実装する場合は、IF 関数または CHOOSE 関数を使用して新しい検索領域を構築する必要があります。
たとえば、次のように名前でジョブ番号を確認する必要があります:
INDEX MATCH の組み合わせを使用して式を直接記述します: =INDEX(A$17:B $21,MATCH(G17,B$17:B$21,0),1)
を入力し、
=VLOOKUP(G17,IF({ 1,0},B$17:B$21,A$17: A$21),2,0)
= INDEX (検索領域, SMALL(IF(),ROW()),MATCH())
##数式は非常に長いです:
=INDEX($A$2:$D$21,SMALL(IF($C$2:$C$21=$F$2,ROW($1: $20), 99),ROW(A1)),MATCH(F$3,$A$1:$D$1,0))エラー防止の IFERROR 関数を適用すると、次のようになります。さらに長い場合:
このような組み合わせのフォーミュラは、私たちはよくスネークオイルフォーミュラと呼んでいます。主に 1 対多の検索に使用されます。
OK、INDEX の実践的な使い方について紹介したのはここまでです。 INDEX関数は、座標を利用して正確な値を取得できる利点はありますが、条件に応じて自動的に座標を求める機能が欠けており、実戦ではアシスタントの助けを借りて座標を求める必要があります。それは機能的には精密誘導ミサイルであり、クリップです、強力なクリップです!
関連する学習の推奨事項:
Excel チュートリアル以上がExcel関数学習:検索関数INDEX()の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。