0

Excelに2つのスプレッドシートがあります。

スプレッドシート 1 には、A1 から A200 までのセルにテキストがあります。スプレッドシート 2 には、A1 から A200 までのセルにテキストがあります。

スプレッドシート 1 列 A のすべてのセルをスプレッドシート 2 列 A のすべてのセルと比較したい。データ間に一致がある場合、セルに一致する行を出力するか、セルの範囲をコピーする必要があるスプレッドシート 2 の B2:F2 をスプレッドシート 1 に変換します。

match()、index() を含むいくつかの式に出くわしましたが、これを達成するための完全な方法を見つけることができないようです。

何か助けはありますか?

4

1 に答える 1

1

スプレッドシート 1 と同じインデックス値を持つ行からデータ値を取得する場合は、VLOOKUP 関数を使用して実行できます。

VLOOKUP(A1,'C:\PathToWorkBook\[Workbookname.xlsx]SheetName!$A$1:$F$200,2,FALSE)

これにより、Workbookname.xlsx の SheetName の列 B の値が返されます。そのシートの列 A の値は、現在のワークシートのセル A1 と同じ値になります。Workbookname.xlsx に対応する値が見つからない場合、この関数は「#N/A」を返します。また、列 A のキー値が一意でない場合、この関数は最初の一致の結果のみを返し、複数の検索キーが存在することを通知しないことにも注意してください。

3 番目のパラメーターを変更することで、ターゲット スプレッドシートのどの列 (B から F) から値を読み取るかを変更できます。

必要に応じて、VBA コードで VLOOKUP を使用することもできます。

WorksheetFunction.VLookup

同じ機能を実行します。次に、ルックアップの結果をセル値に直接書き込むことができます。

于 2012-09-21T02:47:31.810 に答える