SVerweis aus Excel übertragen funktioniert nicht

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Andi64
Beiträge: 7
Registriert: Di, 13.08.2013 23:44

SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Andi64 »

Hallo,
Ich bin neu hier im Forum und sollte gleich vorweg schicken, das ich nicht der Profi bin.
Aber ich werde versuchen das Problem so genau wie möglich zu beschreiben.
Vor einiger Zeit habe ich für einen Bekannten mit Microsoft Office XP eine kleine Bürosoftware erstellt, mit der er Angebote, Rechnungen und Briefe erstellen kann.
Sie besteht aus einer Adresstabelle, (Adressen.xls) in der jedem Kunden eine eigene Zeile mit seinen Daten und einer persönlichen Kundenummer (in Spalte A)zugewiesen wird.
Dann kommen noch die einzelnen Dokumente (Angebot.xls, Rechnung.xls usw.) Sie sind an der Briefnorm ausgerichtet, haben also ein Adressfeld mit 4 Zeilen. Die liegen auf zusammengefassten Zellen B-E auf Höhe 11-14. (11=Name, 12=ASP, 13=Straße, 14=Ort) ein ganz normales Adressfeld also.
Und es gibt das Feld G19, in dem die Kundennummer eingetragen wird.
Bisher war es so, das ein Dokument geöffnet wurde, dann wurde die Kundennummer in G19 eingetragen, Excel hat diese Nummer in Adressen.xls gesucht und das Adressfeld automatisch ausgefüllt. Das hat super funktioniert.
Dazu habe ich folgenden SVerweis verwendet:
Beispiel für Zeile B-E11 - (Name):
=HYPERLINK("#'Adressen'!$A"&SUMMENPRODUKT(('E:\Mike''s Büro Stand 17.7.13\Peil Mike\Vorlagen\[Adressen.xlt]Adressen'!$A$2:$A$20=G19)*ZEILE('E:\Mike''s Büro Stand 17.7.13\Peil Mike\Vorlagen\[Adressen.xlt]Adressen'!$A$2:$A$20));SVERWEIS(G19;'E:\Mike''s Büro Stand 17.7.13\Peil Mike\Vorlagen\[Adressen.xlt]Adressen'!A:E;2;0))
--------------------
Nun zu dem Problem:
Ich habe alle Dateien in Open Office neu gespeichert. Direkt in den Ordner E:\Mike's Büro Stand 17.7.13\Peil Mike.
Es wurden alle formatierungen sauber übernommen. Nur der SVerweis funktioniert nicht mehr. Klar, die Pfadangaben sich falsch, aber ich habe schon alle Varianten versucht die mir eingefallen sind.
Alle Open Office Dateien liegen im gleichen Ordner unter E:\Mike's Büro Stand 17.7.13\Peil Mike und heissen Adressen.ods, Rechnung.ods, Briefkopf.ods usw.
Ich erhalte abwechselnd die folgenden Fehlermeldungen: ERR:504, ERR:508 und #Name.

Hoffentlich habe ich mich so ausgedrückt, das es nach vollziehbar ist.
Wenn jemand eine Lösung kennt, bitte helft mir. Vielleicht ist nur eine Kleinigkeit, aber ich bin zu blöd dafür.
Vielen Dank
Andi64
Andi64
Beiträge: 7
Registriert: Di, 13.08.2013 23:44

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Andi64 »

Hallo antworter
Vielen Dank für die schnelle Hilfe.
Wo die doppelten Hochkomma bei Mike's herkommen weiß ich nicht. Das mit den Vorlagen hat sich erledigt, da alle Dateien (Excel und OO) im Ordner E:\Mike's Büro Stand 17.7.13\Peil Mike liegen.
In Excel funktioniert es mit dem folgenden SVerweis:
=HYPERLINK("#'Adressen'!$A"&SUMMENPRODUKT(('E:\Mike''s Büro Stand 17.7.13\Peil Mike\[Adressen.xls]Adressen'!$A$2:$A$20=G19)*ZEILE('E:\Mike''s Büro Stand 17.7.13\Peil Mike\[Adressen.xls]Adressen'!$A$2:$A$20));SVERWEIS(G19;'E:\Mike''s Büro Stand 17.7.13\Peil Mike\[Adressen.xls]Adressen'!A:E;2;0))

Ich habe das mal versucht zu ändern: Sieht jetzt in Open Office so aus:
=HYPERLINK("#'Adressen'.$A"&SUMMENPRODUKT(('E:\Mike's Büro Stand 17.7.13\Peil Mike\[Adressen.ods]Adressen'.$A$2:$A$20=G19)*ZEILE('E:\Mike's Büro Stand 17.7.13\Peil Mike\[Adressen.ods]Adressen'.$A$2:$A$20));SVERWEIS(G19;'E:\Mike's Büro Stand 17.7.13\Peil Mike\[Adressen.ods]Adressen'.A:E;2;0))

ergibt ERR:508
Die ! habe ich durch . ersetzt, die Pfadangaben sollten richtig sein, die doppelten Hochkomma waren im OO von vorne herein nicht vorhanden.
Könnte OO sich an dem ü (Umlaut) in Büro stören?
Ich würde mich freuen, wenn Du nochmal einen Blick darauf werfen könntest.
Vielen Dank
Andi64
Eddy
********
Beiträge: 2781
Registriert: So, 02.10.2005 10:14

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Eddy »

Hallo Andi64,

ersetze in der Formel "...Adressen'.A:E;2;0))" die Matrix durch den korrekten Wert, z. B. "...Adressen'.A2:E150;2;0))".

Mit korrekten Grüßen

Eddy
Andi64
Beiträge: 7
Registriert: Di, 13.08.2013 23:44

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Andi64 »

Hallo
Entschuldigt, das ich mich jetzt erst wieder melde.
Danke für Deinen Tipp, Eddy. Aber das funktioniert leider auch nicht. Fehler #508 und #509 bleibt.
Im Moment sieht mein Verweis folgendermaßen aus:
=HYPERLINK("#'Adressen'.$A"&SUMMENPRODUKT(('e:\Mike\[adressen.ods]adressen'.$a$2:$a$150=g19)*zeile('e:\Mike.$A$2:$A$150));SVERWEIS(G19;'e:\Mike\[adressen.ods]Adressen'.A2:E;2;0))
Ich habe das gefühl, das OO nicht weiß, wo gesucht werden soll.
Die 150 legt anscheinend nur die End Such-Zeile fest.
Aber es soll ja nur in Spalte A (der Adresstabelle - adressen.odp) nach der eingegebenen Nummer im Brief gesucht werden. Dann soll der Eintrag aus Spalte B der selben Zeile (der Adressliste) in das Adressfeld (des Briefes) eingetragen werden.
Die SVerweise stehen im Adressfeld des Briefes, und sind zeilenweise angepasst.
...[adressen.ods]Adressen'.A2:E;2;0)) bedeutet: Nimm den Eintrag aus Adressliste Spalte 2 = Name
...[adressen.ods]Adressen'.A2:E;3;0)) bedeutet: Nimm den Eintrag aus Adressliste Spalte 3 = Straße usw.
noch einmal mit anderen Worten:
Ich öffne einen Brief. Trage in Feld G19 eine Kundennummer ein. OO soll diese Nummer in Spalte A des Adressverzeichnises (adressen.odp) finden und den Eintrag aus Spalte B der selben Zeile (Name) in das Namensfeld des Briefes eintragen.
Ich habe schon so viele Variationen durchprobiert, das ich langsam glaube das OO das gar nicht kann, oder der SVerweis von Grund auf falsch angelegt wurde.
Eine einfache Formel-Übernahme von Excel also so nicht möglich ist.
Vielleicht fangen wir noch einmal von vorne an.Ich kann auch die Original Dateien zur Verfügung stellen, falls das hilft.
Hat jemand eine präzise Schritt für Schritt Anleitung wie ich einen solchen SVerweis in OO erstellen kann?
Vielen Dank
Andi64
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von balu »

Hallo Andi64,
Klar, die Pfadangaben sich falsch
Da geb ich dir recht.
aber ich habe schon alle Varianten versucht die mir eingefallen sind.
Und die da wären?

Ist schon klar das man als Neueinsteiger noch längst nicht alle Grundliegende handhabungen kennt. Auch die Syntax von Pfadangaben sind einem noch nicht so geläufig. Mit solchen Sachen muss man sich erstmal in Ruhe und ohne Zeitdruck auseinandersetzen. Doch dazu später mehr.


Eddy hat geschrieben: ersetze in der Formel "...Adressen'.A:E;2;0))" die Matrix durch den korrekten Wert, z. B. "...Adressen'.A2:E150;2;0))".
Danke für Deinen Tipp, Eddy. Aber das funktioniert leider auch nicht.
Wenn dir schon ein konkreter Tipp gegeben wird, warum setzt Du ihn dann nicht in die Tat um?
Schau mal was Du jetzt wieder gepostet hast.
...[adressen.ods]Adressen'.A2:E;2;0))
Das ist jetzt aber nur ein kleineres Problem, welches wohl nicht uninteressant ist, aber nicht das wichtigste und größte Problem darstellt. Denn das kommt jetzt.

Ich habe schon so viele Variationen durchprobiert, das ich langsam glaube das OO das gar nicht kann
Oh doch! AOO kann das sehr wohl!

oder der SVerweis von Grund auf falsch angelegt wurde.
Jaeien!
Neben der eben noch mal angedeuteten falschen schreibweise des Datenbereichs (Matrix), kommt jetzt nämlich die falsche Pfadangabe noch zum tragen die ja mit dem SVERWEIS verbunden ist.


Aber HALT STOP!!!
Da wäre noch etwas wichtiges abzuklären!

Warum arbeitest Du überhaupt mit HYPERLINK, muss das denn wirklich sein?
Der Sinn ist mir bis jetzt vollkommen verschlossen. Ich bin mir wohl nicht sicher, aber ich glaube Du setzt hier eine sinnfreie Funktion zur Löung eines Problems ein das auch anders gelöst werden kann.


Also denn zu der Pfadangabe.
In Excel ist diese Schreibweise korrekt (als Beispiel).

Code: Alles auswählen

=SVERWEIS(A1;'C:\Temp\[Mappe2.xls]Tabelle1'!$A$1:$B$6;2;0)
Jedoch in Calc sieht die Sache schon ganz anders aus.

Code: Alles auswählen

=SVERWEIS(A1;'file:///C:/Temp/Mappe2.xls'#$Tabelle1.$A$1:$B$6;2;0)
In beiden Fällen wurde die Verknüpfung von Hand angelegt.
Du siehst also den enormen Unterschied.

Was ich jetzt aber momentan absolut überhaupt nicht verstehe, warum bei dir deine Formel in Calc überhaupt nicht funktionieren will? Denn wenn ich eine ganz simple Testdatei in Excel mit der eben zitierten Formel erstelle, und diese als .xls speichere, dann kann ich getrost diese Excel-Datei in Calc öffnen und die Formel wird automatisch von Calc so angepasst wie zitiert zu sehen ist. Ich muss da reine weg nix anpassen oder ändern.
Ich kann auch die Original Dateien zur Verfügung stellen, falls das hilft.
Das wäre wahrscheinlich nicht verkehrt. Aber bitte nur die Originalen Excel Dateien. Und vergess nicht die Dateien zu anonymisieren, sprich, keine realen Daten (Namen, Anschrift...) in den Dateien.

Und bitte nicht vergessen zu erklären warum Du mit =HYPERLINK arbeitest.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Gert Seler »

Hallo Andy64,
folgendes könnte Dir weiterhelfen :

Code: Alles auswählen

http://www.ooowiki.de/CalcFunktionenTabellen%282f%29DatenFinden.html
mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von pmoegenb »

Gast hat geschrieben:super .. die "anklickbare" URL. Sehr praktisch...
Und das Dumme ist, es wird nicht besser, in dem man das wiederholt.
http://www.ooowiki.de/CalcFunktionenTab ... inden.html
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Andi64
Beiträge: 7
Registriert: Di, 13.08.2013 23:44

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Andi64 »

Hallo
vielen Dank erstmal für die Antworten, finde ich echt klasse.

An balu
Mann oh mann, so eine umfangreiche Antwort....
Ich will mal ein paar Fragen beantworten.
balu hat geschrieben:Wenn dir schon ein konkreter Tipp gegeben wird, warum setzt Du ihn dann nicht in die Tat um?
Schau mal was Du jetzt wieder gepostet hast.
Das die 150 im letzen Teil fehlt, liegt daran, das ich rumprobiert habe. Habe das zunächst so versucht, wie Eddy es vorgeschlagen hat.
Dann habe ich wohl die falsche Version kopiert.
balu hat geschrieben:Denn wenn ich eine ganz simple Testdatei in Excel mit der eben zitierten Formel erstelle, und diese als .xls speichere, dann kann ich getrost diese Excel-Datei in Calc öffnen und die Formel wird automatisch von Calc so angepasst wie zitiert zu sehen ist.
Auf dem Rechner wo das später laufen soll, wird es kein MS Office geben, daher muß ich als .ods speichern.
In Excel funktioniert es ja, soll aber nicht verwendet werden.
balu hat geschrieben:Warum arbeitest Du überhaupt mit HYPERLINK, muss das denn wirklich sein?
Das kommt daher, das in der Original Excel Datei der Verweis so eingetragen ist und beim neuen speichern in OO so übernommen wurde.
Ich muß keineswegs mit HYPERLINK arbeiten, wenn es eine sinnvollere und einfachere Lösung gibt. Aber da wird es kompliziert.
Am Anfang hatte ich gedacht, das ich die adressen.xls in OO öffne, dann unter adressen.odp im gleichen Ordner neu speichere und nur die Dateiendung von .xls in .ods ändern muß, damit es funktioniert. Das war wohl ein Irrtum.
Ich habe versucht Eure Anleitungen in den Verweis einzubauen. Sieht jetzt so aus:
=HYPERLINK("#'Adressen'.$A"&SUMMENPRODUKT(('file///e:/Mike/adressen.ods'#$adressen.$a$2:$a$150=g19)*zeile('file///e:/Mike/adressen.ods'#$adressen.$A$2:$A$150));SVERWEIS(G19;'file///e:/Mike/adressen.ods'#$adressen.$A$2:$E$150;2;0))
Fehler #REF!
Nach dem erneuten öffnen und anpassen macht OO das hier daraus:
=HYPERLINK("#'Adressen'.$A"&SUMMENPRODUKT(('file:///E:/Mike/file///e:/Mike/adressen.ods'#$adressen.$A$2:$A$150=G19)*ZEILE('file:///E:/Mike/file///e:/Mike/adressen.ods'#$adressen.$A$2:$A$150));SVERWEIS(G19;'file:///E:/Mike/file///e:/Mike/adressen.ods'#$adressen.$A$2:$E$150;2;0))
Das verstehe ich nicht.
balu hat geschrieben:Du setzt hier eine sinnfreie Funktion zur Löung eines Problems ein das auch anders gelöst werden kann.
Bin für einfachere Lösungen offen.
Vielen Dank
Andi64
Eddy
********
Beiträge: 2781
Registriert: So, 02.10.2005 10:14

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Eddy »

Hallo Andi64,
Andi64 hat geschrieben:Am Anfang hatte ich gedacht, das ich die adressen.xls in OO öffne, dann unter adressen.odp im gleichen Ordner neu speichere und nur die Dateiendung von .xls in .ods ändern muß, damit es funktioniert.
was soll das? Als Präsentation speichern?? Eine Dateiendung ändern??

Ich habe den Eindruck, Du weißt nicht, was Du tust. Seis drum.

Ein Versuch noch ohne Beispieldokument. Nimm die Excel Tabelle und probiere, ob sie in Excel funktioniert. Wenn das so ist, öffne sie mit OpenOffice und probiere, ob sie funktioniert. Wenn ja - speichere sie mit Datei > Speichern unter im ods Format.

Mit nachdenklichen Grüßen

Eddy
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von balu »

Hallo Andi64,
Andi64 hat geschrieben: und nur die Dateiendung von .xls in .ods ändern muß, damit es funktioniert. Das war wohl ein Irrtum.
Einfach umbenennen funktioniertz in diesem Falle überhaupt nie nicht!
Und ja! Es ist ein Irrtum! Mehr noch; es ist einfach falsch.

Andi64 hat geschrieben:
balu hat geschrieben:Denn wenn ich eine ganz simple Testdatei in Excel mit der eben zitierten Formel erstelle, und diese als .xls speichere, dann kann ich getrost diese Excel-Datei in Calc öffnen und die Formel wird automatisch von Calc so angepasst wie zitiert zu sehen ist.
Auf dem Rechner wo das später laufen soll, wird es kein MS Office geben, daher muß ich als .ods speichern.
In Excel funktioniert es ja, soll aber nicht verwendet werden.
Primär geht es nicht darum wo die Datei später zum Einsatz kommt, sondern das nicht funktionieren der Excel Dateien und der dortigen Formeln in Calc, so wie Du es geschildert hattest. Und das mich das verwundert, hatte ich ja hiermit zu Worte gebracht:
balu hat geschrieben: Was ich jetzt aber momentan absolut überhaupt nicht verstehe, warum bei dir deine Formel in Calc überhaupt nicht funktionieren will?
Da ich persönlich kein Excel habe, muss ich immer die Gunst der Stunde abwarten bis das ich auf einen anderen PC innerhalb der Familie zugriff bekommen kann. Und das war jetzt wieder der Fall.
Ich habe also eine vereinfachte Testdatei erstellt, aber mit identischen Pfadangaben, also genau so wie bei dir.
Hier noch mal deine erst gepostete Formel.

Code: Alles auswählen

=HYPERLINK("#'Adressen'!$A"&SUMMENPRODUKT(('E:\Mike''s Büro Stand 17.7.13\Peil Mike\[Adressen.xls]Adressen'!$A$2:$A$20=G19)*ZEILE('E:\Mike''s Büro Stand 17.7.13\Peil Mike\[Adressen.xls]Adressen'!$A$2:$A$20));SVERWEIS(G19;'E:\Mike''s Büro Stand 17.7.13\Peil Mike\[Adressen.xls]Adressen'!A:E;2;0))
Und genau diese Formel hatte ich in die Testatei in Excel eingegeben. Resultat: Funktioniert
Es wird in der dementsprechenden Zelle ein Text ausgegeben, der als Hyperlink dargestellt wird. Also Blaue Schrift unterstrichen.

Jetzt diese .xls Testdatei in Calc geöffnet. Ergebnis:

Code: Alles auswählen

=HYPERLINK("#'Adressen'!$A"&SUMMENPRODUKT(('file:///E:/Mike''s Büro Stand 17.7.13/Peil Mike/Adressen.xls'#$Adressen.$A$2:$A$20=G19)*ZEILE('file:///E:/Mike''s Büro Stand 17.7.13/Peil Mike/Adressen.xls'#$Adressen.$A$2:$A$20));SVERWEIS(G19;'file:///E:/Mike''s Büro Stand 17.7.13/Peil Mike/Adressen.xls'#$Adressen.A$1:E$65536;2;0))
Wie zu sehen, Calc hat automatisch die Pfadangaben auf die in OOo gültige notation angepasst.
A B E R ! ! !
Andi64 hat geschrieben: die folgenden Fehlermeldungen: ERR:504
Korrekt! Die bekomme ich auch zu sehen.
ERR:504 bedeutet: Fehler in der Parameterliste.
Das sagt mir momentan aber recht wenig, da mir der gesamte Originale Formelaufbau einfach zu suspekt ist. Allein schon das mit *ZEILE ist mir schleierhaft.


Ich wiederhole mich.
balu hat geschrieben:
Ich kann auch die Original Dateien zur Verfügung stellen, falls das hilft.
Das wäre wahrscheinlich nicht verkehrt. Aber bitte nur die Originalen Excel Dateien. Und vergess nicht die Dateien zu anonymisieren, sprich, keine realen Daten (Namen, Anschrift...) in den Dateien.
Ohne die Dateien stelle ich meine Hilfe ein, da ich so ohne weiteres die Formeln nicht nachvollziehen kann. Es bringt nämlich gar nix irgendwelche spekulationen aufzustellen, die dann doch nicht helfen.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Andi64
Beiträge: 7
Registriert: Di, 13.08.2013 23:44

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Andi64 »

Hallo

Ich kann mich nur nochmal für Eure Hilfe bedanken. Und bitte: Lasst mich nicht alleine.
Eddy hat geschrieben:Ich habe den Eindruck, Du weißt nicht, was Du tust. Seis drum.
Da hast Du sicher Recht. Ich versuche hier über Versuch und Irrtum eine Formel zusammen zu basteln, die irgendwie funktioniert.
Ich gebe ganz offen zu, das ich nicht wirklich Plan davon habe. Ich habe eine Aufgabe und die will ich lösen. Aber ohne Eure Hilfe kann ich das vergessen.
Von daher kann ich Euch nicht sagen, wie dankbar ich dafür bin, das Ihr Eure Zeit für mein Problem opfert. - Vielen lieben Dank!
balu hat geschrieben:Korrekt! Die bekomme ich auch zu sehen.
ERR:504 bedeutet: Fehler in der Parameterliste.
Aus diesem Satz schöpfe ich neuen Mut. Das bedeutet, das ich nicht alles falsch gemacht haben kann.
balu hat geschrieben:Ohne die Dateien stelle ich meine Hilfe ein, da ich so ohne weiteres die Formeln nicht nachvollziehen kann. Es bringt nämlich gar nix irgendwelche spekulationen aufzustellen, die dann doch nicht helfen.
Ich hatte die Original Dateien angesagt - und jetzt anonymisiert in einem neuen Verzichnis gezippt und gespeichert.
Ich werde versuchen sie an diese Antwort anzuhängen. - Vorschau.zip enthält die Adressdatei und den Briefkopf in OO und Excel.
Bitte schau mal rein.
Danke
Andi64
Dateianhänge
Vorschau.zip
Adressen und Briefkopf OO und Excel
(38.33 KiB) 145-mal heruntergeladen
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von balu »

Hallo Andi64,
Andi64 hat geschrieben: Ich versuche hier über Versuch und Irrtum eine Formel zusammen zu basteln, die irgendwie funktioniert.
Oh ja! Das kenne ich nur zu genüge. Auch heute noch arbeite ich nach diesem berühmten "Try n Error" Prinzip :lol:

Andi64 hat geschrieben:
balu hat geschrieben: Korrekt! Die bekomme ich auch zu sehen.
ERR:504 bedeutet: Fehler in der Parameterliste.
Aus diesem Satz schöpfe ich neuen Mut. Das bedeutet, das ich nicht alles falsch gemacht haben kann.
Stimmt. Du hast so gesehen nix falsch gemacht, bis auf die überflüssige Funktion HYPERLINK -(was dir jetzt aber nicht negativ angerechnet wird). Der Fehler, oder besser gesagt das Problem liegt in diesem Falle eindeutig bei Calc. Denn Calc ist kein 1:1 Klon von Excel, und von daher läuft nun mal halt in Calc so einiges anders.


Jetzt, wo ich die Dateien gesehen habe, war ein umschreiben der Formel ein "Kinderspiel", wenn man sich etwas mit Excel/Calc auskennt. Und wie schon gesagt, die Funktion HYPERLINK ist wirklich überflüssig. Es reicht vollkommen das hier in Excel aus.

Code: Alles auswählen

=SVERWEIS($G$19;'E:\Mike\[Adressen.xls]Adressen'!$A$4:$E$9;ZEILE(A2);0)
{hab mal den Pfadnamen gekürzt, wegen einfacher zu lesen}
Auch wenn Excel Komplette Spalten (oder Zeilen) in gekürzter Form akzeptiert, also z.B. A:E, so hatte ich jetzt zum Testen den Adressbereich vollständig ausgeschrieben; $A$4:$E$9.

Ich hatte ja schon weiter zuvor gesagt, das Calc kein Problem hat den Pfad automatisch anzupassen wenn er denn in etwa so in Excel erstellt wurde. Und das hat sich jetzt wiederum bewahrheitet.

Code: Alles auswählen

=SVERWEIS($G$19;'file:///E:/Mike/Adressen.xls'#$Adressen.$A$4:$E$9;ZEILE(A2);0)
balu hat geschrieben: Allein schon das mit *ZEILE ist mir schleierhaft.
In deiner Urspünglichen Formel stimmte das schon. Aber auch ich hab jetzt ZEILE eingesetzt, weil man damit einen Indexzähler aufbauen kann. Der Unterschied zwischen deiner Version und meiner ist: Du hattest ihn in der Verlinkten Datei (Adressen.xls) angewendet was mich doch sehr verwunderte, ich jedoch habe ihn dort angewendet wo er formeltechnisch gesehen besser hinpasst. Allein dadurch wird die Formel schon etwas übersichtlicher.


Jetzt wollen wir die Formel noch etwas verfeinern.
Angenommen Du gibst in G19 bei 'Kunden Nr.:' eine nicht existierende Nr ein, dann bekommst Du ja eine Fehlermeldung in Form von #NV ausgegeben. Und das kannst Du in sofern umgehen, wenn Du die Formel wie folgt änderst.

Code: Alles auswählen

=WENN(ZÄHLENWENN('file:///E:/Mike/Adressen.xls'#$Adressen.$A$4:$A$9999;G19);SVERWEIS($G$19;'file:///E:/Mike/Adressen.xls'#$Adressen.$A$4:$E$9;ZEILE(A2);0);"")
Die Formel wurde jetzt in eine WENN abfrage einepackt. ZÄHLENWENN überprüft ob die 'Kunden Nr.:' vorhanden ist, und wenn ja, dann geht es mit der SVERWEIS weiter, und wenn die Nr nicht existiert, dann wird nix gemacht, sprich es wird eine Leere Zelle ausgegeben.


Ich hoffe jetzt nur noch das Du die neue und geänderte Formel so weit nachvollziehen kannst, und Du nun weiter kommst. Bei Problemen und verständigungsschwierigketen meld dich ruhig. Wir werden dir schon helfen :D.



Gruß
balu
Dateianhänge
MIKE.zip
Archiv besteht nur noch aus den .ods Dateien.
(31.9 KiB) 137-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Andi64
Beiträge: 7
Registriert: Di, 13.08.2013 23:44

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Andi64 »

Hallo balu
Danke für Deine Hilfe.
Die WENN Formel funktioniert soweit.
Ich habe sie jetzt folgendermaßen angelegt:

=WENN(ZÄHLENWENN('file:///E:/Mike/Adressen.ods'#$Adressen.$A$4:$A$9999;G19);SVERWEIS($G$19;'file:///E:/Mike/Adressen.ods'#$Adressen.$A$4:$E$9999;ZEILE(A2);0);"")

Wenn ich im Feld G19 eine 0 oder eine 1 eintrage, aktualisiert Calc das Adressfeld wunschgemäß.
Trage ich eine 2 ein lässt es die Felder leer. So soll das sein, da es ja keinen Kunden 2 gibt.
Aber der Kunde 317 (existiert) wird nicht gefunden. Die Felder bleiben leer.
Welche Kundenummern später vergeben werden, ist noch nicht klar.
Evtl. beginnt die Liste mit 10000 oder 500 oder wie auch immer.
Leider kann ich in der Formel nichts finden, was daran etwas ändern würde.
Übrigens ist mir aufgefallen das die Formel auch funktioniert wenn
statt :
($G$19;'file:///E:/Mike/Adressen.ods'#$Adressen.$A$4:$E$9999;ZEILE(A2);0);"")
folgendes eingetragen ist:
(G19;'file:///E:/Mike/Adressen.ods'#$Adressen.$A$4:$E$9999;ZEILE(A2);0);"")
Aber die suchen Funktion funktioniert in beiden Fällen nicht. Calc findet immer nur 0 und 1.
Korrigiere: Habe gerade die Adressliste geändert, und Kunde 0 nach unten verschoben. Calc trägt trotzdem den richtigen Kunden ein.
Da mir nicht auffällt, wo da ein Fehler ist, hänge ich die neuen Dateien nochmal an.
Danke
Andi64
Dateianhänge
Vorschau 2.zip
Neuer Versuch
(31.55 KiB) 135-mal heruntergeladen
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von balu »

Hallo Andi64,
Übrigens ist mir aufgefallen das die Formel auch funktioniert wenn
statt :
($G$19;'file:///E:/Mike/Adressen.ods'#$Adressen.$A$4:$E$9999;ZEILE(A2);0);"")
folgendes eingetragen ist:
(G19;'file:///E:/Mike/Adressen.ods'#$Adressen.$A$4:$E$9999;ZEILE(A2);0);"")
Das stimmt wohl so weit. Aber wenn Du beispielsweise im Bereich B11 bis E14 die Zellverbindungen aufhebst, und deine geänderte Formel in B11 eingibst und sie dann nach B14 runterziehst (kopierst), dann ändert sich G19 zu G20 etc.... Deshalb sollte zumindest vor der 19 ein Dollarzeichen gesetzt werden. Siehe auch: AbsoluteAdresse

Und da wir schon bei Adressen sind.
ZÄHLENWENN sucht im Bereich von $A$4:$A$9999.
Der Datenbereich von SVERWEIS geht aber bei deiner letzten Datei von A4 bis E9, zumindest in B11. Richtig wäre aber dort auch $A$4:$E$9999. Mit anderen Worten: Du hast den Datenbereich nicht angepasst.

MERKE!
Die Datenbereiche von ZÄHLENWENN und SVERWEIS (bezogen auf die Zeilen) müssen immer gleich groß sein. Denn sonst gibts Probleme.


Ich hoffe das dies dir hilft.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Andi64
Beiträge: 7
Registriert: Di, 13.08.2013 23:44

Re: SVerweis aus Excel übertragen funktioniert nicht

Beitrag von Andi64 »

Hallo balu

Ich danke Dir für Deine Antwort

Klar, habe den Pafad nicht korrigiert, war wohl schon zu müde. Mein Fehler.
Das mit dem $G$19 leuchtet ein. Ich arbeite zwar über Tastatur (Strg C+V), da stellt sich das Problem nicht, aber richtiger ist es natürlich mit dem $.

Heute habe ich dann den angepassten Pfad im Briefkopf verwendet, und siehe da, es hat (kurzzeitig) funktioniert.
Calc hat alle Adressen incl. 507 P gefunden und ordnungsgemäß in die richtigen Felder eingetragen.
Man, war ich stolz.
Aber leider nur kurz.
Dann habe ich den anonymisierten Briefkopf und die anonymisierten Adressen aus den Originaldateien in Briefkopf und Adressen ersetzt.
Die 2 Dateien habe ich dann im gleichen Verzeichnis (E:/Vorlagen 2) gespeichert.
Ob Du es nun glaubst oder nicht:
Beim erneuten öffnen findet Calc dann nur noch Adressen 0 und 1, obwohl sich die Pfade in den Adressfeldern nicht geändert haben.
Sie lauten:
=WENN(ZÄHLENWENN('file:///E:/Vorschau 2/Adressen.ods'#$Adressen.$A$4:$A$9999;G19);SVERWEIS($G$19;'file:///E:/Vorschau 2/Adressen.ods'#$Adressen.$A$4:$E$9999;ZEILE(A2);0);"")
- und ZEILE(A3);0);""), ZEILE(A4);0);"") bzw. ZEILE(A5);0);"")
Da sowohl die Adressen.ods als auch der Briefkopf.ods direkt in E:/Vorschau 2 liegen, sollte der SVerweis doch stimmen, oder?
Den Leerschritt zwischen Vorschau und 2 habe ich jeweils berücksichtigt.
Wie kann es sein, das Calc nach dem erneuten öffnen aus dem gleichen Verzeichnis die anderen Adressen nicht meht findet?
Das widerspricht doch jeglicher Logik, oder?
Auf jeden Fall bin ich jetzt reichlich frustriert. Ich brauche mal eine Pause, damit ich das Problem mit frisch gestärkten Geduldsfaden neu angegen kann.
In den nächsten Tagen muß ich mich einfach mal um etwas anderes kümmern. Ich werde die Reparatur meines Autos in den Vordergrund stellen, um etwas Abstand zu gewinnen und andere Gedanken in den Kopf zu bekommen.
Außerdem möchte ich nicht noch mehr Deiner Zeit für mein Problem und meine laienhaften Lösungen/Fehler in Anspruch nehmen.
Ich möchte Dir für Deine Hilfe und wahnsinns Geduld danken, mir ist klar, das ich das nicht wieder gut machen kann.
Dennoch: Falls es die Forum-Regeln erlauben, gib mir bitte auf privatem Wege Deine Adresse. Deine Hilfe ist mir ein kleines Präsent wert. Auf jeden Fall.
Falls nicht: Vielen lieben Dank für Deine Hilfe, es würde mich freuen, wenn Du nochmal reinschaust, das Thema ist noch nicht abgeschlossen.
Liebe Grüße
Andi64
Antworten