Wenn-Funktion liefert nicht das gewünschte Ergebnis

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

meiner
*
Beiträge: 19
Registriert: Sa, 22.01.2005 19:12

Wenn-Funktion liefert nicht das gewünschte Ergebnis

Beitrag von meiner »

Die folgende Formel soll auf einem zweiten Tabellenblatt in einer Anzahl an Zellen nachsehen, ob der Wert einer bestimmten Zelle darin vorkommt und dann den Text neben dem Wert auf der zweiten Tabelle hier anzeigen.

Konkret: Ich habe einen Kalender. Auf der ersten Seite habe ich einen Kalender. Auf der zweiten Seite sind die Feiertage. Nun soll über die WENN-Funktion ermittelt werden, ob der Tag in der Liste der Feiertage ist, und dann soll der Name des Feiertags angezeigt werden. Andernfalls gar nichts

=WENN(SVERWEIS(A2;Sheet2.B3:Sheet2.C15;1);SVERWEIS(A2;Sheet2.B3:Sheet2.C15;2);"")

Die "Fehlfunktion" liegt nun darin, das es beispielsweise am 01.01. mit Neujahr funktioniert. Am 02.01. wird aber auch Neujahr angezeigt, was aber natürlich nicht richtig ist.

Was kann ich tun? Wie geht es richtig?
meiner
*
Beiträge: 19
Registriert: Sa, 22.01.2005 19:12

Beitrag von meiner »

Wau! Das ist es! Danke! :D

Gibt es eigentlich auch ein Möglichkeit, die aktuelle Zelle zu bestimmen? Bzw. die Nebenzelle?
meiner
*
Beiträge: 19
Registriert: Sa, 22.01.2005 19:12

Beitrag von meiner »

Wau! Das ist es! Danke! :D )

Gibt es eigentlich auch ein Möglichkeit, die aktuelle Zelle zu bestimmen? Bzw. die Nebenzelle?

Dann brauche ich nicht in jeder Zelle die absoluten Daten ( oben beispielsweise A1) reinzuschreiben. Und den Bereich auf Sheet2 würde ich eigenlich auch gerne per Name referenzieren.
meiner
*
Beiträge: 19
Registriert: Sa, 22.01.2005 19:12

Beitrag von meiner »

Langsam wirds was! Super :D

Die Formel ist zwar jetzt monstermäßig und immer noch "unvollständig":

=WENN(ISTNV(SVERWEIS(INDIREKT(ADRESSE(ZEILE();SPALTE()/2;4);Sheet2.B3:C15;1;0)));"";SVERWEIS(INDIREKT(ADRESSE(ZEILE();SPALTE()/2;4));Sheet2.B3:C15;2;0))

Trotzdem schon klasse.

Nur das Problem mit dem Bereichsnamen klappt noch nicht. Ich habe einen Bereich auf Sheet2 als "Feiertage" benannt. Setzte ich aber in o.a. Formel Feiertage statt Sheet2.B3:C15 ein, bekomme ich #NAME?. Irgendwo scheint da nach ein kleines Problem zu sein. Weißt Du, welches?
meiner
*
Beiträge: 19
Registriert: Sa, 22.01.2005 19:12

Beitrag von meiner »

OK. Einmal ganz ausführlich.

Ich habe einen Kalender mit 2 Spalten je Monat. 1.Spalte ist das Datum mit Format tt. die 2. Spalte ist Frei für Eintragungen bzw. für die Namen der Feiertage (lt. Einfügen-Name-Festlegen $Sheet2.$B$3:$C$15). Die Feiertage selber sind im Bereich B3:C15 wobei in Spalte B die Daten sind und in Spalte C die Namen (Neujahr, Ostermontag, Karfreitag und so).

Jetzt möchte ich in jeder 2. Spalte den Feiertagsnamen haben. Dazu hole ich mir die aktuelle Spalte und teile sie durch 2 und hole die aktzelle Zeile und ziehe 1 ab,(wg der Überschrift). Dan vergleiche ich mit dem Bereich B3:C15;Spalte1, ob das Datum darin vorkommt. Wenn ja, dann setzte ich den Namen aus der C-Spalte ein.

Das mit den bedingten Formatierungen stimmt und ist wirklich etwas einengend (hierfür), aber das mitr VORLAGE habe ich noch nicht verstanden.
Der Tip mit Namen für selbstdefinierte Funktionen ist aber gut. Scheint bei mir aber nicht zu funktionieren. Ich habe hier noch OOo 1.1.2. Geht das erst ab einer neueren Version. Ich bekomme nur "#NV"

WENN(ISTNV(SVERWEIS(INDIREKT(ADRESSE(ZEILE();SPALTE()/2;4);$Sheet2.$B$3:$C$15;1;0)));"";SVERWEIS(INDIREKT(ADRESSE(ZEILE();SPALTE()/2;4));$Sheet2.$B$3:$C$15;2;0))

Ein "=jahr" liefert mir das Jahr, das ich in einer Zelle auf Sheet2 definiert habe.

Ich kann Dir ja mal das Sheet schicken.
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Hi,
ich glaube ich sehe, wo die Verwechslung liegt:
Für den Feiertagsbereich fügst Du keinen Namen ein, sondern markierst die beiden Spalten B und C in Sheet2 und drückst: Daten/Bereich festlegen und vergibst hier 'Feiertage'
Die Formel in Sheet2 kann meiner Meinung nach viel einfacher sein (es sei denn, ich verstünde Dich falsch), nämlich genauso, wie Du sie vorher hattest:
=WENN(ISTNV(SVERWEIS(A1;Feiertage;1;0));"";SVERWEIS(A1;Feiertage;2;0))
A1 so geschrieben ist keine absolute Adresse. Wenn Du die Formel so in B2 schreibst und dann nach unten ziehst, wird sie für jede Zeile automatisch angepasst (A2, A3, A4,....)
Jetzt möchte ich in jeder 2. Spalte den Feiertagsnamen haben. Dazu hole ich mir die aktuelle Spalte und teile sie durch 2 und hole die aktzelle Zeile und ziehe 1 ab,(wg der Überschrift).
Da kann ich jetzt nicht folgen. Jede zweite Spalte, meinst Du damit B, D, F, und so weiter?
Ich habe Dir eine PM geschickt mit meiner Email, aber das letzte Mal, als ich das versucht habe, ging es mehrere Tage, bis die PM raus ist. Vielleicht versuchst Du es umgekehrt auch und schickst mir eine PM mit Deiner Email-Adresse.
Gruss, Lenu
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Lenu hat geschrieben:... Wenn Du die Formel so in B2 schreibst
Ich meine natürlich B1, sonst ist ja alles um eine Zeile verschoben
meiner
*
Beiträge: 19
Registriert: Sa, 22.01.2005 19:12

Beitrag von meiner »

Mit "Allgemein" meine ich, dass ich die Formel so, wie oben angegeben, einen Namen gegeben habe, und somit mit =Feiertag in der Spalten B,D,E, u.sw. den Namen des Feiertags, falls vorhanden, ermitteln kann. Die Formel braucht also nur an 1 Stelle geändert / ergänzt zu werden und ist ansonsten immer identisch.

Die "Verschiebung" kenne ich. Aber genau das möchte ich nur ungern nutzen.

Das Problem mit INDIREKT sehe ich nicht, da doch eher selten z.B. zwischen zwei Tagen ein weiterer eingefügt wird (der 29.Februar ist bereits richtig berücksichtigt).

Mit der Vorlage muss ich heute abend mal herum experimentieren. Wenn ich dass auch noch in die Formel mit hinein bekommen, würde es die "Eierlegende-Wollmilchsau":
a- Feiertagsname
b- rote Feiertage
c- rote Sonntage
d- graus Samstage
e- grüne Urlaubstage

b-d wollte ich ja ursprünglich mit der bedingten Formatierung lösen. Wenn's auch über die Formel geht, wäre es noch besser.


Deine Dateien kann ich mir auch erst heute abend ansehen. Ich sage aber trotzdem schon einmal Danke!
meiner
*
Beiträge: 19
Registriert: Sa, 22.01.2005 19:12

Beitrag von meiner »

Jahrelange Programmiererfahrung :wink:


Viele gute Programme sind nur deshalb entstanden, weil sein Autor zu "faul" war, etwas per Hand zu machen.
FranzX
*****
Beiträge: 408
Registriert: Sa, 21.02.2004 16:17

Beitrag von FranzX »

Hallo Lenu,

ich hätte noch eine Frage zu deinem Superkalender.
Ich habe nämlich auch so einen Kalender. In der Tabelle 2 befinden sich bei mir in der Spalte A das Datum und in Spalte B die Feiertage aber auch z.B. Geburtstage usw.
Wenn ich nun die Feiertage über eine Vorlage z.B. rot einfärbe und die Geburtstage auch über eine Vorlage z.B. grün, dann kann ich mit &T(Vorlage(Vorlagenamen)) immer nur eine Vorlage zuweisen.
Kann ich auch mit dieser Formel gezielt dem Kalender in Tabelle 1 die Vorlage des Ereignisses von Tabelle 2 zuweisen (z.B. Feiertag rot, Geburtstag grün)?
z.B. SVERWEIS auf die Spalte B der Tabelle2 ? und wie ?
Gruß
FranzX
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Hi,
ich wollte diese SVERWEIS-Funktion ausloten. Kalender gibt es ja eigentlich schon jede Menge. Aber wenn ich wieder mal etwas Zeit und Lust habe, werde ich Dein Beispiel mit dem alias für die ganze Funktion noch durchprobieren. Das reizt mich ungeheuer. Nicht nur wegen der 'Bequemlichkeit'. Ich finde, wenn man die Möglichkeit hat, identische Daten nur einmal zu hinterlegen, sollte man das nutzen. Dann gibt es auch keine Abweichungen wie es sonst einfach vorkommen kann, wenn man Zeug kopiert und dabei womöglich irdendwas vergisst und plötzlich nicht identische Kopien hat, sondern verschiedene Datenstände.
Uebrigens: für den Funktionen-Bereich 'Tabellen', zu dem SVERWEIS gehört, gibt es noch andere interessante Sachen, wie z.B. INDEX. Arbeitest Du auch mit dem Funktions-Autopiloten? Wenn Du da auf den Bereich 'Tabellen' wechselst, bekommst Du sie alle aufgelistet und kannst hier auch direkt in den Hilfetext verzweigen.
Gruss, Lenu
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

FranzX hat geschrieben:Kann ich auch mit dieser Formel gezielt dem Kalender in Tabelle 1 die Vorlage des Ereignisses von Tabelle 2 zuweisen (z.B. Feiertag rot, Geburtstag grün)?
z.B. SVERWEIS auf die Spalte B der Tabelle2 ? und wie ?
Hab Dir eine PM gesendet, schick mir den Kalender mal zu.
Gruss, Lenu
Antworten