Anfrage zu Calc

Hallo
ich habe eine Anfrage zu Calc
Anfrage zu Calc:
Auswahl mit der Formel „=WENN((B10>0)UND(B10<10);$I$10; Sonstwert *)“
Auswahl „=WENN((B10>=10)UND(B10<20);$I$11; Sonstwert *)“
Auswahl „=WENN((B10>=20)UND(B10<30);$I$12; Sonstwert *)“
Auswahl „=WENN((B10>=20)UND(B10=<40);$I$13; Sonstwert *)“
* ohne die Angabe eines Sonstwertes.
und die selbe WENN -Formel für die Zellen B11, B12 und B13
liefert bei Werten der Spalte B und den Dann Werten der Splate I:
B10:(25) $I$10 (nb)
B11 (35) $I$11 (Gut)
B12(15) $I$12 (Sehr gut)
B13 (5) $I$13 (Vorzüglich)
folgendes Ergebnis:

falsch falsch falsch Sehr gut
falsch falsch vorzüglich falsch
falsch Gut falsch falsch
nb falsch falsch falsch
Ich möchte nun, dass die entsprechenden Werte „nb“ „Gut“ „Sehr gut“ „Vorzüglich“ in der
Spalte C 10, C11, C12 und C13 stehen.
Wie mache ich das
Gruß Detlef

Hallo Detlef

Hallo
ich habe eine Anfrage zu Calc
Anfrage zu Calc:
Auswahl mit der Formel „=WENN((B10>0)UND(B10<10);$I$10; Sonstwert *)“
Auswahl „=WENN((B10>=10)UND(B10<20);$I$11; Sonstwert *)“
Auswahl „=WENN((B10>=20)UND(B10<30);$I$12; Sonstwert *)“
Auswahl „=WENN((B10>=20)UND(B10=<40);$I$13; Sonstwert *)“
* ohne die Angabe eines Sonstwertes.
und die selbe WENN -Formel für die Zellen B11, B12 und B13
liefert bei Werten der Spalte B und den Dann Werten der Splate I:
B10:(25) $I$10 (nb)
B11 (35) $I$11 (Gut)
B12(15) $I$12 (Sehr gut)
B13 (5) $I$13 (Vorzüglich)
folgendes Ergebnis:

falsch falsch falsch Sehr gut
falsch falsch vorzüglich falsch
falsch Gut falsch falsch
nb falsch falsch falsch
Ich möchte nun, dass die entsprechenden Werte „nb“ „Gut“ „Sehr gut“ „Vorzüglich“ in der
Spalte C 10, C11, C12 und C13 stehen.
Wie mache ich das
Gruß Detlef

Deine Formeln sind einfach falsch.
Wenn als Sonstwert nichts angegeben werden soll, dann musst du einen Leeren String("") setzen.
Und die "UND"-Formel geht anders: =UND(Bedingung 1; Bedingung2)
Deine erste Formel „=WENN((B10>0)UND(B10<10);$I$10; Sonstwert *)“ müsste also so aussehen:

=WENN(UND(B10>0;B10<10);$I$10;"")

Denn Rest kannst du selber korrigiere.

Gruß Frieder

Hallo Detlef

Hallo
ich habe eine Anfrage zu Calc
Anfrage zu Calc:
Auswahl mit der Formel „=WENN((B10>0)UND(B10<10);$I$10; Sonstwert *)“
Auswahl „=WENN((B10>=10)UND(B10<20);$I$11; Sonstwert *)“
Auswahl „=WENN((B10>=20)UND(B10<30);$I$12; Sonstwert *)“
Auswahl „=WENN((B10>=20)UND(B10=<40);$I$13; Sonstwert *)“
* ohne die Angabe eines Sonstwertes.
und die selbe WENN -Formel für die Zellen B11, B12 und B13
liefert bei Werten der Spalte B und den Dann Werten der Splate I:
B10:(25) $I$10 (nb)
B11 (35) $I$11 (Gut)
B12(15) $I$12 (Sehr gut)
B13 (5) $I$13 (Vorzüglich)
folgendes Ergebnis:

falsch falsch falsch Sehr gut
falsch falsch vorzüglich falsch
falsch Gut falsch falsch
nb falsch falsch falsch
Ich möchte nun, dass die entsprechenden Werte „nb“ „Gut“ „Sehr gut“ „Vorzüglich“ in der
Spalte C 10, C11, C12 und C13 stehen.
Wie mache ich das
Gruß Detlef

Ich habe deine anfrage erst nicht richtig verstanden,
da deine Erklärung nicht sehr verständlich ist.

Nach mehrmaligem lesen deines Beschreibung bin ich zu dem Schluss gekommen,
dass du eine verschachtelte "WENN"- Funktion brauchst.

Dh. In den "Sonst"-Wert der ersten WENN-Funktion, schreibst du die nächste "WENN"-funktion,
und in den "Sonst"-Wert der zweiten WENN-Funktion, schreibst du wieder "WENN"-funktion.
Dann sieht die Formel so aus:

=WENN(UND(40>=B10;B10>30);"nb";WENN(UND(30>=B10;B10>20);"Gut";WENN(UND(20>=B10;B10>10);"Sehr gut";WENN(UND(10>=B10;B10>0);"Vorzüglich";""))))

Diese Formel kannst du einfach in Zelle C10 einfügen und nach unten ziehen.
so müsstest du das gewünschte Ergebnis bekommen.

Gruß Frieder

Vielen Dank, Friedet,
für Deine Hilfe.
Das war die Lösung!
Ich habe das mit der Verschachtelung und der Syntax nicht alleine hin bekommen.
Gruß
Detlef

Hallo
ich habe eine Anfrage zu Calc
Anfrage zu Calc:
Auswahl mit der Formel „=WENN((B10>0)UND(B10<10);$I$10; Sonstwert *)“
Auswahl „=WENN((B10>=10)UND(B10<20);$I$11; Sonstwert *)“
Auswahl „=WENN((B10>=20)UND(B10<30);$I$12; Sonstwert *)“
Auswahl „=WENN((B10>=20)UND(B10=<40);$I$13; Sonstwert *)“

Hmm; der Wert 25 matcht auf die Bedingung der vorletzten *und* der
letzte Fallunterscheidung; ich vermute mal, in der letzten Bedinugng
soll das 'B10>=30' heißen, oder?

* ohne die Angabe eines Sonstwertes.
und die selbe WENN -Formel für die Zellen B11, B12 und B13
liefert bei Werten der Spalte B und den Dann Werten der Splate I:
B10:(25) $I$10 (nb)
B11 (35) $I$11 (Gut)
B12(15) $I$12 (Sehr gut)
B13 (5) $I$13 (Vorzüglich)
folgendes Ergebnis:

falsch falsch falsch Sehr gut
falsch falsch vorzüglich falsch
falsch Gut falsch falsch
nb falsch falsch falsch
Ich möchte nun, dass die entsprechenden Werte „nb“ „Gut“ „Sehr gut“ „Vorzüglich“ in der
Spalte C 10, C11, C12 und C13 stehen.
Wie mache ich das
Gruß Detlef

Ich habe deine anfrage erst nicht richtig verstanden,
da deine Erklärung nicht sehr verständlich ist.

Nach mehrmaligem lesen deines Beschreibung bin ich zu dem Schluss gekommen,
dass du eine verschachtelte "WENN"- Funktion brauchst.

Dh. In den "Sonst"-Wert der ersten WENN-Funktion, schreibst du die
nächste "WENN"-funktion,
und in den "Sonst"-Wert der zweiten WENN-Funktion, schreibst du wieder
"WENN"-funktion.
Dann sieht die Formel so aus:

=WENN(UND(40>=B10;B10>30);"nb";WENN(UND(30>=B10;B10>20);"Gut";WENN(UND(20>=B10;B10>10);"Sehr
gut";WENN(UND(10>=B10;B10>0);"Vorzüglich";""))))

Bei einer Verschachtelung braucht es überhaupt keine UND mehr, da die
eine der beiden Bedingungen ja immer schon durch das vorherige WENN
abgefragt wurde; lediglich das allererste UND muss man in zwei
verschachtelte WENNs auflösen:

=WENN(B10>0;WENN(B10<10;"Vorzüglich";WENN(B10<20;"Sehr

gut";WENN(B10<30;"Gut";WENN(B10=<40;"nb";""))));"")

oder (verständlicher):

=WENN(B10<=0;"";WENN(B10<10;"Vorzüglich";WENN(B10<20;"Sehr

gut";WENN(B10<30;"Gut";WENN(B10=<40;"nb";"")))))

Wolfgang

Hallo Detlef

...

Ich möchte nun, dass die entsprechenden Werte „nb“ „Gut“ „Sehr gut“ „Vorzüglich“ in der
Spalte C 10, C11, C12 und C13 stehen.
Wie mache ich das

Sowas macht man nicht mit WENN -verschachtelungen, trage in H10:H13 die Grenzwerte in aufsteigender Reihenfolge ein: 0 ; 10 ; 20 ; 30
und nimm in C10:
=SVERWEIS(B10;$H$10:$I$13;2)

oder ohne Einträge in H:
=INDEX($I$10:$I$13;VERGLEICH(B10;{0;10;20;30}))

Damit in Spalte B nur Werte zwischen 0 und 40 eingetragen werden können, benutzt man →Daten→Gültigkeit..

Gruß Werner

Hallo Werner,
vielen Dank für Deine Hinweise zur Lösung meiner Aufgabe. Ich bin dankbar und habe ein Glücksgefühl, wenn ich die einfachen und eleganten Formeln sehe, die auch ohne viel Aufwand durch einfache Einträge variiert werden können.

Aber auch die lange Formel der Wenn-Verschachtelungen, die Frieder angesagt hatte, funktionierte auch und brachte mir eine Lösung.

Ich bin Euch dankbar
Gruß
Detlef

iMac mit OS X 7.4
Libreoffice 3.5.3.2
Betrifft: Probleme mit BASE bei der Verbindung zu der externen Datenbank Mac OS X Adressbuch

Hallo

Ich habe eine Base Datenbank mit einem Zugriff zum Mac OS X Adressbuch erzeugt. Die Verbindung wurde hergestellt und die Tabelle hat alle Daten übernommen, auch das Datum der eingetragenen Geburtstage. Bei Tabelle bearbeiten konnte ich erkennen, dass Geburtstag ein Datum als Datum/ Zeit [Timestamp] - Feld ist

Danach habe ich eine Abfrage mit dem Abfrageassistenten erzeugt. Es wurden die ausgewählten Felder abgebildet. Nur das Feld Geburtstag nicht.. In der Abfrage wird es als Text-Feld mit @ formatiert und listet keine Geburtstags-Daten.

Ist dieser Fehler bekannt oder unbekannt. Oder wie lässt sich da etwas ändern?
Gruß
Detlef

Hallo Detlef,

Ich habe eine Base Datenbank mit einem Zugriff zum Mac OS X Adressbuch erzeugt. Die Verbindung wurde hergestellt und die Tabelle hat alle Daten übernommen, auch das Datum der eingetragenen Geburtstage. Bei Tabelle bearbeiten konnte ich erkennen, dass Geburtstag ein Datum als Datum/ Zeit [Timestamp] - Feld ist

Danach habe ich eine Abfrage mit dem Abfrageassistenten erzeugt. Es wurden die ausgewählten Felder abgebildet. Nur das Feld Geburtstag nicht.. In der Abfrage wird es als Text-Feld mit @ formatiert und listet keine Geburtstags-Daten.

Wie sieht es aus, wenn Du die Tabelle in der Tabellenansicht direkt
betrachtest? Erscheinen die Geburtstage?

Ich habe in der Zeit, in der ich mit Base arbeite, nur einmal mit dem
Assistenten zur Erstellung einer Abfrage gearbeitet - bei der Erstellung
des Handbuchteils "Erste Schritte - Base". Allerdings wird dort genau so
eine Abfrage erstellt wie per Hand. Das Format kannst Du durch Druck auf
die Spaltenköpfe im Nachhinein ändern.

Gruß

Robert

Hallo Robert,
ja wenn ich die Tabelle direkt betrachte erscheinen die Geburtstags-Daten und ich kann formatieren. (Also das Datum in verschiedenen Formen tag Monat Jahr usw.)
In der Abfrage lässt sich die Formatierung nicht ändern. Da steht text und @

Gruß
Detlef

Hallo Detlef,

ja wenn ich die Tabelle direkt betrachte erscheinen die Geburtstags-Daten und ich kann formatieren. (Also das Datum in verschiedenen Formen tag Monat Jahr usw.)
In der Abfrage lässt sich die Formatierung nicht ändern. Da steht text und @

Kannst Du einmal die Abfrage hier posten (Bearbeiten - SQL-Modus ...).
Ich habe keinen Mac und kann das deswegen nicht nachvollziehen.

Gruß

Robert

Hallo Robert,
zuvor vielen Dank für Deine Mühe.

Hier die SQL-Abfrage

SELECT "Vorname" AS "Vorname", "Nachname" AS "Nachname", "Adresse: Privat: Straße" AS "Adresse: Privat: Straße", "Adresse: Privat: Stadt" AS "Adresse: Privat: Stadt", "Adresse: Privat: PLZ" AS "Adresse: Privat: PLZ", "Telefon: Privat" AS "Telefon: Privat", "Geburtstag" AS "Geburtstag" FROM "Nachbarn"

Gruß
Detlef

Hallo Detlef,

Hier die SQL-Abfrage

SELECT "Vorname" AS "Vorname", "Nachname" AS "Nachname", "Adresse: Privat: Straße" AS "Adresse: Privat: Straße", "Adresse: Privat: Stadt" AS "Adresse: Privat: Stadt", "Adresse: Privat: PLZ" AS "Adresse: Privat: PLZ", "Telefon: Privat" AS "Telefon: Privat", "Geburtstag" AS "Geburtstag" FROM "Nachbarn"

Sieht völlig unverdächtig aus.
Da Du das nicht über die GUI geregelt bekommst probiere einmal den
folgenden Weg:
statt "Geburtstag" AS "Geburtstag"
CONVERT("Geburtstag",DATE)
oder
CAST("Geburtstag" AS DATE)

Ich kann das jetzt nur ins Blaue raten, da ich hier nur ein
Thunderbird-Adressbuch einmal testweise eingelesen habe und da Jahr,
Monat und Tag getrennt voneinander gehändelt werden.

Gruß

Robert

Hallo Robert,
vielen Dank für Deine Tipps. Eine Änderung der SQL-Abfrage brachte nur Fehler-Meldungen,
das Feld der Tabelle ist ein Datumfeld, siehe Abbildungen.

Siehe angezeigter Feldtyp der Tabelle

die Abfrage behandelt dieses Feld aber wie ein Text-Feld und zeigt nichts an.

Kopiere ich die Abfrage in eine Calc-Tabelle, dann kann ich das wieder als Datums-Feld formatieren und erhalte eine richtige Anzeige.

Meiner Meinung nach ist das ein Fehler von Base in LO. Übrigens auch die Version 3.5.4.2 brachte keine Änderung.

Wie soll ich weiter verfahren lohnt es sich da einen Bug zu melden?

Viele Grüße
Detlef

Hallo Robert,
ich habe ein Paar Bilder in die letzte Mail eingebunden. Kannst du die Bilder sehen oder werden sie im User-Forum nicht übermittelt.
Gruß
Detlef

Hallo Detlef,

ich habe ein Paar Bilder in die letzte Mail eingebunden. Kannst du die Bilder sehen oder werden sie im User-Forum nicht übermittelt.

Bilder werden hier rausgeschnitten.
Die Funktionen, die ich Dir aufgeschrieben habe, sind die, die HSQLDB
dazu benutzt, das Format eines Feldes zu ändern. Ich wollte erreichen,
dass aus dem angeblichen Text auf jeden Fall ein Datum wird.

Du solltest auf jeden Fall einen Bugreport aufgeben. Dabei muss klar
ersichtlich sein, was Du wie gemacht hast.

Ich habe von dem Problem hier zum ersten Mal gelesen. Auch in den
Base-Foren ist davon keine Rede. Es scheint noch niemand darauf gestoßen
zu sein. Wenn ich die Tabellen meines Thunderbird sehe, so wird da aus
allen Feldern nur VARCHAR gemacht. Ist die sicherste Methode, den Inhalt
darzustellen.

Gruß

Robert

Hallo Robert,
bin gerade dabei mit der Datenbank "Macadressbook" zu spielen. Wenn ich die eingebundene Tabelle nach Calc exportiere und danach wieder extern mit Base verbinde. Und danach diese Adresstabelle in eine leere Datenbank kopiere, einen Index erzeuge und dann eine Abfrage starte.
Mit SQL:
SELECT "Vorname" AS "Vorname", "Nachname" AS "Nachname", "Geburtstag" AS "Geburtstag", "Adresse: Privat: PLZ", "Adresse: Privat: Stadt", "Adresse: Privat: Straße", "Telefon: Privat", "IDmacadress" FROM "Tabelle1" WHERE "Geburtstag" IS NOT NULL ORDER BY SUBSTRING ( "Geburtstag", 6, 2 ) ASC, SUBSTRING ( "Geburtstag", 9, 2 ) ASC

Dann habe ich die gewünschte Geburtstagsliste sortier nach Monat und Tag.

Nun es wäre schöne, wenn dieser Umweg nicht notwendig wäre und sich diese Liste auch mit der eingebundenen externen Datenbank erzeugen ließe. Nun dafür möchte ich gerne einen Bug-Report schreiben. Kannst du mir dabei helfen? Kann ich das in deutscher Sprache tun und an wen schreibe ich den Report?

Viele Grüße
Detlef

Hallo Detlef,

Nun es wäre schöne, wenn dieser Umweg nicht notwendig wäre und sich diese Liste auch mit der eingebundenen externen Datenbank erzeugen ließe. Nun dafür möchte ich gerne einen Bug-Report schreiben. Kannst du mir dabei helfen? Kann ich das in deutscher Sprache tun und an wen schreibe ich den Report?

Ich habe einmal den Bug-Report geschrieben. Vielleicht kannst Du das
noch ergänzen durch Screenshots (Table edit - Date-Time-Value; Query -
Text, no birthday is shown). Dann ist vielleicht allen klar, worum es
geht. Das Ganze geht leider nur in Englisch. Auch musst Du Dich zum
Verfassen einer Bugmeldung anmelden. Falls Du damit nicht zurcecht
kommst schicke die Abbildungen einfach an meine private Mailadresse. Ich
packe sie dann an den Bugreport dran.
Hier der Link zum Bug-Report:
https://bugs.freedesktop.org/show_bug.cgi?id=50626

Gruß

Robert