2016-04-09 23 views
0

値がB である一致した値を得るのに有効な式がありますので、その値 'Lista!A4:A182'を選択します。一致するレコードを見つけて複製しない

=IFERROR(INDEX(Lista!A4:A182;MATCH("B";Lista!D4:D182;0));"") 

しかしマッチ値をn行目に配置されている場合、それは重複をもたらす問題ので、すべての先行行がその一致行まで複製なります。

oBS:重複する行がありません。

exempel:

Name  class 
aaaa  B 
DDDD  B 
vvvvv  A 
wwwww  A 
xxxxx  B 

それは次のように来る結果:

Name   
aaaaa 
DDDD 
xxxx 
xxxx 
xxxx 

しかし、私はそれはPLSの任意の助け

Name   
    aaaaa 
    DDDD 
    xxxx 

になりたいですか?

答えて

3

単にExcelのフィルタ手法を使用していないのはなぜですか? https://support.office.com/en-us/article/Quick-start-Filter-data-by-using-an-AutoFilter-08647e19-11d1-42f6-b376-27b932e186e0?ui=en-US&rs=en-US&ad=US場合によっては、オートフィルタをシートListaに設定し、列Dclass = "B"にフィルタを設定するだけです。式

これは、配列数式を使用してのみ可能である:

{=IFERROR(INDEX(Lista!$A$4:$A$1000,SMALL(IF(Lista!$D$4:$D$1000="B",ROW(Lista!$D$4:$D$1000)-ROW(Lista!$D$3)),ROW(1:1))),"")} 

これは、配列数式です。中かっこなしでセルに入力し、[Ctrl] + [Shift] + [Enter]を押して確定します。中かっこが自動的に表示されます。

しかし、配列の式はパフォーマンスが悪いです。したがって、フィルタのアプローチはExcelの方が優れています。

+0

正確には、完璧に感謝してくれました。 –

関連する問題