🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Anfänger sucht Hilfe mit SVERWEIS

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Feuerrabe
Beiträge: 2
Registriert: So 15. Sep 2013, 08:21

Anfänger sucht Hilfe mit SVERWEIS

Beitrag von Feuerrabe » So 15. Sep 2013, 08:46

Moin,

ich versuche gerade mit Calc zurechtzukommen. Es hat schon einiges rumprobieren gebraucht bis ich darauf gekommen bin, das die richtige Funktion SVERWEIS und nicht etwa DBAUSZUG ist. In SQL ausgedrückt ist das, was ich machen will: CREATE VIEW ProcessedSkills AS SELECT Skills.Skill, Attributes.Mod (etc.) FROM Attributes, Skills WHERE Skills.Attribute = Attributes.Attribute;

Die Formel in der Skills.Mod Spalte lautet also in Zeile 2 "=SVERWEIS(E2;Attributes.$A$2:$C$7;3;1)" und in Zeile 4 "=SVERWEIS(E4;Attributes.$A$2:$C$7;3;1)". In Zeile 2 Funktioniert es, in Zeile 4 nicht. Das Resultat "#NV" deutet darauf hin, dass der gesuchte Referenzwert nicht gefunden wurde, zumal dasselbe Problem auch in allen anderen Spalten, die sich auf denselben Referenzwert beziehen auftritt; und nur in diesen. Aber es steht doch da. Zelle A7 ist "CHA". Die richtige Antwort wäre der Inhalt von C7, nämlich 2. Wieso geht das jetzt nicht?

Oder ist es ein Problem, dass Attributes.Mod selbst wieder Formeln enthält, nämlich "=ABRUNDEN(B2 / 2) - 5" im Falle von C2?

Skills Tabelle:

Code: Alles auswählen

Name	Value	Rank	Mod	Attribute
Acrobatics	0		1	DEX
Appraise	0		0	INT
Bluff	0		#NV	CHA
Attributes Tabelle:

Code: Alles auswählen

Attribute	Value	Mod
STR	8	-1
DEX	12	1
CON	11	0
INT	10	0
WIS	18	4
CHA	15	2

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Anfänger sucht Hilfe mit SVERWEIS

Beitrag von balu » So 15. Sep 2013, 10:46

Hallo Feuerrabe,
In SQL ausgedrückt ist das, was ich machen will:
Und auf Deutsch heißt das was?
Mal ehrlich, glaubst Du denn allen ernstes das hier jeder SQL kennt und versteht? Ich jedenfalls nicht.

Das Resultat "#NV" deutet darauf hin, dass der gesuchte Referenzwert nicht gefunden wurde
Und deshalb hilft uns deine zitierte Tabelle überhaupt gar nicht, da sie nicht den tatsächlichen Inhalt der einzelnen Zellen zeigt.

Oder ist es ein Problem, dass Attributes.Mod selbst wieder Formeln enthält, nämlich "=ABRUNDEN(B2 / 2) - 5" im Falle von C2?
Wenn Du ja selber herausgefunden hast das =SVERWEIS() für dich zutrifft, dann müsstest Du eigentlich auch wissen das die Spalte C nix mit dem Fehler zu tun hat. Denn dort steht ja nur das was zurückgegeben wird, wenn in der Spalte A das zu suchende Kriterium gefunden wurde. Und wenn nix gefunden wird, dann spielen alle anderen Spalten in der Datenmatrix überhaupt keine Rolle.

Oder hattest Du dir die Hilfe zu =SVERWEIS() nicht genauer durchgelesen? Kann ja durchaus vorkommen das man die Hilfe nicht sofort auf anhieb versteht. Kenn ich selber.

Code: Alles auswählen

=SVERWEIS(E2;Attributes.$A$2:$C$7;3;1)
Ich würd sagen das deine SVERWEIS falsch ist.
Und warum?
Ganz einfach!
Du hast den 4. Parameter auf 1 gesetzt.
Den solltest Du nur dann auf 1 setzen, wenn Du eine sortierte Liste in der Spalte A hast. Das ist bei dir aber nicht der Fall, denn erst kommt STR und dann DEX usw. Und das ist keine alfabetisch sortierte Liste.

Probiers doch mal so rum.

Code: Alles auswählen

=SVERWEIS(E2;Attributes.$A$2:$C$7;3;0)
Jetzt ist der 4. Parameter auf 0 gesetzt, und so mit kann und darf die zu durchsuchende Liste in der Spalte A unsortiert sein.




Gruß
balu

Benutzeravatar
lorbass
* LO-Experte *
Beiträge: 627
Registriert: Mo 25. Apr 2011, 18:17

Re: Anfänger sucht Hilfe mit SVERWEIS

Beitrag von lorbass » So 15. Sep 2013, 15:32

Du hast vermutlich ein Typen-Problem. Sofern der Augenschein hier zutrifft, handelt es sich bei den Werten der Attributes-Tabelle um Zeichenketten, während es sich beim Ergebnis der Formel »=ABRUNDEN(B2 / 2) - 5« um einen numerischen Wert handelt. SVERWEIS() konvertiert die Typen nicht automatisch, so dass du dich für numerische Werte in der Tabelle oder für eine Ergänzung deiner Formel entscheiden musst:

Code: Alles auswählen

=TEXT( ABRUNDEN( B2 / 2) - 5; "0" )
oder

Code: Alles auswählen

=SVERWEIS( TEXT( E4; "0" ); $Attributes.$A$2:$C$7; 3; 1 )
Gruß
lorbass


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten