Hallo liebe Gemeinde.
Ich stehe vor einem mittelgroßen Problem.
Ich will mittels DBAUSZUG die Tabelle „FEIER.“ abfragen, das funzt sehr Gut.
Jedoch meldet DBAUSZUG im Fehlerfall #WERT!, was ich aber nicht gebrauchen kann.
Also mit WENN und ISTFEHLER den Fehler abfragen, funzt ja auch.
Nur ist jetzt mein Problem, wenn #WERT! nicht Zurückgegeben wird, ich aber die Tabelle
„FEIER .“ trotzdem auswerten muss. Also nochmal DBAUSZUG anwenden.
Konkret:
Formel steht in A22
=WENN(ISTFEHLER(DBAUSZUG($FEIER.$A$1:$B$707;$FEIER.$A$1;A20:A21));
" ";DBAUSZUG($FEIER.$A$1:$B$707;$FEIER.$A$1;A20:A21))
Die Formel ist in einem Kalender statisch plaziert. Sie fragt ein Datum ab, um mit dem Ergebniss die Zelle auszufüllen.
Meine Frage dazu:
Muss ich das so machen, oder kann man das ganze auch kürzen?
Bitte keine Makro vorschläge.
Falls nicht verständlich genug, so bitte ich um entschuldigung. Man schaue auf die Uhr.
Gute Nacht Grüße
balu
WENN mit DBAUSZUG kombinieren
Moderator: Moderatoren
WENN mit DBAUSZUG kombinieren
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
wehr rächtschraipfähler findet khan si behalden

Re: WENN mit DBAUSZUG kombinieren
Es gibt vermutlich noch andere Formeln, mit denen Du zum Ziel kämst, aber das Prinzip ist immer das gleiche:
zuerst musst Du die Formel anwenden um herauszufinden, ob ein Fehlercode generiert wird und davon abhängig dann die weiteren Schritte festlegen. Dass einer der nächsten Schritte die Anwendung genau diejenigen Formel ist, die Du auch für die Prüfung benötigst, ist ja nur eine mögliche Folge. Es könnte durchaus sein, dass Du sowas möchtest:
=WENN(ISTFEHLER(DBAUSZUG($FEIER.$A$1:$B$707;$FEIER.$A$1;A20:A21));"Fehler";"Treffer")
Die erste und die zweite Formel sind also nur durch die konkreten Anwendungslogik Deiner Formel identisch, das muss aber nicht so sein, daher muss man Calc das "nochmal sagen".
Du könntest einen Teil der Formel in einem Namen speichern (Einfügen/Namen), dann könnte die Formel so aussehen:
=WENN(ISTFEHLER(Test;"";Test)
Der Teil
DBAUSZUG($FEIER.$A$1:$B$707;$FEIER.$A$1;A20:A21))
ist in dem Fall im Namen 'Test' gespeichert.
Aber das macht ja auch nur Sinn, wenn man die gleiche Formel öfter im Dokument braucht. Ausserdem muss man die Verwendung von absoluten+relativen Adressen bei dieser Art der Anwendung genau planen.
mfG
zuerst musst Du die Formel anwenden um herauszufinden, ob ein Fehlercode generiert wird und davon abhängig dann die weiteren Schritte festlegen. Dass einer der nächsten Schritte die Anwendung genau diejenigen Formel ist, die Du auch für die Prüfung benötigst, ist ja nur eine mögliche Folge. Es könnte durchaus sein, dass Du sowas möchtest:
=WENN(ISTFEHLER(DBAUSZUG($FEIER.$A$1:$B$707;$FEIER.$A$1;A20:A21));"Fehler";"Treffer")
Die erste und die zweite Formel sind also nur durch die konkreten Anwendungslogik Deiner Formel identisch, das muss aber nicht so sein, daher muss man Calc das "nochmal sagen".
Du könntest einen Teil der Formel in einem Namen speichern (Einfügen/Namen), dann könnte die Formel so aussehen:
=WENN(ISTFEHLER(Test;"";Test)
Der Teil
DBAUSZUG($FEIER.$A$1:$B$707;$FEIER.$A$1;A20:A21))
ist in dem Fall im Namen 'Test' gespeichert.
Aber das macht ja auch nur Sinn, wenn man die gleiche Formel öfter im Dokument braucht. Ausserdem muss man die Verwendung von absoluten+relativen Adressen bei dieser Art der Anwendung genau planen.
mfG
Re: WENN mit DBAUSZUG kombinieren
Ja Holla-die-Waldfee
Also mit zwei Sachen hatte ich jetzt aber gar nicht gerechnet.
1.Die Schnelligkeit mit der ich eine Antwort bekommen habe
2.Der geniale Tipp mit Einfügen/Namen.

Denn die setze ich in meinem Kalender ein um mir die Mondphasen unter dem Datum anzeigen zu lassen.
So, jetzt werde ich erstmal in ruhe den Tipp ausprobieren und mich Später wieder melden.
Vielen Dank Eia.
Gruß
Balu

Also mit zwei Sachen hatte ich jetzt aber gar nicht gerechnet.
1.Die Schnelligkeit mit der ich eine Antwort bekommen habe
2.Der geniale Tipp mit Einfügen/Namen.



Oh, ja! Die brauch ich nicht nur einmal, sondern viele-viele mal.Aber das macht ja auch nur Sinn, wenn man die gleiche Formel öfter im Dokument braucht.
Denn die setze ich in meinem Kalender ein um mir die Mondphasen unter dem Datum anzeigen zu lassen.
So, jetzt werde ich erstmal in ruhe den Tipp ausprobieren und mich Später wieder melden.
Vielen Dank Eia.
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
wehr rächtschraipfähler findet khan si behalden

Re: WENN mit DBAUSZUG kombinieren
Achtung:balu hat geschrieben: 2.Der geniale Tipp mit Einfügen/Namen.![]()
![]()
Oh, ja! Die brauch ich nicht nur einmal, sondern viele-viele mal.Aber das macht ja auch nur Sinn, wenn man die gleiche Formel öfter im Dokument braucht.
Denn die setze ich in meinem Kalender ein um mir die Mondphasen unter dem Datum anzeigen zu lassen.
So, jetzt werde ich erstmal in ruhe den Tipp ausprobieren und mich Später wieder melden.
In einem Namen funktioniert eine Formel wie eine Konstante. D.h. beim "Ziehen" werden relative Adressen nicht angepasst, es sind also quasi alle Adressen immer absolut.
Um das in den Griff zu kriegen, kann man mit den Funktionen INDIREKT und ADRESSE arbeiten, Beipiel:
Ich verweise in einer Formel in B1 auf A1:
=A1+5
Ich weiss also, dass die Zelle, auf die ich mich beziehe, in der gleichen Zeile steht, aber um 1 nach links verschoben.
Meine Formel lässt sich also auch so darstellen:
=INDIREKT(ADRESSE(ZEILE();SPALTE()-1))+5
Man kann sich nun also zuerst Namen anlegen für bestimmte Zellbezüge, z.B.:
Name Links1: INDIREKT(ADRESSE(ZEILE();SPALTE()-1))
und dann erst:
Name Test: DBAUSZUG($FEIER.$A$1:$B$707;Links1;A20:A21))
Auch für Bereichsadressen wie $FEIER.$A$1:$B$707 kann man gut Namen benutzen oder ihnen über Daten/Bereich Festlegen einen Namen vergeben und diesen in Formeln benutzen. Das hat noch einen weiteren Vorteil: Wenn der Bereich geändert werden muss, muss man das nur an einer einzigen Stelle tun und alle Formeln, die damit arbeiten, sind automatisch aktualisert.
mfG
Re: WENN mit DBAUSZUG kombinieren
Hallo
Gruß Karo
Das stimmt so nicht, auch in einem benamten Bereich kann man die Addressierung ganz oder teilweise auf 'relativ' einstellen, es wird nur standard-mässig zunächtst eine absolute Addresse eingetragen. (was ja auch meist bei benamten Bereichen mehr Sinn macht)Eia hat geschrieben: Achtung:
In einem Namen funktioniert eine Formel wie eine Konstante. D.h. beim "Ziehen" werden relative Adressen nicht angepasst, es sind also quasi alle Adressen immer absolut.
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: WENN mit DBAUSZUG kombinieren
Stimmt, hast recht. Ich hab das verwechselt. Allerdings geht es nicht um benannte Bereiche, sondern um Formeln, die mit Namen gespeichert werden.Karolus hat geschrieben:Hallo
Das stimmt so nicht, auch in einem benamten Bereich kann man die Addressierung ganz oder teilweise auf 'relativ' einstellen, es wird nur standard-mässig zunächtst eine absolute Addresse eingetragen. (was ja auch meist bei benamten Bereichen mehr Sinn macht)Eia hat geschrieben: Achtung:
In einem Namen funktioniert eine Formel wie eine Konstante. D.h. beim "Ziehen" werden relative Adressen nicht angepasst, es sind also quasi alle Adressen immer absolut.
Gruß Karo
Das tatsächliche Problem, das dabei im Zusammenhang mit relativen/absoluten adressen auftaucht, ist ein anderes als das von mir geschilderte:
Wenn Du irgendwo in einer Zelle, sagen wir in B1, schreibst:
=$A$1*5
und Du schneidest A1 dann aus und fügst es z.B. bei D10 wieder ein, dann wird die Formel in B1 automatisch abgeändert auf =$D$10*5
Hinterlegst Du das aber in einem Namen:
MeineFormel: =$A$1*5,
schreibst in Zelle B1 dann =MeineFormel
und schneidest danach A1 aus und fügst es irgendwo anders ein, dann merkt MeineFormel das nicht und zeigt nach wie vor auf $A$1.
Und anders als in "direkten" Formeln, siehst Du den Formelinhalt nicht in der Eingabezeile, merkst also dadurch nicht, dass in der Formel evtl. eine falsche Adresse steht.
Ich würde daher empfehlen, mit kleinen Teilformeln zu arbeiten, die sich leicht überprüfen lassen.
mfG
Re: WENN mit DBAUSZUG kombinieren
Hai Leute.
@Karo
Aber dennoch ein danke schön an dich.
@Eia und @all
Ich hatte etwas länger gebraucht um zu verstehen wie ich in DBAUSZUG die drei Bereiche durch Namen ersetzen konnte.
Datenbank = null problemo
Datenbankfeld = null problemo
Suchkriterien = #+#$%§*`&
(zensiert von mir)
Da wollte ich doch tatsächlich z.B. den Zellen A1 und A2 separat einen Namen zuordnen.
Beispiel:
Name: TestÖ
Zugeordnet zu: DBAUSZUG(Bank1;Feld1;Zäll1e:Zälle2)
Als ich das so eingeben wollte, wurde ich andauernd angemeckert,
das dies ein UNGÜLTIGER AUSDRUCK sei!!!
Häh, wie bitte!? Nix verstahn!
Bis es mir dann auf einmal wie Schuppen von den Augen fiel.
Neuer Name: CELLE
Zugeordnet zu: A1:A2
Ergebnis: TestÖ = DBAUSZUG(Bank1;Feld1;CELLE)
Und siehe da, schon funzt es.
Jetzt muss ich noch ein paar kleinere Käfer
beseitigen, und dann geht es zum nächsten
Problem. Das ist aber mehr nur rein Optischer Natur. Denn technisch gesehen hab ich es endlich geschaft.
Nochmal Dake schön ich sag.
Gruß
balu
@Karo
Als du das geschrieben hast, war ich schon am experimentieren und hatte das auch schon festgestellt.Das stimmt so nicht, auch in einem benamten Bereich kann man die Addressierung ganz oder teilweise auf 'relativ' einstellen, es wird nur standard-mässig zunächtst eine absolute Addresse eingetragen.
Aber dennoch ein danke schön an dich.

@Eia und @all
Ich hatte etwas länger gebraucht um zu verstehen wie ich in DBAUSZUG die drei Bereiche durch Namen ersetzen konnte.
Datenbank = null problemo
Datenbankfeld = null problemo
Suchkriterien = #+#$%§*`&



Da wollte ich doch tatsächlich z.B. den Zellen A1 und A2 separat einen Namen zuordnen.
Beispiel:
Name: TestÖ
Zugeordnet zu: DBAUSZUG(Bank1;Feld1;Zäll1e:Zälle2)
Als ich das so eingeben wollte, wurde ich andauernd angemeckert,
das dies ein UNGÜLTIGER AUSDRUCK sei!!!


Häh, wie bitte!? Nix verstahn!
Bis es mir dann auf einmal wie Schuppen von den Augen fiel.


Neuer Name: CELLE
Zugeordnet zu: A1:A2
Ergebnis: TestÖ = DBAUSZUG(Bank1;Feld1;CELLE)
Und siehe da, schon funzt es.
Jetzt muss ich noch ein paar kleinere Käfer

Problem. Das ist aber mehr nur rein Optischer Natur. Denn technisch gesehen hab ich es endlich geschaft.
Nochmal Dake schön ich sag.
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
wehr rächtschraipfähler findet khan si behalden
