1

データの場合は複数の列があり、LOC1 と LOC2 ごとに一意の行を作成する必要があります: モックアップの画像:

LOC 1 LOC 2 FC      AMT Type
CUN   ABQ   LLA0PNR 10  AN1
CUN   AUS   BLA0PNR 15  NR2
CUN   GSP   QLA0PNR 16  AN1
CUN   DAL   HLA0PNR 14  NR2
CUN   HOU   WLA0PNR 13  AN1
CUN   ELP   RLA0PNR 12  AN3
CUN   MDW   OLA0PNR 11  NR4

作成:

CUN ABQ LLA0PNR 10  AN1
CUN ABQ BLA0PNR 15  NR2
CUN ABQ QLA0PNR 16  AN1
CUN ABQ HLA0PNR 14  NR2
CUN ABQ WLA0PNR 13  AN1
CUN ABQ RLA0PNR 12  AN3
CUN ABQ OLA0PNR 11  NR4
CUN     AUS     ......  ..      ...
CUN     AUS     ......  ..      ...

FC、AMT、Type のすべての値が定数である LOC1 および LOC2 ごとに行が作成されます。

4

2 に答える 2

0

これら 2 つのテーブルの「デカルト積」が必要なようです。

エクセルオプション

これが私のサンプルデータです(私はデータ入力が面倒なので省略しています:-)

開始データ

  1. 行ごとに 1 ずつ増加する「カウンター」列を作成します。

  2. Excel の数式を使用して、table1 と table2 から使用する行を決定します。

  3. Excel 関数 'INDEX' を使用して、(2) で見つかった行番号に基づいて、各テーブルからコンテンツを取得します。

ここに画像の説明を入力

より手の込んだものにしたい場合は、数式を変更して、 のように 21 (21=7*3) のエントリをすべてクリアすることができます=IF(Counter>(B14*C14),"",--do stuff--)

これはExcel ブックの例で、すべてがどのように組み合わされるかを示しています。

SQL オプション

これがエクセルの質問であることはわかっていますが、仕事に適したツールについて警告しなかったとしたら、気が進まないでしょう。これらのテーブルで SQL を実行できる場合は、次を使用します。

SELECT t1.*, t2.* FROM table1 t1, table2 t2;

SQL のデフォルトの結合はデカルト積であるため、すべてうまくいきます。これは、Excel にそれを実行させるよりもエレガントです。

于 2013-01-23T18:58:20.570 に答える