450 Aufrufe
Gefragt in Windows 10 von
Guten Abend,

Ich habe rund 70 Tabellenblätter. Die Namen habe ich via Formel in einer Liste (W2:W70)ausgelesen.

Nun möchte ich den letzten Eintrag eines jeden TabBlattes (C3:C22) auslesen und in eine Liste übernehmen. Habe dutzendweise verschiedenste Formel getestet; komme aber nicht weiter... =INDIREKT(W2)+VERGLEICH(MAX($W$2&"!$C$3:$C$22");0) --> Bezugsfehler...;                            =INDIREKT(W2&"!c3") --> klappt, bringt mich natürlich nicht weiter.

Daher bitte ich Euch um Hilfe; herzlichen Dank!

9 Antworten

0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)
Hi,

Was verstehst du unter dem "letzten Eintrag". Ist das ein Wert der an beliebiger Stelle im Bereich zuletzt eingetragen wurde, oder ist das der unterste Wert in der Spalte? In letzterem Fall könnte eine Kombination aus Index und Anzahl Erfolg bringen.

=INDEX(INDIREKT(W2&"!C3:C22");ANZAHL(INDIREKT(W2&"!C3:C22")))

Gruß Mr. K.
0 Punkte
Beantwortet von
Hi,

herzlichen Dank für das Feedback samt Lösungsvorschlag!

Ich schicke Euch 2 Screenshuts. Einmal ein MitarbeiterBlatt aus dem die letzte Eintragung in den Spalten "C3:C22" und "I3:I22" gesucht werden soll.
Und zum Anderen die Übersicht, in die das Ergebnis übernommen werden soll.

Komischerweise bringt Deine Formel [=INDEX(INDIREKT(W2&"!C3:C22");ANZAHL(INDIREKT(W2&"!C3:C22"))) ] bereits das korrekte Ergebnis... hmm.
Bislang war mir bekannt, das die Verwendung von "Anzahl" das gleiche Ergebnis wie "Count" erzielt.

Habe Deine Formel mit rund einem Dutzend Mitarbeiternamen getestet; bis auf einen "Fall" war das Ergebnis richtig!
Die Arbeitsblätter sind nach den Mitarbeitern benannt. Hat ein Mitarbeiter einen Doppelnamen [Schmitt-Mayer_Peter] dann erhalte ich die Fehlermeldung #Bezug!.
"Irritiert" Excel das zwischen den Namen gesetzte Minuszeichen?

Nochmals danke für Deine/Eure Hilfe!!
--
In diesem Sinne, wünsche ich Ihnen einen angenehmen Tag!

Reinhard Schmitz
0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)
Hallo Reinhard,

Anzahl und Count ist die selbe Formel. Das Eine wird im deutschen und das andere im englischen Excel verwendet. Anzahl zählt nur Zahlen, Anzahl2 zählt auch Text im Englischen wäre das CountA.

Mit Minuszeichen und Leerzeichen ist das so eine Sachen bei Tabellenbezügen. Wenn die vorhanden sind, muss der gesamte Tabellenname in Hochkomma eingeschlossen werden. Die Formel kannst du also wie folgt anpassen:

=INDEX(INDIREKT("'"&W2&"'!C3:C22");ANZAHL(INDIREKT("'"&W2&"'!C3:C22")))

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo zusammen,

bis auf das Auslesen der Doppelnamen ("Müller-Huber_Lisa*) funktioniert der praktische Lösungsansatz einwandfrei. [=INDEX(INDIREKT("'"&W2&"'!C3:C22");ANZAHL(INDIREKT("'"&W2&"'!C3:C22")))]

** so der Listeneintrag; "Wagner_Manuela" wird sauber ausgelesen.

Bitte noch eine Verständnisfrage: In verschiedenen Foren wird mit der Formel VERGLEICH gearbeitet. Weshalb wird er hier nicht eingesetzt? Zu Beginn unserer Konversatzin wurde die Frage gestellt:

"Was verstehst du unter dem "letzten Eintrag". Ist das ein Wert der an beliebiger Stelle im Bereich zuletzt eingetragen wurde, oder ist das der unterste Wert in der Spalte?"

Nun, beides scheint/ist richtig! Gesucht wird die letzte Eintragung zwischen "C3:C22".Dies ist der "unterste" Wert ("unterster Wert" könnte man vllt. auch missverstehen und mit "Mindestens" verwechseln) im Bereich "C3:C22"; er kann daher an einer beliebigen Stelle in dem festgelegten Bereich stehen. Das es sich bei den Datensätzen um Datumsangaben handelt, hatte ich, glaube ich, schonmal erwähnt.

Ich wünsche Euch ein schönes Wochenende!

Gruß Reinhard
0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)
Hi Reinhard,

VERGLEICH sucht einen bestimmten, vorgegebenen Wert in einer Liste und gibt dessen Position zurück. Index und Vergleich verwendet man in Kombination meistens dann, wenn man einen zugehörigen Wert aus einer anderen Spalte zurückgeben will. Ab Office 365 kann man dafür auch XVERWEIS nehmen.

Wenn du also das Datum kennst, das zuletzt eingegeben wurde kannst du auch VERGLEICH anstelle von ANZAHL verwenden. Ich war jedoch davon ausgegangen, dass du nicht weißt, welcher Eintrag der letzte ist. Daher die Formel.

Dass es sich um Datumswerte handelt, hattest du noch nicht erwähnt. Datumswerte sind aber lediglich formatierte Zahlen, insofern passt Anzahl ganz gut.

Dass du immer noch Probleme mit den Doppelnamen hast, wundert mich. Mit den Apostrophen in der Formel sollte es eigentlich jetzt funktionieren. Was bedeutet denn der Stern *. Gibst du nur Teile der Tabellennamen ein? Damit kann die Formel natürlich nicht umgehen.

Vorschlag: Lege eine Liste mit allen Tabellennamen an und greife auf diese über Datengültigkeit zu. Damit erstellst du ein Dropdownfeld, wo du die Tabellennamen nur noch auswählen musst. Das erspart dir Tipparbeit.

Gruß Mr. K.
0 Punkte
Beantwortet von
Dank Deiner Erklärungen kann ich die Vorgehensweisen schön nachvollziehen; danke.

Eine tolle Hilfeseite; herzlichen Dank und einm schönes Wochenende!

Gruß

Reinhard
0 Punkte
Beantwortet von
Guten Tag,

Dass dieFormel funktioniert, hatte ich berichtet. Leider ist es so, dass mir die Formel bei leeren Zellen den Fehlercode "#Überlauf" produziert.Füge ich das @-Zeichen vor der Formel ein, so wird der Fehler unterdrückt; doch dafür der 01.01.1900 ausgegeben... Die Org.-Formel

=INDEX(INDIREKT("'"&W2&"'!C3:C22");ANZAHL(INDIREKT("'"&W2&"'!C3:C22")))                                             habe ich nun folgendermaßen ergänzt:

=@WENN("'"&A3&"'!b3"<>"";"leer";(INDEX(INDIREKT("'"&A3&"'!b3:b22");ANZAHL(INDIREKT("'"&A3&"'!b3:b22"))))). - Das Ergebnis lautet nun "leer"; TOP!                                                                             Ziehe ich nun die Formel auf die nächste untere Zelle, so erscheint auch hier der "leer", obgleich diese Zelle Daten beinhaltet. Diverse Foren "bescheinigen in ihren Beispielen die Korrektheit der Formel, doch irgendwass kann da doch nicht stimmen.

Leider kann ich kein Bild zur Darstellung mitschicken; hoffe deshalb, das das Problem nachvollziehbar geschildert wurde. Ich erbitte nochmals Eure Hilfe;

herzlichen Dank und herzliche Grüße

Reinhard
0 Punkte
Beantwortet von xlking Experte (1.7k Punkte)
Hallo Reinhard,

was du mit dem @ bezweckst habe ich noch nicht verstanden. Das muss wohl eine Neuerung in Office 365 sein, die ich noch nicht kenne. Habe noch Version 2019.

Deine Formel scheint nicht korrekt zu sein. Denn offenbar verweist du im WENN-Teil auf einen Tabellennamen den du in A3 stehen hast. Da fehlt noch das INDIREKT drumrum, Das ist wichtig. Wenn dann immer noch ein Fehler auftritt, kannst du mit Wennfehler diesen ausblenden. Probier mal:

=WENNFEHLER(WENN(INDIREKT("'"&A3&"'!b3")<>"";"leer";(INDEX(INDIREKT("'"&A3&"'!b3:b22");ANZAHL(INDIREKT("'"&A3&"'!b3:b22")))));"")

Allerdings wird wohl immer "leer" zurückgegeben, da die Datumsangaben erwartungsgemäß in b3 beginnen und somit b3 immer <>"" ist. Oder hab ich da was falsch verstanden?

Gruß Mr. K.
0 Punkte
Beantwortet von
Guten Abend Mr. K.,

Hintergrund für die "Einzelprüfung von "B3" ist es nach wie vor zu prüfen, ob "B3" leer bzw. mit Datenbelegt ist. Ist "B3" datenfrei, bleibt die Zelle leer; andernfalls nimmt die Formel ihre Dienste auf. Habe Deine Formel anstatt mit <> mit = ersetzt. Jetzt habe ich das gewünschte Ergebnis.

Die Zelle wird in leerem Zustand mit dem Wort "leer" belegt; alternativ gibt es den letzten Eintrag aus und ist die Zeile leer, so erscheinen auch keinerlei Hinweise.

Es hat sich gelohnt Euch um Hilfe zu bitten! Herzlichen Dank!

Herzliche Grüße

Reinhard
...