Suchlauf VERSETZT

Hallo weiß jemand Rat:

habe 2 Spalten - in der einen Datensätze (je 6 und dann eine Leerzeile) in der anderen eine Bestellnummer (pro 6 Datensätze) . Ich erhalte über Suchlauf dann genau das Ergebnis in der gleichen Zeile, möchte, aber die Zeile drunter als Resultat. Was muß ich an meiner Formel ändern:
VSuchlauf(A:B;Spaltenwert(2)='2008/';0;SetzeZelle(Spaltenwert(1);C:C;LfdZähler))

Geht das überhaupt - habe mit +1 bzw. + Zeile versucht was zu finden, aber ohne Erfolg.

Gruss
pepe

Re: Suchlauf VERSETZT

#7864 On 7 Juli, 2008 14:04 Tom Kaegi said,

Hallo pepe

Ich habe etwas Mühe mit der Interpretation deiner Beschreibung!
> habe 2 Spalten - in der einen Datensätze (je 6 und dann eine
> Leerzeile)
>
Offenbar Spalte A. Da steht in jeder Zelle etwas drin, das du als
Datensatz bezeichnest - so wie ich es verstehe immer 6 Zeilen mit
einem Inhalt, dann eine Leerzeile. Das scheint sich so zu wiederholen
(?).
> in der anderen eine Bestellnummer (pro 6 Datensätze) .
>
Das ist offenbar Spalte B. Wenn ich das richtig verstehe, steht die
Bestellnummer auf der der letzten Zeile, die in Spalte A einen
Inhalt hat, also in Zeile 6, dann wieder (falls sich die Geschichte -
wie vermutet - wiederholt) in Zeile 13 etc.
> Ich erhalte über Suchlauf dann genau das Ergebnis in der gleichen
> Zeile, möchte, aber die Zeile drunter als Resultat.
>
Das Resultat ist das Resultat des Suchlaufs, gemäss deiner Formel der
Inhalt von Spalte A auf der Zeile, in welcher in Spalte B der Wert
"2008/" steht. Den willst du offenbar in Spalte C einsetzen. So wie
du den Index des SetzeZelle-Befehls formuliert hast (LfdZähler), wird
der Wert beim ersten Treffer auf Zeile 1 eingesetzt werden, beim
zweiten Treffer auf Zeile 2.

Was soll denn jetzt auf der Zeile drunter sein - auf welche Zeile
beziehst du dich? Der Wert, der entnommen wird (dort hast du ja
gesagt, sei eine leere Zeile - das wäre also sinnlos), oder das
Resultat soll eine Zeile tiefer eingesetzt werden (dann müsstest du
"LfdZähler+1" als Index des SetzeZelle-Befehls angeben - aber mit
deinem Text scheint mir das auch keinen Sinn zu ergeben und zudem
sagst du ja, du hättest es mit "+1" vergeblich versucht). Das versteh
ich nicht.

Was ich auch nicht verstehe ist die Geschichte mit der Bestellnummer.
Eine Bestellnummer sollte doch eindeutig sein. Aber du fragst im
Suchlauf nach dem unveränderlichen Wert "2008/". Das sieht alles
andere als nach einer Bestellnummer aus.
> Was muß ich an meiner Formel ändern:
>
> VSuchlauf(A:B;Spaltenwert(2)='2008/';0;SetzeZelle(Spaltenwert
> (1);C:C;LfdZähler))
>
> Geht das überhaupt - habe mit +1 bzw. + Zeile versucht was zu
> finden, aber ohne Erfolg.
>

Noch ein kleiner Hinweis: Statt "Spaltenwert(1)" schreibst du
einfacher "LfdZelle". Das ergibt genau das Gleiche!

Gruss
Thomas

Re: Suchlauf VERSETZT

#7866 On 7 Juli, 2008 15:04 Jürgen Schell said,

Nicht, dass ich den Zweck verstanden hätte. Falls aber wenigstens die
Aufgabe bei mir richtig angekommen ist, tut
VSuchlauf(A:B;Spaltenwert(2)='2008/';0;SetzeZelle(Index(A:A;LfdIndex+1);C:C;LfdZähler))
das gewünschte.

Gruß, Jürgen

pepe schrieb:
> Hallo weiß jemand Rat:
>
> habe 2 Spalten - in der einen Datensätze (je 6 und dann eine Leerzeile)
> in der anderen eine Bestellnummer (pro 6 Datensätze) . Ich erhalte über
> Suchlauf dann genau das Ergebnis in der gleichen Zeile, möchte, aber die
> Zeile drunter als Resultat. Was muß ich an meiner Formel ändern:
> VSuchlauf(A:B;Spaltenwert(2)='2008/';0;SetzeZelle(Spaltenwert(1);C:C;LfdZähler))
>
> Geht das überhaupt - habe mit +1 bzw. + Zeile versucht was zu finden,
> aber ohne Erfolg.
>
> Gruss
> pepe
>
>

Re: Suchlauf VERSETZT

#7867 On 7 Juli, 2008 15:43 pepe said,

Herzlichen Dank Tom und Jürgen für die Antworten!

Das Problem, was ich habe ist sehr komplex. Es handelt sich tatsächlich um Bestellnummern, die aber wegen teilweise zeitgleicher Versendung von einem mailserver durch ein cgi-script gesteuert sind und der Zähler leider nicht immer hochzählt, folglich es zu den "falschen" DOPPELTEN Bestellnummern kommt. Da der Kunde diese mail als Rechnungebenfalls automatisch erhält, nachdem er ein Formular ausgefüllt hat, lässt sich die "falsche", doppelte Bestellnummer leider auch nicht mehr ändern. Die "normale Bestellnummer wird hochgezählt, also z.B. 2008/988, dann 2008/989, 2008/990 usw.. Die ganzen e-mails die als Betellungen hier eintrudeln importiere ich in ein Ragtime-Rechblatt, wo ich mir dann eine Eingabemaske zum Suchen und Editieren der Daten gebastelt habe, die auch gut funktioniert. Im Rechenblatt sieht alles konkret so aus:

A1: Herr
A2: Jürgen Schell
A3: Neuer Kamp 11
A4: 20211 Hamburg
A5: Deutschland
A6: jschell@tonline.we
A7 Leerzeile
UND nicht in B6 sondern B1 die Bestellnummer z.B.:
B1: 2008/
(wobei die "2008/" jede achte andere Zeile auftauchen kann...)
... usw

Das Ganze fasst mittlerweile ca. 11.000 Zeilen! Leider hab ich das so angelegt (Datensätze pro Zeile zu ordnen wäre sinnvoller gewesen) Allerdings hat der Kunde nicht mit dermaßen vielen Bestellungen (also Bestellnummern) gerechnet. Die Lösung von Jürgen funktioniert prächtig! Vielen Dank! Wäre mir endlich mal das Prinzip der ganzen Suchläufe klar, hätte ich´s wahrscheinlich hinbekommen. So muß ich aber leider immer auf Beispiele zurückgreifen, die ich dann für meine Zwecke abwandle.

Danke nochmals und schöne Grüße
Peter Paletta
pepe