Excel-Anfänger. Brauche Hilfe beim Erstellen einer Formel wie unten (wenn möglich ohne VBA):

Excel-Anfänger. Brauche Hilfe beim Erstellen einer Formel wie unten (wenn möglich ohne VBA):

Ich habe 2 Excel-Tabellen. Eine ist mit „Transaktionen“ gekennzeichnet und hat eine Spalte mit verschiedenen monatlichen Bank-/Kreditkartentransaktionen. Die andere Tabelle ist eine Zuordnungstabelle mit 2 Spalten, wobei die erste Spalte ein Untertext (String?) der auf der Transaktionstabelle aufgeführten Transaktionen ist und die zweite Spalte eine Transaktionskennung. Ich möchte eine Formel auf der Transaktionstabelle, mit der jede aufgeführte Transaktion mit dem String (Untertext) die Klassifizierung auf der Zuordnungstabelle zurückgibt. Gibt es dafür eine Formel ohne Code, die für mehrere Transaktionen, also die gesamten Spalten, gilt?

![

Antwort1

Die Nachschlageformel mit SEARCHund umschlossen mit IFERRORlöst das Problem:

Bildbeschreibung hier eingeben

Wie es funktioniert:

  • Es ist wie eine teilweise Übereinstimmung in der Spalte.
  • Formel in Zelle L31:

    =IFERROR(LOOKUP(9.99999999999999E+307,SEARCH(Mapping!$M$31:$M$39,K31),Mapping!$N$31:$N$39),"")
    

Achtung

  • 9.99999999999999E+307, gilt als die größte Zahl (Länge), die eine Spalte haben kann, und wird verwendet, um Row Numberden gesuchten Wert innerhalb des INDEX-Bereichs zurückzugeben, und hilft der Formel, den Wert zu finden und zurückzugeben.

  • Die SEARCHFunktion gibt die Position einer Textzeichenfolge innerhalb einer anderen zurück.

  • Sie müssen den Blattnamen und die Zellbezüge in der Formel nach Bedarf anpassen.

Antwort2

Ja, das klärt es gut.

So wie die Materialien vorliegen, können Sie Ihre Wünsche nicht zuverlässig umsetzen.

Das Grundproblem ist, wie man etwas wie „TOYOTA CREDIT RLS“ mit „LEXUS FINANCIAL RLS“ verbindet. Natürlich KÖNNTE man das mit langen und komplizierten Formeln machen, aber dann kommt das Wort „zuverlässig“ ins Spiel. Und nach dieser Überlegung haben diese Daten den Charakter der Unmenge an Schrottdaten, die Kreditkarten zum Download anbieten, mit der Vorstellung, dass man dann leicht Daten im Umfang von mehreren Monaten durchkämmen müsste, und warum stimmt es mit diesem Ding in einer nahegelegenen Zeile überein und nicht mit diesem anderen Ding ein paar Zeilen weiter oder 263 Zeilen weiter?

Das zweite Blatt könnte als Mapping-Blatt bezeichnet werden, aber wenn dem so ist, liegt das nicht daran, dass es ein Mapping durchführt. Es ermöglicht auch kein Mapping. Praktisch wäre eine Struktur, bei der das erste Blatt vielleicht so ist, wie es ist, und das zweite Blatt DREI Spalten hat: eine Spalte mit dem GENAUEN Material in der ersten Spalte des ersten Blatts, dann die beiden aktuellen Spalten. Die Idee wäre, die Daten des ersten Blatts hinzuzufügen, zu sehen, ob Fehler auftreten, und entsprechend zu handeln. Fehler? Ja, Sie hätten eine Spalte mit Nachschlagevorgängen, in die die Codes gehen (die Nachschlagevorgänge wären, wie diese Codes in Blatt eins gelangt sind).

Wenn Fehler auftauchen, bedeutet das, dass die Elemente dieser Zeilen nicht in der Liste auf Blatt zwei enthalten sind. Sie fügen sie also sofort hinzu und füllen die zweite und dritte Spalte auf Blatt zwei entsprechend aus. Sobald die Fehler behoben sind, können Sie loslegen. Keine Fehler? Das bedeutet, dass nichts Neues vorhanden ist und Sie nach dem Hinzufügen der Daten fortfahren können. (Die Nachschlageformel füllt die Codespalte für Sie aus.)

Fallstrick? Stellen Sie sicher, dass die Tabelle, auf die bei der Suche verwiesen wird, nie kleiner ist als die gesamte Menge an Material auf Blatt zwei! Schreiben Sie ein paar Dutzend oder ein paar Hundert zusätzliche Zeilen. Wenn Sie also neues Material einfügen und die Zeile ausfüllen, ist es immer noch in der Tabelle. Überprüfen Sie es ab und zu. ODER, besser noch, verwenden Sie eine dynamische Referenzformel, damit die Tabelle immer perfekt und immer genau ist.

Wenn man es sich jedoch ansieht, ist es schwer zu erkennen, warum die vorhandene Spalte A auf dem Zuordnungsblatt notwendig ist. Sie scheint nicht nützlich zu sein. Aber wenn sie es ist, kann es nicht schaden, sie beizubehalten.

Eine Alternative wäre, diese Spalte mit Material zu versehen, das sie sinnvoller mit Spalte A des ersten Blatts verbindet. Dadurch könnten direkte Nachschlagevorgänge möglicherweise zuverlässiger werden. Wenn nicht, nun ja, nicht. Aber wenn es Nachschlagevorgänge in der Praxis wirklich schwierig bis unmöglich macht, dann scheint es nicht sehr sinnvoll zu sein, tatsächlich etwas abzubilden.

Langwierig und kompliziert? Nun, ein Ansatz für jede Nachschlageoperation könnte darin bestehen, verschachtelte FIND(), SEARCH(), oder SUBSTITUTE()Formeln zu schreiben, die einen Teil des Eintrags des ersten Blatts nehmen und in jeder Spalte des zweiten Blatts danach suchen, bis eine Übereinstimmung gefunden wird. Aber das ist selbst bei maximal 20 Zeichen in den Eingabedaten ein riesiges Unterfangen, und wenn „Toyota“ (zum Beispiel) in zwei verschiedenen Arten von Einträgen gefunden wird, nicht nur in einer Art (wie eine Autozahlung und eine Wartung für das Auto, die beide „Toyota“ im Text haben), entsteht das Zuverlässigkeitsproblem, da es möglicherweise das falsche Ergebnis zurückgibt.

Mein Favorit ist heutzutage die Verwendung, MID()bei der SEQUENCE()ich eine Zeichenfolge Zeichen für Zeichen, oder zwei, oder sechzehn usw. auf einmal nehme und den erzeugten Text verwende. Am nützlichsten ist die Verwendung von Zeichen für Zeichen, aber hier könnte ich sie alle verwenden, um Teile mit dem zweiten Blatt zu testen, alle quintinliyhuge-illion Möglichkeiten... oder den Computer jedes Mal abwürgen, wenn Sie die Datei öffnen...

Oh, die Nachschlagevorgänge, auf die ich mich beziehe, wären die Standardfunktionen, wahrscheinlich die schönen neuen Dinge XLOOKUP(). All diese Tests, die ich oben erwähnt habe? Die 1.000.000 Möglichkeiten? Jeder müsste in den ausgewählten Nachschlagevorgang eingespeist werden, damit der erste erfolgreiche ein Ergebnis liefert, das Sie verwenden können. Also doppelt so viele Operationen oder mehr ...

Fazit: Es sieht ganz danach aus, als müsste das Material neu strukturiert werden.

Das spielt keine große Rolle, wenn es nicht Ihrs ist und Sie die Daten nicht einmal laden. Sie können die Struktur noch während der Arbeit ändern. Bewahren Sie eine zweite Datei mit der von mir beschriebenen Tabelle auf. Fügen Sie auf dieser oder einer anderen Tabelle Formeln ein, die die eigentliche Suche durchführen. Kopieren Sie dann die Ergebnisse ( Copy|Paste|Special: Values) und fügen Sie sie wieder in die aktuelle Tabelle ein, wo sie hingehören. Sie haben die Vorstellung des Designers von Perfektion umgangen. Er wird es nie erfahren, da seine Tabelle nicht geändert wird und er trotzdem die gewünschten Ergebnisse erhält. Eine Win-Win-Situation.

verwandte Informationen