2017-07-04 4 views
0

In meinem Excel-Arbeitsblatt, alle 25 Zeilen oder so (diese Anzahl kann sich ändern), enthält eine Zelle in Spalte C eine fortlaufende Nummer, die eine Menge identifiziert. Gerade jetzt gibt es eine einfache Formel, z.B. 34 in Cell: automatischDynamische Referenz auf die obige Zelle

= C9 + 1 

Wenn die Anzahl der Zeilen über C34 ändert, aktualisiert die Formel. Kein Problem damit.

Ich experimentiere jetzt mit einem Makro, das einen Satz zwischen zwei vorhandenen Mengen einfügt; daher eine andere Zahl, die in die Progression passen sollte, und die folgenden Zahlen sollten sich anpassen.

Ich dachte, dass Formeln ändern sollten, um die erste Zahl über der aktuellen Zelle zu finden und +1 hinzuzufügen.

eine Lösung aus this link Probieren, kam ich mit der folgenden Formel auf:

=LOOKUP("z";$C$9:OFFSET(INDIRECT(ADDRESS(ROW();COLUMN()));-1;0))+1 

Es scheint jedoch, dass es nur für Textsuche, ein #N/A geben, wenn kein Text ist und ein #VALUE!, wenn es Text ist ; Wenn ich nicht +1 hinzufüge, funktioniert es gut.

Ich habe auch versucht

=LOOKUP(2;1/(C$9:C9<>"");C:C) 

Wie im Link erklärt, aber alles, was ich bekommen 0

Wie modifiziere ich diese Formeln mir das erwartete Ergebnis geben?

Antwort

1

Unter der Annahme, als die Anzahl des ersten Satzes in A1 wird, diesen Formel

=INDEX(A:A,MATCH(1E+100,OFFSET(A$1,,,ROW()-1)))+1 

in den Zählvorgang Zellen eindringen (A5, A10, A16 im Beispiel):

enter image description here

Dann können Sie Zeilen für einen neu eingefügten Satz einfügen, zum Beispiel:

enter image description here

enter image description here

Wenn ypu die gleiche Formel in C10 kopieren, die Satznummern werden entsprechend aktualisiert:

enter image description here

Und Sie die Textelemente des Satzes füllen kann:

enter image description here

+0

Das funktioniert (sehr gut, wenn ich hinzufügen darf), wenn die erste Satznummer in A1 ist. Ich habe versucht, die Referenzen zu verschieben, um es von meiner Zelle (C9) arbeiten zu lassen, aber es gibt mir 0. Wie bearbeite ich es? – laureapresa

+1

@laureapresa: Versuchen Sie '= INDEX (C: C, MATCH (1E + 100, OFFSET (C $ 1 ,,, ROW() - 1))) + 1 ' –

Verwandte Themen