2016-09-07 3 views
0

私が持っているデータの回避:のような行で第3位INDIRECT()

enter image description here

と私は言葉の最初の二つの出現を見つけたいです。

最初のオカレンスは簡単です。

=MATCH("Pass",3:3,0) 

をし、それが正しく3 (コラムCが得られます。C6に私が入ります。 2番目のオカレンスの位置を取得するには、D3:IV3の最初のオカレンスの右側にある1つの列を開始してMATCH()を使用したいが、既に持っている結果に基づいている。C6 だから、

=SUBSTITUTE((LEFT(ADDRESS(1,C6+1),3)),"$","") 

私が使用しています:私はDを得ることができます

=MATCH("Pass",INDIRECT(SUBSTITUTE((LEFT(ADDRESS(1,C6+1),3)),"$","") & "3:IV3"),0)+C6 

これは動作します:

enter image description here

しかし、私はこの非常に醜い公式が2番目のオカレンスを見つける最良の方法だとは信じられません。助言がありますか ?? SMALLとして

+1

を参照してください[方法行から2番目の非空白セルを返す](http://stackoverflow.com/questions/39374379/how-to-return-the-second-non-blank-cell-from-row-excel-for-mac/ 39374473 #39374473)から今日まで。 – Jeeped

答えて

4

使用AGGREGATEは(IF())Passと第二のカラムを取得する:

2
=AGGREGATE(15,6,COLUMN(A:Z)/(A3:Z3="Pass"),2) 

が発生です。

enter image description here


私はあなたが既に知っているので、まずあなたがこの式と第二を見つけることができるので、あなたは配列数式を嫌いどれだけ知っている:

=MATCH("Pass",INDEX(3:3,D5+1):INDEX(3:3,15000),0)+D5 

![enter image description here

+0

...................パーフェクト! –

+1

@ Gary'sStudent私はヘルパーセルを最初のインスタンスで使用するように投稿を編集しました。 –

+0

...................さらに完璧! –

関連する問題