Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Logikprobleme

Logikprobleme
05.01.2007 17:38:53
Melanie
Hallo zusammen,
ich möchte 4 verschiedene Zellen nach folgender Logik auswerten:
für jede der Zellen sind 3 verschiedene Einträge möglich: "-", 7 oder 17, aber in irgendeiner der Zellen MUSS 7 stehen. "-" oder 17 führt nur dann zum Ergebnis WAHR, wenn in einem der anderen Felder der Wert 7 steht.
Wenn das Ergebnis der Abfrage WAHR ist, dann soll die Meldung "ok" ausgegeben werden.
Sind in den Feldern andere Einträge erfolgt die Fehlermeldung "Bitte Status 7"
Beispiele
- 7 17 - ok
7 17 - - ok
17 - - - Bitte Status 7
- - - 7 ok
- 9 8 - Bitte Status 7
4 7 - - Bitte Status 7
Ich hoffe, ihr konntet mir folgen...
Gruß,
Melanie

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Deine Frage ist unlogisch...
05.01.2007 17:51:23
{Boris}
Hi Melanie,
denn
4 7 - - Bitte Status 7
passt nicht ins Bild.
Grüße Boris
AW: Deine Frage ist unlogisch...
05.01.2007 17:57:07
Melanie
Hi Boris,
doch, die Logik ist so:
alle Werte außer der 7 führen zur Fehlermeldung
ABER:
wenn einer der Werte in den Zellen eine 7 ist, dann sind auch "-" oder "17" in den anderen Feldern in Ordnung (aber z.B. die 4 nicht)
Ich hoffe, ich konnte es jetzt anschaulicher machen.
Gruß,
Melanie
AW: Deine Frage ist unlogisch...
05.01.2007 18:22:58
Nepumuk
Hallo Melanie,
da fällt mir nur eine benutzerdefinierte Funktion ein.
Tabelle1

 ABCDE
11717717OK

Formeln der Tabelle
ZelleFormel
E1=WENN(Vergleiche(A1:D1);"OK";"Bitte Status 7")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Function Vergleiche(objRange As Range) As Boolean
    Application.Volatile
    Dim strText As String
    Dim intIndex As Integer
    strText = "," & Join(WorksheetFunction.Transpose( _
        WorksheetFunction.Transpose(objRange.Value)), ",") & ","
    If Cbool(InStr(strText, ",7,")) And Not Cbool(InStr(strText, ",,")) Then
        strText = Replace(strText, ",", "")
        Vergleiche = True
        For intIndex = 1 To Len(strText)
            If Not Cbool(InStr(1, ",7,-,", "," & _
                Mid$(strText, intIndex, 1) & ",")) And _
                Mid$(strText, intIndex, 2) <> "17" Then
                Vergleiche = False
                Exit For
            End If
        Next
    End If
End Function

Bin mir aber nicht ganz sicher, ob ich schon alle Möglichkeiten abdecke.
Gruß
Nepumuk
Anzeige
Wieso unlogisch, wieso Funktion ?
05.01.2007 18:32:03
EtoPHG
Hallo alle...,
Hab ich Kartoffeln auf den Augen ?
Melanie, OK ich hab in der ersten Antwort ein Feld vergessen (hier mit 4 Feldern): https://www.herber.de/bbs/user/39418.xls
Boris, bitte klär mich auf warum unlogisch...
Max, bitte sag mir, warum nicht mit Formel ?
Danke & Gruss Hansueli
AW: Wieso unlogisch, wieso Funktion ?
05.01.2007 18:50:29
Erich
Hallo zusammen,
noch ne Möglichkeit:
 ABCDE
1-71717ok
2717--ok
317---Bitte Status 7
4--77ok
5-988Bitte Status 7
647--Bitte Status 7

Formeln der Tabelle
ZelleFormel
E1=WENN(ISTFEHLER(FINDEN("|7|";"|"&A1&"|"&B1&"|"&C1&"|"&D1&"|"));"Bitte Status 7"; WENN(WECHSELN(WECHSELN(WECHSELN("|"&A1&"|"&B1&"|"&C1&"|"&D1&"|";"17";"");"7";"");"-";"")<>"|||||"; "Bitte Status 7";"ok"))

Rückmeldung wäre nett! - Erich aus Kamp-Lintfort wünscht allen einen guten Start ins neue Jahr!
Anzeige
AW: Wieso unlogisch, wieso Funktion ?
05.01.2007 19:03:40
Nepumuk
Hallo Hansueli,
Formeln sind doch auch Programme. Oder denkst du, da sitzt ein kleiner Japaner mit einem Taschenrechner im Prozessor? Benutzerdefinierte Funktionen sind also selbstgeschriebene Formeln.
Gruß
Max
Ne, China is more up-to-date owT
05.01.2007 19:06:16
EtoPHG
Geschwindigkeit
05.01.2007 19:06:50
Ramses
Hallo Max
"...Oder denkst du, da sitzt ein kleiner Japaner mit einem Taschenrechner im Prozessor?.."
Klar,... und weil es von denen immer mehr gibt, werden die Rechner auch immer schneller :-)
Gruss Rainer
Nicht unlogisch...
05.01.2007 19:29:04
{Boris}
Hi,
Boris, bitte klär mich auf warum unlogisch...
Meine Reaktionszeit war in diesem Fall leider etwas zu hoch - bitte um Entschuldigung! ;-)
Grüße Boris
Anzeige
Logisch wäre zu niedrig, ist entschuldigt! oT
05.01.2007 19:45:12
EtoPHG
AW: Logikprobleme
05.01.2007 19:38:23
Daniel
Hallo
weil Spass macht, hier nochmal ne Formelalternative:
=WENN(ZÄHLENWENN(A1:D1;7)=0;"Bitte Status 7";WENN(ZÄHLENWENN(A1:D1;"-")+ZÄHLENWENN(A1:D1;17)+ZÄHLENWENN(A1:D1;7)=4;"ok";"Bitte Status 7")) als erstes wird gezählt, ob überhaupt 7 vorkommt, wenn nein, kommt die Fehlermeldung. dann wird geprüft, ob die Anzahl von - 7 und 17 zusammen 4 ergibt. Ist dies der Fall, kommen keine anderen Zahlen vor und es kommt die Meldung "i.O.". Ist die Anzahl zusammen 4, kommen andere Zahlen vor und es erscheint wieder die Fehlermelung So liebe Melanie, für welchen der Kandidaten etscheidest du Dich? Gruß, Daniel
Anzeige
AW: Logikprobleme
05.01.2007 21:00:28
KarinW
Hallo Melanie,
eine Formel hätte ich noch:
WENN(SUMME(ZÄHLENWENN($A1:$D1;7)*2;ZÄHLENWENN($A1:$D1;"-");ZÄHLENWENN($A1:$D1;17))=5;"ok";"Bitte Status 7")
Freundliche Grüße
Karin
AW: Logikprobleme
05.01.2007 22:07:14
Daniel
Hallo
sieht gut aus, funktioniert aber nur, wenn die 7 höchsten 1x vergeben wird.
bei -7-7 kommt ebenfalls "Bitte Status 7"
bei 74-7 kommt dafür "ok"
kommt jetzt darauf an, aber wenn jede Zahl, die nicht 7 oder 17 ist, einen "Bitte Status 7" hervorrufen soll, passts nicht.
Gruß, Daniel
AW: Logikprobleme - alle Formeln
05.01.2007 23:01:51
Erich
Hallo zusammen,
nachdem ich in meiner alten Formel noch einen Fehler festgestellt habe (Leerzeichen waren zulässig),
hab ich meine Formel noch ergänzt. Hier sind alle bisherigen Formeln versammelt:
 ABCDEFGHIJ
1ABCDNepumukHansueliDanielErichErich altKarinW
27171717okokokokokok
3717--okokokokokok
4-71717okokokokokok
57777okokokokokBitte Status 7
67-717okokokokokBitte Status 7
7--77okokokokokBitte Status 7
87   Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7okBitte Status 7
947--Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7
107#1717Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7
117§1717Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7
1217171717Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7
1317---Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7Bitte Status 7

Formeln der Tabelle
ZelleFormel
E2=WENN(vergleiche(A2:D2);"ok";"Bitte Status 7")
F2=WENN(UND(ODER(A2="-";A2=7;A2=17);ODER(B2="-";B2=7;B2=17); ODER(C2="-";C2=7;C2=17);ODER(D2="-";D2=7;D2=17); NICHT(ISTFEHLER(VERGLEICH(7;A2:D2;0)))); "ok";"Bitte Status 7")
G2=WENN(ZÄHLENWENN(A2:D2;7)=0;"Bitte Status 7"; WENN(ZÄHLENWENN(A2:D2;"-")+ZÄHLENWENN(A2:D2;17)+ZÄHLENWENN(A2:D2;7)=4; "ok";"Bitte Status 7"))
H2=WENN(ISTFEHLER(FINDEN("|7|";"|"&A2&"|"&B2&"|"&C2&"|"&D2&"|"));"Bitte Status 7"; WENN(WECHSELN(WECHSELN(WECHSELN(WECHSELN("|"&A2&"|"&B2&"|"&C2&"|"&D2&"|";"§";"X");"17";"§");"7";"§");"-";"§")<>"|§|§|§|§|"; "Bitte Status 7";"ok"))
I2=WENN(ISTFEHLER(FINDEN("|7|";"|"&A2&"|"&B2&"|"&C2&"|"&D2&"|"));"Bitte Status 7"; WENN(WECHSELN(WECHSELN(WECHSELN("|"&A2&"|"&B2&"|"&C2&"|"&D2&"|";"17";"");"7";"");"-";"")<>"|||||"; "Bitte Status 7";"ok"))
J2=WENN(SUMME(ZÄHLENWENN($A2:$D2;7)*2;ZÄHLENWENN($A2:$D2;"-"); ZÄHLENWENN($A2:$D2;17))=5;"ok";"Bitte Status 7")

Grüße von Erich aus Kamp-Lintfort
Anzeige
Manchmal steht man sich selbst im Weg
06.01.2007 14:06:27
Melanie
Hi zusammen,
Ich hatte diese Nacht *gähn* auch einen Einfall und habe es folgendermaßen gelöst (entspricht im Wesentlichen der Formel von Hansueli):
If Cells(i, 8) = 7 Or Cells(i, 9) = 7 Or Cells(i, 10) = 7 Or Cells(i, 11) = 7 Then
If Cells(i, 8) = 7 Or Cells(i, 8).Value = 17 Or Cells(i, 8).Value = "-" And Cells(i, 9) = 7 Or Cells(i, 9).Value = 17 Or Cells(i, 9).Value = "-" And Cells(i, 10) = 7 Or Cells(i, 10).Value = 17 Or Cells(i, 10).Value = "-" And Cells(i, 11) = 7 Or Cells(i, 11).Value = 17 Or Cells(i, 11).Value = "-" Then
Cells(i, 67).Value = "ok"
Else: Cells(i, 67).Value = "Bitte VS 7 pflegen"
End If
Else: Cells(i, 67).Value = "Bitte VS 7 pflegen"
End If
Vielen lieben Dank für Eure Hilfe!!
Gruß,
Melanie
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige