0

私は次のことをしようとしてきました:

  • Sheet1A3、ルックアップ値Data
  • Data、見つかった値に1in列があるかどうかを確認しますM
    • はい:列の値を列にK貼りData付けB3ますSheet1
    • いいえ:シートを検索し続け、0何も見つからない場合は表示します

これは私がこれまでに持っているものであり、正しいK値を見つけますが、値を取得するにはshift + ctrl+enterと入力する必要があります...

=INDEX('TLN Data'!$B$1:$Z$15000; MATCH(1;(A3='TLN Data'!$B$1:$B$15000)*(1='TLN Data'!$M$1:$M$15000);0); 10)

すべての助けは大歓迎です!

-

Sheet1

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

TLNデータ

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

4

2 に答える 2

1

使用してみてくださいSUMPRODUCT(配列として入力する必要はありません):

=SUMPRODUCT(
    --('TLN Data'!$B$1:$B$15000=A3), 
    --('TLN Data'!$M$1:$M$15000=1),
    'TLN Data'!$K1:$K$15000)

MATCHこれは、上記の式と同様のロジックを使用します。

  1. 1'sと0'sの配列を返し1ます。ここで、は列の値がB等しい行を示しますA3(は、配列を'sと's--に変換します-それ以外の場合は/を含みます)10TRUEFALSE
  2. 1その配列に「s」と「s」の別の配列を掛け0ます。今回は、1Mに数値が含まれている行を示します。1
  3. 最後に、その配列にすべての列を掛けますK。これにより、一連の'の配列が生成され、条件が満たさ0れた列の値を表す1つ(または設定によっては1つ以上)の値が生成されます。K

編集:これはテキストを扱っているので、INDEX@ barryhoudiniによって提供される式(元の式とは少し異なります)でうまくいきます。

于 2012-10-22T13:59:38.273 に答える
1

INDEX関数を追加して、CSEを必要としないバージョンを取得できます。

=INDEX('TLN Data'!$B$1:$Z$15000; MATCH(1;INDEX((A3='TLN Data'!$B$1:$B$15000)*(1='TLN Data'!$M$1:$M$15000);0);0);10)

これは、戻り値がテキストである場合や、複数の一致があり、最初の一致のみが必要な場合など、SUMPRODUCTよりも望ましい場合があります。

次のようにLOOKUPを使用することもできます。

=LOOKUP(2;1/(A3='TLN Data'!$B$1:$B$15000)/(1='TLN Data'!$M$1:$M$15000);'TLN Data'!$K$1:$K$15000)

そのバージョンでは、最後を返す一致が複数ある場合

于 2012-10-22T14:25:08.797 に答える