Excel - 列ごとにシートをグループ化

Excel - 列ごとにシートをグループ化

同じ構造の .csv ファイルがたくさんありますが、行の順序が同じであるとは限りません。すべてを 1 つのスプレッドシートにグループ化したいと思います。次の図に問題を示します。

ここに画像の説明を入力してください

Ps: この例では、説明のためだけに同じスプレッドシートに 2 つのテーブルが表示されています。

私はOffice 2016エディションのExcelを使用しています。

前もって感謝します

答え1

VLookup は単一の列を検索するのには最適ですが、複数の列を検索するのは面倒です。

INDEX / MATCH は、複数の列を処理するのに適しています。これは、VLOOKUP の機能を 2 つのステップに分割します。これにより、ワークブックの実行速度が速くなり、数式の記述が容易になります。

Excel インデックス マッチの例

この例では、左側にソース シートが青と緑で表示され、右側に結果が灰色で表示されています。最初のデータ行の数式は結果テーブルの上にあります。

まず、=MATCH を使用して、ソース シート内の参照データの行番号を検索します。この例では、J3 で、MATCH は配列「A:A」内の値「a」を検索し、行 3 でそれを見つけます。同様に、K3 は「E:E」内の「a」を検索し、行 5 でそれを見つけます。

行がわかったので、列内の特定の値を簡単に検索できます。例では、L3 は配列「B:B」で行 3 (J3 から) を検索し、M3 は配列「F:F」で行 5 (K3 から) を検索します。必要なすべての列でこれを繰り返し、行全体を下にドラッグしてシートに入力します。

ご覧のとおり、Index/Match は Vlookup よりも少し複雑です。ただし、低速の Match と高速の Index を分離することで、シートのパフォーマンスが向上し、INDEX 呼び出しの記述が簡単になります。

答え2

Power Query を使用して結果を取得できます。

  1. 2つのテーブルをPower Queryエディターにインポートし、範囲を選択してデータ- 選択するテーブル/範囲から- 近いパワークエリエディター選択して保つ- 別の範囲を選択し、エディターにインポートする手順を繰り返します。

ここに画像の説明を入力してください

  1. 選択する表3- そして-組み合わせる- 選択するマージクエリ- 一致する列を選択し、閉じて読み込む...: ここに画像の説明を入力してください

関連情報