Funktion "indirekt" in einer Formel
Moderator: Moderatoren
Funktion "indirekt" in einer Formel
Hallo miteinander,
kaum habe ich hier im Forum den Hinweis auf die Funktion bekommen, danke nochmal, tut sich das nächste Problem auf:
Kann ich den auch in einer Formel verwenden?
bisher sieht es so aus:
=WENN($B$3<0;"";SVERWEIS($B$3;indirekt"'file:///home/achim/"&E1&"/adressen.ods'#$daten.$A$4:$H$104";2))
in E1 steht test/projekt
als Ausgabe erscheint #Name
Es würde mir auch helfen, den Pfad aus einer Zelle holen zu können. Mein Problem ist eigentlich, das ich die entsprechenden Dateien umlagern möchte ohne jede relevante Zelle zu löschen.
schon mal Danke im voraus
Grüße
Achim
kaum habe ich hier im Forum den Hinweis auf die Funktion bekommen, danke nochmal, tut sich das nächste Problem auf:
Kann ich den auch in einer Formel verwenden?
bisher sieht es so aus:
=WENN($B$3<0;"";SVERWEIS($B$3;indirekt"'file:///home/achim/"&E1&"/adressen.ods'#$daten.$A$4:$H$104";2))
in E1 steht test/projekt
als Ausgabe erscheint #Name
Es würde mir auch helfen, den Pfad aus einer Zelle holen zu können. Mein Problem ist eigentlich, das ich die entsprechenden Dateien umlagern möchte ohne jede relevante Zelle zu löschen.
schon mal Danke im voraus
Grüße
Achim
Hallo Achim
Du möchtest in Formel mit Pfadangaben den Pfad von '..../alter/Pfad/...' in '.../neuer/Pfad/...'
umbiegen ? -
Falls ja - ich würde es mit ->Bearbeiten->Suchen und Ersetzen probieren:
Als Suchbegriff trägst du den alten Pfad ein, als Ersetzungtext den neuen Pfad.
In den Optionen 'nur in Selektion' und in 'Formeln' aktivieren, und vorher alles selektieren, worin der Pfad angepasst werden soll.
Gruß Karo
Du möchtest in Formel mit Pfadangaben den Pfad von '..../alter/Pfad/...' in '.../neuer/Pfad/...'
umbiegen ? -
Falls ja - ich würde es mit ->Bearbeiten->Suchen und Ersetzen probieren:
Als Suchbegriff trägst du den alten Pfad ein, als Ersetzungtext den neuen Pfad.
In den Optionen 'nur in Selektion' und in 'Formeln' aktivieren, und vorher alles selektieren, worin der Pfad angepasst werden soll.
Gruß Karo
jein....Karolus hat geschrieben:Hallo Achim
Du möchtest in Formel mit Pfadangaben den Pfad von '..../alter/Pfad/...' in '.../neuer/Pfad/...'
umbiegen ? -
das wäre nur die halbe Lösung. Ich würde schon gerne in der Tabelle den Pfad eingeben können, dann könnte man das Projekt auch mit mehreren Rechnern bearbeiten.Karolus hat geschrieben:Falls ja - ich würde es mit ->Bearbeiten->Suchen und Ersetzen probieren:
Als Suchbegriff trägst du den alten Pfad ein, als Ersetzungtext den neuen Pfad.
Trotzdem danke für den Tipp, ist noch nicht das Wahre, kann ich mir aber (z.Zt. noch) mit helfen.
Grüße
Achim
Hallo Achim
Ich hab noch was gefunden :
Angenommen in A2 steht:
file:///home/achim/
A3:
test/projekt
A4:
/adressen.ods
In Verbindung mit DDE kannst du beispielhaft die Zellen A2, A3 und A4 für die Zusammenstellung des Pfades benutzen. "soffice" ist fix, Die Bereichsangabe (im Bsp. "Tabelle1.A1:B10" kann bei Bedarf auch über eine Zelladdresse gesteuert werden.
Gruß Karo
Ich hab noch was gefunden :
Angenommen in A2 steht:
file:///home/achim/
A3:
test/projekt
A4:
/adressen.ods
Code: Alles auswählen
=SVERWEIS(A1;DDE("soffice";A2&A3&A4;"Tabelle1.A1:B10";0);2;0)
Gruß Karo
Re: Funktion "indirekt" in einer Formel
Sowohl mit der Funktion INDIREKT wie auch mit SVERWEIS stimmt etwas nicht in Deiner Formel. Nach INDIREKT fehlt die Klammerpappa hat geschrieben:
=WENN($B$3<0;"";SVERWEIS($B$3;indirekt"'file:///home/achim/"&E1&"/adressen.ods'#$daten.$A$4:$H$104";2))
INDIREKT(..). Außerdem muss nach der Raute eine Zelladresse kommen, bei Dir kommt aber ein Zellbereich, der vermutlich zu SVERWEIS gehören soll?
Nimm das ganze einfach mal auseinander, fang mit INDIREKT an. Wenn das stimmt, kopier die Formel und füge sie in SVERWEIS ein. Und wenn das stimmt, pack das Ganze in die WENN-Abfrage.
Bei solchen Konstrukten benutze ich immer den Funktions-Autopiloten da sieht man sofort, wo etwas nicht stimmt und kann jeden Formel-Teil schön nach seinen Parametern aufgeteilt anzeigen.
Kannst Du die Geschichte mal ausdeutschen?
Wenn B3 < 0
hol mir (mit SVERWEIS) aus der Matrix $A$4:$H$104 der aktuellen Datei den Inhalt der zweiten Spalte zu dem Wert, der
(INDIREKT) in Datei .... in Zelle ??? steht.
Ist es das?
Hallo
Die Prozedur kannst du dir sparen, das funktioniert nicht in der Kombination mit Pfad in eine andere Datei. Nimm meinen Vorschlag von heute 1:07 Uhr, und passe sie an.
Gruß Karo
@AchimNimm das ganze einfach mal auseinander, fang mit INDIREKT an. Wenn das stimmt, kopier die Formel und füge sie in SVERWEIS ein. Und wenn das stimmt, pack das Ganze in die WENN-Abfrage.
Die Prozedur kannst du dir sparen, das funktioniert nicht in der Kombination mit Pfad in eine andere Datei. Nimm meinen Vorschlag von heute 1:07 Uhr, und passe sie an.
Gruß Karo
Wieso soll das nicht funktionieren?Karolus hat geschrieben:Hallo
@AchimNimm das ganze einfach mal auseinander, fang mit INDIREKT an. Wenn das stimmt, kopier die Formel und füge sie in SVERWEIS ein. Und wenn das stimmt, pack das Ganze in die WENN-Abfrage.
Die Prozedur kannst du dir sparen, das funktioniert nicht in der Kombination mit Pfad in eine andere Datei.
In A1 der aktuellen Tabelle steht: /documents
In der Datei 1.ods (die sich im Unterverzeichnis /documents befindet), Tabelle1, steht in A1: 3
In der aktuellen Datei liefert mir:
=INDIREKT("'file:///home/ich"&A1&"/1.ods'#$Tabelle1.A1")
korrekt den Inhalt von Tabelle1.A1 aus: /home/ich/documents/1.ods (3)
in der aktuellen Datei steht in Tabelle "Daten" eine Matrix. Aus der liefert mir:
=SVERWEIS(INDIREKT("'file:///home/ich"&A1&"/1.ods'#$Tabelle1.A1");Daten.A1:B3;2;0)
passend zu der 3 den Inhalt aus der zweiten Spalte
Die WENN-Formel lasse ich jetzt mal weg, aber die funktioniert ganz sicher auch.
Hallo Eia
Gruß Karo
Weil es bei Achim andersrum aufgebaut ist. die Kriteriumszelle ist direkt im aktuellem Dokument und die SVERWEIS-tabelle ist im anderen Dokument. Ich hab letzte Nacht längere Zeit versucht das via INDIREKT anzusprechen, es ist mir nicht gelungen.Wieso soll das nicht funktionieren?
Gruß Karo
Weil es bei Achim andersrum aufgebaut ist. die Kriteriumszelle ist direkt im aktuellem Dokument und die SVERWEIS-tabelle ist im anderen Dokument. Ich hab letzte Nacht längere Zeit versucht das via INDIREKT anzusprechen, es ist mir nicht gelungen.
OK, kann sein, ich habe mir das jetzt nicht angesehen, da ich dachte das der Kern DEiner Kritik sich so darstellen ließe:
Wieso soll das nicht funktionieren?
Mutmaßlich weil Karo (so wie ich auch) der Meinung ist das ein Verfahren was nur zeitweilig funktioniert, kein Verfahren ist was insgesamt das Attribut "funktioniert" verdient.
Was ist denn das Ziel, der Pfad soll variabel sein, sich anpassen lassen, i.S. eines "funktioniert" also beliebig oft. Nun, und das geht meines Erachtens nicht. Bei jeder Pfadänderung wird bei der geschilderen Art des Vorgegens zwangsweise ein neues Tabellenblatt erzeugt. Hast Du also den Pfad 255 Mal geändert ist spätestens dann Schluss weil Calc nicht mehr Tabellenblätter haben kann. (ich weiß nicht wie Calc dann reagiert, teste es und poste das Ergebnis, interessant zu wissen wäre es allemal)
Oder glaubtest Du das die Ausdrücke in der Klammer von INDIREKT() bei Verwendung von file, vollständig dynamische Pfade sind - nein das sind Namen von Tabellenblättern (siehe: Format-Tabelle-Einblenden).
Wenn Dir das reicht ist es ja OK und wenn es Dich nicht stört das sich nutzlose Tabellenblätter anhäufen ist es auch OK.
Gruß
Stepha
Hallo
Gruß Karo
Nein, ich hab nur keine funktionierende Syntax gefunden die ein INDIREKT(<Pfad_zu_Bereich_in_anderer_Datei>) innerhalb von SVERWEIS erlaubt.Mutmaßlich weil Karo (so wie ich auch) der Meinung ist das ein Verfahren was nur zeitweilig funktioniert, kein Verfahren ist was insgesamt das Attribut "funktioniert" verdient.
Diese Folgeproblem besteht leider auch bei meinem Vorschlag mittels DDE.Oder glaubtest Du das die Ausdrücke in der Klammer von INDIREKT() bei Verwendung von file, vollständig dynamische Pfade sind - nein das sind Namen von Tabellenblättern (siehe: Format-Tabelle-Einblenden).
Wenn Dir das reicht ist es ja OK und wenn es Dich nicht stört das sich nutzlose Tabellenblätter anhäufen ist es auch OK.
Gruß Karo
Nein, denn es wäre mir gänzlich neu das eine DDE-Verknüpfung automatisch Hilfsabellen anlegt, oder diese auch nur benötigt.Diese Folgeproblem besteht leider auch bei meinem Vorschlag mittels DDE.
Ich habe jedoch zur Sicherheit:
=SVERWEIS(A1;DDE("soffice";A2&A3&A4;"Tabelle1.A1:B10";0);2;0)
nachgestellt, und wie erwartet werden dabei keine weiteren Tabellen angelegt.
Gruß
Stephan
Re: Funktion "indirekt" in einer Formel
Irgendwie ist das ganz schön schwierig ....Eia hat geschrieben: Kannst Du die Geschichte mal ausdeutschen?

Also mein Versuch:
ich möchte Daten aus bestimmten Zellen, verschiedener Dateien in eine Dokumentvorlage holen. (indirekt)
Außerdem möchte ich den Pfad auch in einer Zelle der Dokumentvorlage (variabel) stehen haben (damit ich z.B. auch mit mehreren Rechnern daran arbeiten kann)
Solange ich nur einen Wert holen möchte klappt "indirekt" ganz prima, nicht mehr klappen tut's wenn ich z.B, einen Sverweis auf einen Bereich machen möchte.
Hoffe das das nun verständlich ist
Danke für eure bisherigen Mühen
Grüße
Achim