2016-12-15 2 views
0

ich zur Zeit einen Index/Match Formel in Excelin Excel Rückkehr ganze Spalte in der Mitte einer Formel

=index(P:P,Match(1,B:B="text")*(F:F="text2"),0)) 

Statt zu wissen im Voraus bin mit, dass die Daten in Spalte P:P kann diese eingerichtet werden also wird die Formel die richtige Spalte von ihrer Überschrift finden? Wenn Sie beispielsweise feststellen, dass die Spalte SAMPLES, die sich normalerweise in der Spalte P:P befindet, in die Spalte Q:Q verschoben wurde, würde die Formel stattdessen Q:Q verwenden?

EDIT: Ich habe einige Fortschritte gemacht, ich habe jetzt 1 Spalte flexibel mit

=index(A:Z,match(1,(B:B="text")*(F:F="text2"),0)match("samples",1:1,0)) 

Nun, wie würde ich die Spalten B machen: B und F: F flexible kennen die Spalte b wird immer geleitet "Farbe" und Spalte F nach "Typ"

+0

Durch ganze Spalten verweisen, wird diese Konstruktion gemacht unglaublich ressourcenlastig. Haben Sie wirklich Daten, die sich bis zur Zeile 1048576 erstrecken? –

+0

Nein, nur ungefähr 10k Zeilen. Aber es ist sehr variabel. –

+0

Aber sicher können Sie eine kleinere, aber ausreichende obere Grenze wählen? Diese Formel muss mehr als zwei Millionen Zellen verarbeiten, eine erstaunliche Menge für eine einzige Formel. –

Antwort

1

Ja - es ist die Index-Match-Match idiom.

=Index(LookupRange, Row, Column) 

, dass die vollständige Syntax von Index ist. Ihre Formel ist Index in Spalte P suchen, Match die Zeile ist die Wahl, und Sie wählen nicht eine Spalte, so dass Sie Spalte P.

=Index(P:P, Match("text2", F:F, 0)) 

Sie schon daran gedacht P ändern: P beziehen sich auf das ganze Blatt (oder Teile davon, die Daten haben), und fügen sie eine zweite Match die Spalte zu finden:

=Index(A:Z, Match("text2", F:F, 0), Match("SAMPLES", 1:1, 0)) 
     ^^^      ^^^^^^^^^^^^^^^^^^^^^^^^^^ 
+0

Ich müsste eigentlich für jede Spalte passen, in meinem Beispiel P: P, B: B und F: F, könnten Sie mir ein Beispiel dafür geben, wie die richtige Struktur dafür wäre. Vielen Dank –