2016-12-07 8 views
-2

インデックスと一致しない複数の値を返すと、関数かVBAかどうかを判断する必要があります。Excelのインデックス複数の条件に一致する複数の値を返します

私は基本的に2つの変数を見て、別のシートから一致する会社を返す索引と一致機能を持っています。

ドロップダウンから「オーストラリア」を選択し、別のドロップダウンから「ゴールド」を選択すると、インデックスとマッチは、オーストラリアと鉱山で運営されている別のシートから企業を引き出します。 これまでのところ関数は機能しますが、最初の結果しか返さず、複数の会社が存在する可能性があり、複数の結果を返す方法を理解していません。

コードは、これまでのところ、以下の通りである:私はまた、これを試みた

=INDEX(Datapage!B$2:B$280,MATCH(1,(A$8=Datapage!$C$2:$C$280) * (B$8=Sheet11!$D$2:$D$280),0)) 

= IFERROR(INDEX(表26 [ロケーション]:[商品]、SMALL(IFを(データシートにはB2〜D280の値があります。

(表26 [ロケーション] = $ B8、ROW(テーブル26 [商品]) - ROW($ D $ 2)+1)、COLUMNS($ B14:B14)))、 "")

しかし、何も起こりませんし、この必要性に役に立たない1つの変数だけを検索します。

Bという会社名

Cという場所

Dという商品

私は、これはシートが

Data page containing the names of companiesのように見えるものです解明

のためのいくつかの写真を添付し​​ました

Search page

ご協力いただければ幸いです! ありがとう

+0

ようこそ!あなたの質問はむしろ不明です。あなたの投稿を[ask]、[mcve]と読んで[編集]して、TeamViewerセッションを開始せずに答えることができる質問をしてください。乾杯! –

+0

私はできる限り最善の方法で説明しようとしましたが、他に何か迷っていますか? – VOSS

+0

私はこの質問を理解していますが、私はまだあなたがやろうとしていることを理解していません。セルは1つの値しか持てません。式は "複数の値を返す" ? –

答えて

1

私はVBAを必要としない関数を理解しました。

=IFERROR(INDEX(Data!$B$2:$B$280, SMALL(IF($A$8&" "&$B$8=Data!$A$2:$A$280, ROW(Data!$B$2:$B$280)-1,""), ROW()-14)),"") 

B列の最初のデータは、一致するものが見つかった場合に返すデータです。

「小さい(IF(A ...)」関数は、一致するものを探したい、つまりA =オーストラリア& B = GOLDなどの変数を結合しています。 "ROW(Data!$ B $ 2:$ B $ 280) - "セル "A8"と "B8"の値を範囲内の各値と比較します。 1 "は対応する行の番号を返します(-1はヘッダー行を差し引くために使用されます)。比較された値が一致しない場合、IF関数は空の文字列を返します。0126 、 ""関数はインクリメンタルカウンタとして機能します。数式はセルA15にコピーされるので、-1を返す関数に-14を追加しますセルA15(行15 - 14)、セルA16(行16 - 15)など15

関連する問題