2017-01-09 17 views
-2

私は以下のようなテーブルを持っています。コンマで区切られた検索式の値 - Excel

Name Emp ID task   
A  12  x  
b  21  y  
A  12  z 

と私は以下のように出力を受信する必要があります。

Query: Give me tasks of A, 12. 
Output: X,Z 

すべてのヘルプ/思考? TIA。あなたは(数式バーに + 入力Ctrlキー + シフト)この配列数式を使用して、それが別々のセルの両方の基準に一致する各結果を置くダウンこの数式をコピーする場合

+0

私は思います(?)あなたはVlookupテーブルを使用しようとしています...しかし、これまでに何を試しましたか?何が/働いていないのですか? – BruceWayne

+0

@ BruceWayne、私はIndex&Matchの数式の組み合わせを使用しようとしましたが、一度に1つの値しか返しません。 = INDEX(MATCH( "A"& "12"、B:B&C:C、0)、0,0)のようなものです。私はすべての一致インデックスを返す方法を得る必要があります。 –

+0

名前AがタスクXと同じ行にあり、ZとEmp 12がXとZと同じ行にある場合、出力XとYはなぜですか?ルックアップ式は最初の一致のみを返します。複数の結果を得るには、フィルタまたは配列式が必要です。 – teylyn

答えて

0

は、あなたがして自由ですあなたが望むなら、それらから文字列を構築するために連結を使用する。他の解決策はVBAだけです。

=IFERROR(INDEX($B$1:$D$5,SMALL(IF($B$1:$B$5=$F$2,IF($C$1:$C$5=$G$2,ROW($B$1:$B$5)-ROW(INDEX($B$1:$B$5,1,1))+1)),ROW(1:1)),3),"")

私は唯一の小さな範囲(B1:D5)に基づいて、これを構築し、検索基準がF2G2になっていることを想定していることに注意してください。

IFステートメントでsmallを使用すると、範囲として配列にアクセスできます。両方の条件が一致する場合、if文は、SMALLが検索する行番号を増やすために式をコピーすると、行(1:1)が自動的に更新されるため、SMALLが最小値から最大値を取り出す行の配列を生成します。

(私は私の説明が悪いことを知っているので、これはラッシュジョブのビットだった、編集したり、詳細をプローブと私はより良い説明と、後でそれを更新することができます気軽に)

+0

@avdheshmauryaこれはあなたのために機能しましたか? –

+0

おかげでGlitch_Doctorそれは完全には機能しませんでしたが、私の問題を見るために私に新しい視点を与えました。ここに投稿するには、新しい手段と長い時間をかけてカスタマイズする必要がありました。しかし、あなたの反応に感謝します。 –

関連する問題