2017-03-23 16 views
1

私はカラムUとカラムLを持っています。
私は列Uで21を検索したいが、私は最後から最初の値を見つける必要がある:U.Excelインデックス一致式最後の変更

欄に例えば
Column L   Column U 
     516    11 
     123    11 
     74    5 
     46    11 
     748    21 
     156    11 
     189    21 
     187    21 

を検索するときに私が取得する必要がどのような
は、列Lの値であります
(数字は列内で同じままです)。
は、だから私は値が21に所属したい場合、私は、私は(スコットCranerのおかげで)でそれを試してみました189

取得する必要があります:
=INDEX($L:$L,AGGREGATE(14,6,ROW($U$10:$U$500)/($U$10:$U$500=D2),1))
しかし、これは答えように187私の最後の21値を取得します。

これを解決する方法は誰か分かりますか?

+0

私は正しく理解していないようですあなたの例では、 '21'の最初の値が '748'であるという式で達成したいのですか? –

+1

明確にするために、 'Column U'の**最初の**インスタンスに対応する' Column L 'の番号を探したいですか( '21'を検索するには、これは' 748'です)、等しい値のリストがある場合は、**最後の値セットの**一番上の値を探したい(例えば、下に2つの '21 'が並んでいる場合は、このリストの '189')? – SteveES

+0

別の列に日付やその他の情報があり、グループ化の仕方がわかりますか? –

答えて

2

すぐその上の行が同じ値ではないD2の値とカラムUの最後の行を見つける必要があります。今

=INDEX(L:L, AGGREGATE(14,6,ROW(U$10:U$500)/((U$10:U$500=D2)*(U$9:U$499<>D2)),1)) 

enter image description here

別の21の結果となり、列LとUの値の動的な数について

enter image description here

(行10で始まる)とU15を変更します、使用、

=INDEX(L:L, AGGREGATE(14,6,ROW(U$10:INDEX(U:U, MATCH(1E+99, U:U)))/((U$10:INDEX(U:U, MATCH(1E+99, U:U))=D2)*(U$9:INDEX(U:U, MATCH(1E+99, U:U)-1)<>D2)),1)) 
+0

これは私がやろうとしていたもののはるかに良いバージョンです。 –

+1

ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ、 – Jeeped

2

私が正しくあなたを理解していれば、私はこれは、タスクを完了する信じる:

=INDEX($L:$L,MATCH(INDEX($L:$L,AGGREGATE(14,6,ROW($U$9:INDIRECT("$U$"&MATCH(INDEX($L:$L,AGGREGATE(14,6,ROW($U$10:$U$500)/($U$10:$U$500=D2),1)),$L:$L,0)))/($U$9:INDIRECT("$U$"&MATCH(INDEX($L:$L,AGGREGATE(14,6,ROW($U$10:$U$500)/($U$10:$U$500=D2),1)),$L:$L,0))<>D2),1)),$L:$L,0)+1) 

それはスコットのコンセプトの上に構築、および187を見つけ、それは187を検索し、見つかった行に検索配列を制限あなたが探している番号を持たない最後の行(21)。その後、最後の列の最初の一致となる最初の行を索引付けします。

enter image description here

関連する問題