Promblem mit Tabellenkalkulation
lima-city → Forum → Heim-PC → Software
anzahl
brauche
code
dank
eingabe
ergebnis
hand
http
indikator
paar
problem
schleife
spalte
tabelle
url
vergleich
vergleichende zahl
wissen
zahl
zelle
-
Ich möchte in Calc überprüfen, ob eine Zahl in einer bestimmten Reihe anderer Zahlen vorkommt. Als Ergebnis soll entweder 1 oder "wahr" zurückgeliefert werden, wenn dem so ist - sonst 0 oder "falsch".
Die Funktion Vergleich liefert die Zelle, in der der gesuchte Wert gefunden wurde oder die Zeichenkette "#NV". Diese Ergebnisse sind für die weitere Auswertung allerdings unbrauchbar.
=Wenn(Vergleich(Zahl;Zahlenreihe;identisch)<>"#NV;1;0) liefert zwar die 1, aber nicht die 0 sondern statdessen wieder #NV.
Ich sag schonmal Danke für Eure Zeit und Mühe, Druid -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das sollte doch so gehen
=WENN(UND(Zelle<Zahl;Zelle>Zahl);"1";"0 ")
http://www.castelligasse.at/star-calc/WENN-UND/wenn-und.htm
Beitrag zuletzt geändert: 12.11.2010 9:10:08 von sonok -
Nein, leider nicht.
Das Problem ist, daß überprüft werden soll, ob eine zufällig ermittelte Zahl in einer bestimmten Menge anderer Zahlen vorkommt, die dummerweise nicht periodisch sind.
Auf das Beispiel bezogen: würde in einer Zelle durch Würfeln ein Name ermittelt und dann geprüft, ob er in der ersten Spalte vorkommt. -
Hi,
ich kenne keine direkte Funktion zur Lösung des Problems, aber einen möglichen Weg.
Der VBA-Weg. Bastele dir eine Schleife in deinem Modul, die in der ersten Spalte nach
dem Namen beispielsweise sucht.
Gruß
-
Dazu müßte ich 1. Visual Basic installiert haben und 2. mich damit auskennen.
Eine Schleife
for i = 1 to 18
if (zahl)=inhalt(zelle(i) t=1
else t=0
next i
würde ich ja noch hinkriegen. Aber wie kriege ich das Ergebnis dann in meine Zelle eingetragen ? Ist die Syntax überhaupt richtig und wie bedient man den Editor von VB ?
Es gibt in Calc die Möglichkeit mit Matritzen zu arbeiten. Und da habe ich es inzwischen hinbekommen. Das Blöde an dieser Lösung ist nur, daß ich für jede zu vergleichende Zahl ein gleich große Ergebnis-Matritze brauche, nur damit mir dieses schlaue Programm erzählen kann, wie oft die Zahl nicht vorkommt. Dabei will ich doch nur wissen, ob sie überhaupt vorkommt.
Wenn ich jetzt also für jede zu vergleichende Zahl (aktuell 40) erst 18 Ergebnisfelder einrichten muß, wird die Tabelle so unübersichtlich, daß ich mit Stift und Zettel besser klar komme. -
Hallo,
wenn du excel hast, öffne es und drücke die Tastenkombination Alt + F11
wunderbar VBA ist da, oder???
So ich mache mir gerade weitere Gedanken zu deinem Problem
Bis gleich -
ganz so kompatibel ist Calc dann doch nicht.
-
Die Excel Lösung:
Option explicit sub suchmirwas() dim zeilenanzahl as integer zeilenanzahl= Cells(Rows.Count, 1).End(xlUp).Row ' bestimmt die anzahl der gefüllten zeilen in der spalte A im excel-sheet dim eingabe as integer eingabe = range("b1").value ' in Zelle B1 schreibst du deine zahl rein die du suchen willst for int t= 1 to zeilenanzahl if(cells(t,1).value = eingabe) Msgbox ("Eingegebene Zahl ist in der Spalte A enthalten") exit for end if next t end sub
Das Programm sucht in der Spalte A nach deinem
Eingabewert und wenn das Tool es gefunden hat,
öffnet sich ein Fenster und
meldet, dass die eingegebene Zahl in der Spalte A enthalten
ist. Man könnte natürlich auch als
Ergebnis den Ort der Zahlenübereinstimmung
ausgeben lassen. Aber wenn ich
dich richtig
verstanden habe, brauchst du nur das Wissen,
ob die Zahl überhaupt vorkommt oder nicht, oder?
[math][/math]
[/code][code]
Beitrag zuletzt geändert: 12.11.2010 11:53:41 von faraway -
Wie gesagt, unterscheiden sich Calc und Excel in manchen Dingen. Wenn VBA da ebenfalls integriert ist (was ich bezweifle, weil Excel von MS und VBA von MS und Calc der böse Open Source-Konkurrent), läßt es sich jedenfalls nicht über den angegebenen Tastenbefehl öffnen. Ich denke schon, es muß zumindest installiert sein.
Die Aussage, ich müßte nur wissen, ob die Zahl überhaupt vorhanden ist, bezog sich auf die Anzahl der zurückgelieferten Werte. Ich brauche halt nur einen statt 18. Aber der müßte schon auch in der Tabelle zur weiteren Verarbeitung zur Verfügung stehen. Den möglicherweise ein paar 100 mal von Hand einzutragen... da könnte ich´s gleich machen sprich die Zahlenlisten miteinander verg leichen und wahr und falsch selbst hinschreiben.
Ich danke Dir aber ganz herzlich für Deine Zeit und Mühe. -
Mit OxygenOffice Professional (vormals OpenOffice.org Premium) liegt eine erweitere Version von OpenOffice.org vor (basierend auf Go-oo), die um beschränkte VBA-Unterstützung in Calc, weitere Cliparts, Vorlagen und Schriften ergänzt wurde.
Wahrscheinlich hast du diese Version nicht, oder?
-
Nein, leider nicht !
Naja, hab noch ein paar andere Foren, in denn ich fragen kann. Und vieleicht finde ich es ja auch irgendwie heraus.
Sehr viel später:
Ich habe eine - wenn auch etwas umständliche - Lösung gefunden:
In die oberste Zelle der Ergebnisspalte wird von Hand eingetragen:
=Oder(Zelle(Zahl)=Zelle 1(Zahlenbereich); Zelle(Zahl)=Zelle 2(Zahlenbereich);.....;Zelle(Zahl)=Zelle n(Zahlenbereich)
dann wird der Zellinhalt für jede zu prüfende Zahl einzeln in die entsprechende Zelle kopiert (alle auf einmal wird noch schlimmer)
Der jeweils höchste Zellindikator (z.B. A21) wird durch den niedrigsten gewünschten Indikator (z.B. A3) ersetzt.
Dies ist erforderlich, weil Calc beim kopieren in die nächste Zelle alle Indikatoren entsprechend dem Abstand zur Ursprungszelle erhöht.
Wenn das die einzige Lösung ist, muß an Calc bis zum Urteil "gut" aber noch gearbeitet werden. "Sehr gut" ist nicht in Sicht.
Beitrag zuletzt geändert: 13.11.2010 1:39:54 von druid -
unter Extras ->Makros->Makros verwalten kannst du auch in OO Calc Basic Makros schreiben
-
Hallo druid,
probiere mal das hier:
=Wenn(ISTNV(Vergleich(Zahl;Zahlenreihe;identisch));0;1)
Edit:
Als kleiner Tipp:
http://www.ooowiki.de/DeutschEnglischCalcFunktionen
Beitrag zuletzt geändert: 11.2.2011 16:12:23 von darkpandemic -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage