2017-04-22 2 views
1

Diese Array Formel ermöglicht es mir, D4 zu füllen, indem für den ersten nicht leeren Wert in Spalte A der Suche (siehe Link - https://exceljet.net/formula/get-first-non-blank-value-in-a-list)erhält den ersten nicht leeren Wert aus einer bestimmten Spalte, angegeben durch einen Index. Excel

=INDEX(A2:A1000,MATCH(FALSE,ISBLANK(A2:A1000),0))

aber ich mag es verfeinern, so dass die Säule Die Suche wird abhängig von dem in C4 eingegebenen Wert geändert.

Zum Beispiel, wenn der Wert in C4 1 wäre, würde ich den Wert 13,86 bekommen. Wenn der Wert in C4 2 wäre, würde ich den Wert 10 erhalten. Siehe hier - click for link to example data

Ich habe versucht, die obige Array-Formel mit einer IF-Funktion, aber keinen Erfolg. Ich bin ein totaler Anfänger so

=IF(C4=1,(INDEX(A2:A1000,MATCH(FALSE,ISBLANK(A2:A1000)))),IF(C4=1,(INDEX(B2:B1000,MATCH(FALSE,ISBLANK(B2:B1000)))),0))

Antwort

1

In D5 als Matrixformel Art :) (mit CSE),

=INDEX(A2:B1000, MATCH(FALSE, ISBLANK(INDEX(A2:B1000, 0, C4)),0), C4) 

enter image description here

+0

Das ist großartig !!! Kann es so angepasst werden, dass es 5 verschiedene Potenzialwerte bewältigen kann? –

+0

Haben Sie zumindest versucht, die Spalten zu erweitern (in dem Bewusstsein, dass die Formulka verschoben werden muss, um eine Referenz zu vermeiden)? Verstehst du, wie C4 funktioniert? Haben Sie die INDEX-Funktionsdokumentation auf support.office.com gelesen? – Jeeped

+0

Ich habe die Spalten erweitert und die Formel ja verschoben, aber ich versuche, den Rest der Formel basierend darauf anzupassen, was ich über Index lernen kann. Ich habe noch nie Excel verwendet, also ist es ein wenig langsam! –

0

Okay. Es ist gonna erschreckend aussehen, aber glauben Sie mir, wenn Sie genau hinsehen, es ist wirklich ein sehr einfach mit wenigen anderen Formeln kombiniert ist

Geben Sie die nachstehende Formel in D4 oder gewünschte Zelle und drücken Ctrl + Umschalttaste + Geben Sie

=INDEX(INDIRECT(SUBSTITUTE(ADDRESS(1,K4,4),"1","")&1&":"&SUBSTITUTE(ADDRESS(1,K4,4),"1","")&100),MATCH(FALSE,ISBLANK(INDIRECT(SUBSTITUTE(ADDRESS(1,K4,4),"1","")&1&":"&SUBSTITUTE(ADDRESS(1,K4,4),"1","")&100)),0)) 

Hier K4 ist meine Eingangszelle (die C4 für Ihren Fall ist), und ich habe eine Reihe von 1:100 im Gegensatz zu Ihnen von 1:1000 betrachtet. Also ändere es entsprechend.

ERKLÄRUNG

  1. ADDRESS Funktion gibt einen Text von Adresse basierend auf einer Eingabe Sie geben. Für 8-Eingang wird es H1

=INDEX(INDIRECT(SUBSTITUTE("H1","1","")&1&":"&SUBSTITUTE("H1","1","")&100),MATCH(FALSE,ISBLANK(INDIRECT(SUBSTITUTE("H1","1","")&1&":"&SUBSTITUTE("H1","1","")&100)),0))

geben
  1. SUBSTITUTE Funktion Streifen nach unten dann die 1 und gibt nur ausgegeben H, die dann mit INDIRECT Funktion verwendet wird, zu erhalten die Reichweite.

=INDEX(INDIRECT("H"&1&":"&"H"&100),MATCH(FALSE,ISBLANK(INDIRECT("H"&1&":"&"H"&100)),0))

=INDEX(INDIRECT("H1:H100"),MATCH(FALSE,ISBLANK(INDIRECT("H1:H100")),0))

Der Rest ist genau Ihre Formel.

Verwandte Themen