0

WorkBook1 の Text"A" が WorkBook2 の ColB にある場合、Text"A" が見つかった WorkBook2の ROWから列の範囲を検索して、Text"B" を見つけます。

基本的に、共通の識別子 (仕事を完了した人) でリンクされた 2 つのスプレッドシートがあります。WorkBook2 では、無数のさまざまなタスクについて認定を受けることができ、その認定コードは列 AN:HP に格納されます。WorkBook1 には、完了したジョブ、誰がジョブを完了したか、およびジョブの種類が含まれています。WorkBook2 を検索して、ジョブを完了した人がそのタイプのジョブの認定を受けているかどうかを確認したいと考えています。難点は、各個人が最大 20 の異なる認証コードを保持できることです。

現在、WorkBook1 の列 H から人 (Text"A") がリストされている WorkBook2 の行を見つけることができます。=MATCH(H2,'[WorkBook2]Sheet1'!$B:$B,0)次に、その行番号を配列として使用して、WorkBook2 で見つかった認証タイプ (Text"B") を検索する必要があります。 [WorkBook1]Sheet1'!T2

4

1 に答える 1

0

あなたはMATCH()、人がリストされている行を返すためにを使用することである最初の部分を正しくすることに成功しました。このOFFSET()関数を使用して、その行番号に基づいてダイナミックレンジを作成できます。

OFFSET()範囲を取得し、それを行または列の数だけオフセットします。

OFFSET(reference, rows, cols, [height], [width])

したがって、必要な行への参照を作成できます

OFFSET([Workbook2]Sheet1!$AN$1:$HP$1,MATCH(H2,'[WorkBook2]Sheet1'!$B:$B,0)-1,0)

これは、開始範囲をAN1:HP1として設定し、MATCH 小さい方の1から返された行番号だけシフトダウンすることで機能します。1を減算しないと、1行オーバーシュートします。

次に、一致を使用して認定を見つけることができます。

=MATCH(T2,OFFSET([Workbook2]Sheet1!$AN$1:$HP$1,MATCH(H2,'[WorkBook2]Sheet1'!$B:$B,0)-1,0),0)

于 2013-01-09T01:41:05.280 に答える