2016-11-10 11 views
0

をやって、私はこのようなデータのリストを持っている:は、配列数式検索

Name | Number 
Bob | 300 
Joe | 200 
Jane | 400 
Sisqo | 450 
Jill | 500 

このの約62行、異なることができ、すべての数字、一部は繰り返しがあります。私の目標は、基本的に400以上の人のリストをすべて含む列を追加することです。それは次のようになります。 は、1)小さな関数は、範囲B2で募集しています:

{=iferror(INDEX($A$2:$B$6, SMALL(IF($B$2:$B$6 >= 400, $B$2:$B$6,), ROW(1:1)), 1), "")} 

私はこれをやっていると想像:

Name 
Jane 
Sisqo 
Jill 

私は何を持っていることであるB6を、そしてこのため、配列の式で、B2:B6の各セルを調べ、400以上であるかどうかを確認します。 2)正確にはわかりませんが、行関数がb2:b6の配列検討中のセルの値が400以上であれば、何も見つからない場合は何も起こりません。 3)次に、その範囲内の最小値の比較小(b2:b6、1)を実行します。その後、私は行()関数を使用しているため、コピーされたときに小さくなります(b2:b6,2)、小さい(b2:b6,3)などとなります。

この時点で、400またはそれ以下の最低番号の行が見つかります。

それでは、インデックス機能は、私が唯一

だからここでエラーです

名前
ボブ ボブ

を取得しています最初のone.Exceptため

index(a2:b6, 3, 1) 

を読むべき?

+0

名前は一意ですか? –

+0

名前はユニークです。 – bdpolinsky

答えて

2

私がアレイ状にMATCHを使用することを好む:

=IFERROR(INDEX($A$2:$A$6,MATCH(1,(COUNTIFS($E$1:E1,$A$2:$A$6)=0)*($B$2:$B$6>=400),0)),"") 

は、配列数式なので、それは、編集モードを終了するときはCtrl-シフト入力の代わりに入力して確認する必要があります。正しく実行された場合、Excelは{}を数式の周りに置きます。

enter image description here

+0

これはかなりクールな答えです。どのように/なぜそれが動作するかについてもう少し説明できますか? – zgirod

+0

特に、配列式と標準式で行うと、COUNTIFS($ E $ 1:E3、$ A $ 2:$ A $ 6)が異なるのはなぜですか? – zgirod

+0

こんにちはスコット、ここで何が起こっているのか説明できますか? COUNTIFS($ E $ 1:$、$ A $ 2:$ A $ 6)= 0 なぜ$ E $ 1:E1の範囲ですか?なぜ= 0? – bdpolinsky