kostenloser Webspace werbefrei: lima-city


Promblem mit Tabellenkalkulation

lima-cityForumHeim-PCSoftware

  1. Autor dieses Themas

    druid

    druid hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    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
  4. Autor dieses Themas

    druid

    druid hat kostenlosen Webspace.

    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.
  5. 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ß
  6. Autor dieses Themas

    druid

    druid hat kostenlosen Webspace.

    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.
  7. 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
  8. Autor dieses Themas

    druid

    druid hat kostenlosen Webspace.

    ganz so kompatibel ist Calc dann doch nicht.
  9. 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
  10. Autor dieses Themas

    druid

    druid hat kostenlosen Webspace.

    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.

  11. 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?

  12. Autor dieses Themas

    druid

    druid hat kostenlosen Webspace.

    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
  13. unter Extras ->Makros->Makros verwalten kannst du auch in OO Calc Basic Makros schreiben
  14. 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
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!