Wie wird die erste nicht leere Zelle zurückgegeben und wenn bereits ein Wert davor vorhanden ist, wird die dritte nicht leere Zelle zurückgegeben und so weiter?

4059
Tusk

So erstellen Sie eine Funktion, die den ersten nicht leeren Zellenwert zurückgibt. Wenn sie jedoch in den linken Zellen daneben definiert ist, werden 2 Zellen gesprungen und der nächste Wert gesucht.

Table:  1 | 2 | 3 | 4 | 5 | 6 | 7 || 29 | 30 | 31 | 32... a | b | | | c | d | || a | c | | | | | a | b | | || a | | | a | b | c | d | e | f | g || a | c | e | g 

von DL3: EW4873 sind die Werte immer paarweise, aber ich brauche nur das erste Wertstück und nur wenn es nicht schon ein Wert im Bereich EX bis EK ist.

Auch die EX: FK-Zellen sind der Ort, an den Formeln gehen.

2
Möchten Sie das für jede Zeile tun? Sie finden den ersten Textwert in Zeile 3 mit dieser Formel `= INDEX (AO3: EU3, MATCH (" * ", AO3: EU3,0))`, aber der zweite Teil wird nicht behandelt Finden Sie den ersten Wert, der nicht in EK3: EX3 angezeigt wird? barry houdini vor 12 Jahren 1
Ja für jede Zeile und das erscheint nicht in EK3: EX3. Tusk vor 12 Jahren 0

1 Antwort auf die Frage

5
barry houdini

OK, überschneiden sich diese Bereiche nicht? Versuchen Sie auf jeden Fall diese Version, und passen Sie die Bereiche nach Bedarf an

=INDEX(AO3:EU3,MATCH(1,INDEX(ISNA(MATCH(AO3:EU3,EK3:EX3,0))*(MOD(COLUMN(AO3:EU3)-COLUMN(D3),2)=0)*(AO3:EU3<>""),0),0))

Dies sucht nach dem ersten nicht leeren Wert in alternativen Zellen, AO3, AQ3, AS3 usw., der mit keinem in EK3: EX3 gefundenen Wert übereinstimmt

Überarbeiteter Vorschlag:

OK, basierend auf Ihren Kommentaren, ich gehe davon aus, dass Sie immer noch nicht leere Daten aus alternativen Zellen wünschen. Wenn Sie also Daten in AO3: EI3 und EJ3 verwenden, probieren Sie diese Formel in EK3 aus, um den nächsten anderen Wert zu erhalten

=IFERROR(INDEX($AO3:$EH3,MATCH(1,INDEX((COUNTIF($EJ3:EJ3,$AO3:$EH3)=0)*(MOD(COLUMN($AO3:$EH3)-COLUMN($AO3),2)=0)*($AO3:$EH3<>""),0),0)),"")

Wenn die Werte ausgehen, erhalten Sie Leerzeichen .....

Überarbeiteter Vorschlag 2:

Versuchen Sie diese Formel nur in EX3

=IFERROR(INDEX($DL3:$EW3,MATCH(1,INDEX((MOD(COLUMN($DL3:$EW3)-COLUMN($DL3),2)=0)*($DL3:$EW3<>""),0),0)),"")

und dann diese in EY3 kopiert

=IFERROR(INDEX($DL3:$EW3,MATCH(1,INDEX((COUNTIF($EX3:EX3,$DL3:$EW3)=0)*(MOD(COLUMN($DL3:$EW3)-COLUMN($DL3),2)=0)*($DL3:$EW3<>""),0),0)),"")

Überarbeitete Version für "zweites Paar" - dies sollte nur die zugehörigen Werte aus der ersten Formel entnehmen

=IFERROR(INDEX($DL3:$EW3,MATCH(1,INDEX((MOD(COLUMN($DL3:$EW3)-COLUMN($DL3),2)=0)*($DL3:$EW3<>""),0),0)+1)&"","")

und dieses hier in EY3 kopiert

=IFERROR(INDEX($DL3:$EW3,MATCH(1,INDEX((COUNTIF($EX3:EX3,$DL3:$EW3)=0)*(MOD(COLUMN($DL3:$EW3)-COLUMN($DL3),2)=0)*($DL3:$EW3<>""),0),0)+1)&"","")

Ändern Sie den $EX3:EX3Teil abhängig von der Position der Formeln .....

es gibt 0 in jeder Zelle aus dem EK3: EX3-Bereich zurück. Zeigt auch eine Fehlermeldung an, die es nicht berechnen kann: "Excel kann keine Formel berechnen" Tusk vor 12 Jahren 0
OK, ich muss etwas vermissen, wo setzt du die Formel ein? Ich nahm an, dass es nur einmal in jeder Zeile gehen würde, und nicht in Zellen, auf die die Formel verweist barry houdini vor 12 Jahren 1
Es würde in jeder Zelle / Zeile von EK3 bis EX3 gehen, also erste, zweite, dritte Zellwerte erhalten, aber niemals die Werte wiederholen, die zuvor von EK3 bis EX3 ermittelt wurden. Tusk vor 12 Jahren 0
@Tusk OK, ich verstehe, ich habe oben eine überarbeitete Formel hinzugefügt barry houdini vor 12 Jahren 1
Es ist nahe, musste die Tabellen neu anordnen (verborgene Felder und es machte der Formel zu viel Mühe.) Jetzt ist es jetzt ein sauberer Tisch. = IFERROR (INDEX ($ DL3: $ EW3, MATCH (1, INDEX ((COUNTIF ($ EX3: EX3, $ DL3: $ EW3) = 0) * (MOD (SPALTE ($ DL3: $ EW3) - COLUMN ($ DL3), 2) = 0) * ($ DL3: $ EW3 <> ""), 0), 0)), "") Aber dies führt zu kreisförmigen Referenzfehlern. Obwohl es vor dem Umordnen gezählt wurde, wurde es wiederholt Den ersten Wert hat er alle 14 Mal gefunden :( Für neuen Pfad überprüfen Sie die Revision. Tusk vor 12 Jahren 0
OK, ich hatte gehofft, Sie hätten eine leere Zelle zwischen dem Datenbereich und Ihren Formeln. Wenn nicht, denke ich, benötigen Sie eine etwas andere Formel für die erste Zelle, siehe Überarbeiteter Vorschlag 2 oben barry houdini vor 12 Jahren 1
Es funktioniert wie ein Zauber. Du bist ein Genie, mit Flügeln und einem Heiligenschein :) Tusk vor 12 Jahren 0
Ich dachte, es wäre einfach, aber ich finde nicht den Weg, wie man das zweite Wertepaar auswählen kann, genauso wie hier. Also dachte ich, wenn ich irgendwo +1 würde, würde es funktionieren, aber es ist kein einfacher Weg ? Es kann auch überall ein wiederholbarer Wert sein Tusk vor 12 Jahren 0
Ändern Sie einfach den Bereich so, dass er mit dem zweiten Paar beginnt, dh Instanzen von "$ DL3: $ EW3" in "$ DM3: $ EW3" ändern .... und wo es "$ DL3" selbst gibt, sollte das werden `$ DM3` ..... barry houdini vor 12 Jahren 1
Das funktioniert gut für den "ex3" -Teil, aber der "ey3" filtert sich wiederholende Werte heraus. Wenn Sie "ex3" in alle Zellen kopieren, wird der erste Wert jedes Mal wiederholt. Tusk vor 12 Jahren 0
Funktioniert OK für mich:) ..... Ich merke, dass Sie nicht beide Formeln in den gleichen Zellen haben können, vorausgesetzt, Sie möchten die "zweite Paar" -Version in EX3 quer durchsehen, siehe oben die überarbeitete Antwort ....... barry houdini vor 12 Jahren 1
Die Revision für den "zweiten Teil" hat immer noch keinen wiederholbaren Wert. :( Tusk vor 12 Jahren 0
Verwenden Sie genau die von mir vorgeschlagene Formel? Wo setzen Sie es ab und wie haben Sie es geändert (wenn überhaupt)? Erwarten Sie, dass Sie keine Werte aus dem "ersten Paar" wiederholen? So ist es momentan noch nicht eingerichtet (obwohl es sein könnte), die beiden sind separat (keine Wiederholungen innerhalb eines Satzes) barry houdini vor 12 Jahren 1
Ich setze diese an die Stelle der vorherigen, also EX3 bis FK3. Verwenden Sie genau Ihre Formel und greifen Sie den linken unteren Punkt an, um die Formel bis FK3 zu kopieren, und greifen Sie sie dann nach unten. Das erste Paar sollte sich nicht wiederholen, das ist richtig, aber das zweite Paar hat drei Zustände, und jeder Zustand kann für jeden ersten Wert gleich sein. Das zweite kann und sollte sich wiederholen können, aber es ist leer, wenn es bereits leer ist. Ich hoffe es ist jetzt verständlich :) Tusk vor 12 Jahren 0
OK, ich glaube, ich habe die Anforderung als etwas anderes verstanden. Sollte dies der zweite Teil jedes Paares sein, das die vorherige Formel zurückgegeben hat, z. B. wenn die erste Formel Werte von "DN3" und "DX3" zurückgegeben hat, sollte dies die "Ergänzung" erhalten Wert "dh aus" DO3 "und" DY3 "? Sind das alles Textwerte (oder Leerzeichen)? barry houdini vor 12 Jahren 1
Alle Textwerte, wenn es ein primäres Paar hat, und yes, wenn der erste Wert von DN3 stammt, geben DO3 zurück. :) Wenn kein primärer Wert vorhanden ist, ist der sekundäre Wert natürlich leer Tusk vor 12 Jahren 0
OK, ich habe den letzten Eintrag erneut geändert, im Wesentlichen die gleichen Formeln wie ursprünglich, mit +1 in der ZUSAMMENFASSUNG, um den Wert aus der nächsten Zelle zu erhalten ... und "&" "hinzugefügt, um sicherzustellen, dass Leerzeichen nicht als Null angezeigt werden barry houdini vor 12 Jahren 1
Zeigt immer noch den letzten Wert anstelle von Leerzeichen :( Tusk vor 12 Jahren 0
Vielleicht war ich nicht klar genug, drei Zustände sind: leicht, normal, schwer. In derselben Zeile kann es wieder einfach sein, aber wenn es ursprünglich leer ist, sollte es nicht einfach sein, es sollte leer sein. Und jetzt wiederholt das letzte Update den letzten echten Eintrag, einfach durch die gesamte Zeile, ohne ihn leer zu machen. Tusk vor 12 Jahren 0
Der erste gefundene Wert wird in der gesamten Zeile wiederholt, nicht der letzte. Mein Fehler :) Tusk vor 12 Jahren 0