1.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich habe eine Idee, weiß aber nicht wie ich sie umsetzen kann.

Es geht darum aus einer großen Datenbank Einträge für ein gesonderten Artikel heraus zu suchen. Hier bietet sich der Sverweis an, was auch soweit funktioniert. Aber jetzt kommt die Schwierigkeit.

Die Artikel haben unterschiedliche Preise die erfasst werden. ich will aber nur den aktuellen Preis des letzten Eintrags benutzen. Das heißt ich brauche den letzten Eintrag der durch den SVerweis herausgesuchten Zeile des Artikels.

Aufbau der Tabellen:

Artikel Nummer | Artikel Bezeichnung | Artikel Preis 1 | Artikel Preis 2 | Artikel Preis 3 | usw.

Gefiltert wird nach der Artikelnummer.

Kann mir da jemand weiterhelfen ?

Vielen Dank schonmal im voraus.

Besten Gruß
Norman

10 Antworten

0 Punkte
Beantwortet von
Ich nochmal.

wenn es eine Lösung ohne Makro gibt, wäre es sogar noch besser.


Beste Grüße
Norman
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

bei der folgenden Formel steht deine Tabelle, aus der der Preis gesucht werden soll, im Arbeitsblatt "Tabelle1". Gesucht wird die Artikelnummer dort im Bereich A1 bis A500.
Das Suchkriterium (= Artikelnummer) steht in einem anderen Arbeitsblatt in der Zelle A2. Schreibe dort in B2 die folgende Formel:

=VERWEIS(2;1/(INDIREKT("Tabelle1!"&VERGLEICH(A2;Tabelle1!A1:A500;0)&":"&VERGLEICH(A2;Tabelle1!A1:A500;0)));INDIREKT("Tabelle1!"&VERGLEICH(A2;Tabelle1!A1:A500;0)&":"&VERGLEICH(A2;Tabelle1!A1:A500;0)))

Die Bezüge musst du natürlich auf deine Verhältnisse anpassen.

Achtung: Indirekt nur sparsam anwenden, da sie ggf. zu erheblichen Rechenaufwand führen kann (Stichwort volatil, d.h. sie wird nach jeder Eingabe neuberechnet).

Gruß

M.O.
0 Punkte
Beantwortet von
Oh super,

dass ging ja schnell. Vielen Dank!

2 Kleine fragen dazu:

1. Kann man die Formel auch anpassen, um Text auszulesen ? (Für ein ähnlichen Sachverhalt)

2. Wir haben ja die richtige Zeile durch den Vergleich herausgefiltert. Welcher Teil der formel sucht dann in der Zeile nach dem richtigen Preis ?

Vielen Dank für die Hilfe
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

1. für den letzten Text würde die Formel so aussehen:
{=INDEX(INDIREKT("Tabelle1!"&VERGLEICH(A2;Tabelle1!A1:A500;0)&":"&VERGLEICH(A2;Tabelle1!A1:A500;0));MAX(ISTTEXT(INDIREKT("Tabelle1!"&VERGLEICH(A2;Tabelle1!A1:A500;0)&":"&VERGLEICH(A2;Tabelle1!A1:A500;0)))*SPALTE(INDIREKT("Tabelle1!"&VERGLEICH(A2;Tabelle1!A1:A500;0)&":"&VERGLEICH(A2;Tabelle1!A1:A500;0)))))}
Die Formel mit STRG+Umschalt+RETURN abschließen, da es sich um eine Matrix-Formel (dargestellt mit {}) handelt!!!

2. Deine Frage beinhaltet ja eigentlich schon die Antwort: Mit dem Verweis wird die letzte Zahl in einer Zeile gesucht.
Siehe dazu hier: Letzte Zahl in einer Spalte

Und Erläuterung zur Formel zum letzten Text der Spalte findest du hier: Letzter Text

Gruß

M.O.
0 Punkte
Beantwortet von
Guten Morgen,


vielen Dank für die Hilfe. Das ist echt beeindruckend wie schnell du das hinbekommen hast.

Jetzt habe ich nur noch eine Herausforderung ;).

Für die Text Suche habe ich hinter des gesuchten letzten Text ein Datum, welches er als letztes ausliest. Umformatieren als Zahl hat leider auch nix gebracht. Hast du da noch eine Idee.

Vielen Dank schonmal.

Beste Grüße
Norman
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Norman,

wird das Datum als Text (Ausrichtung in der Zelle links) oder als Datum (Ausrichtung in der Zelle rechts) angezeigt?

Falls das Datum mit Ausrichtung links angezeigt wird, dann gehe mal in die betreffende Zelle mit dem Datum, das er als Text anzeigt. Falls vor dem Datum ein Hochkomma steht, so lösche das Hochkomma.

Ansonsten schreibe eine 1 in eine leere Zelle und kopiere diese Zelle.
Dann markiere die Zelle mit dem als Text dargestellten Datum, drücke die rechte Maustaste -> "Inhalte einfügen" drücken oder noch einmal "Inhalte einfügen" auswählen -> Vorgang -> multiplizieren.
Jetzt sollte in der Zelle mit dem Datum eine Zahl stehen, die du wieder als Datum formatieren kannst. Mit ESC kannst du die Kopierauswahl aufheben.

Falls das Datum als Datum (also Ausrichtung links) angezeigt wird, dürfte er das mit der Text-Formel nicht anzeigen.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo,

vielen Dank. Irgendwas war da Fehlformatiert. Der Tipp hat sehr weitergeholfen.

Danke!

Gruß
Norman
0 Punkte
Beantwortet von
Hallo nochmal.

ich möchte mit den ganzen Infos aus den nun wirklich perfekt funktionierenden Tabellen ein Serienbrief machen.

Funktionert auch soweit.

Ich habe nur folgendes Problem.

Derjenige der die Tabelle vor mir erstellt hat hat eine entscheidende Zeile wie folgt formatiert:

235 733 00#

In der Zelle muss dann nur noch die letzte Nummer eingetragen werden

Problem ist, dass ich beim auslesen der Zeile nur die letzte Zahl im Serienbrief auslese. Kannst du mir sagen wie die ganze Zahl auslesen kann ?

Wäre super.

Vielen Dank !!
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

du musst das Seriendruckfeld in WORD entsprechend formatieren. In Excel steht ja z.B. nur die 1 in der Zelle.

Um das Seriendruckfeld in WORD zu formatieren öffne die WORD-Seriendruckvorlage und drücke die Tastenkombination ALT + F9.

Nun sollten die Seriendruckfelder so angezeigt werden
{ MERGEFIELD KdNr. }

Angenommen, die Kundennummer ist deine Zahl , die du entsprechend Excel formatiert haben willst, dann ergänze das Feld wie folgt:
{ MERGEFIELD KdNr. \# “235 733 00#“}
Du kannst den Teil einfach \# “235 733 00#“ in die Klammer reinschreiben.

Drücke wieder die Tastenkombination ALT + F9. Wenn du jetzt die Ergebnisvorschau aktivierst, dann solltest du deine Nummer entsprechend der Excel-Datei sehen.

Gruß

M.O.
0 Punkte
Beantwortet von
Perfekt!

Vielen Dank !!
...