Hi zusammen,
ich habe eine Frage: Ich habe eine Arbeitsmappe, die für jeden Tag im Jahr eine Spalte (Y:NY) hat und in jeder Zeile steht ein Produkt.
Nun möchte ich, dass mir je Produkt eine 1 gezählt wird, sobald mehr als 10 direkt aufeinanderfolgende "U" pro Jahr (1 Zeile) da sind. Habe schon einiges probiert, aber leider war noch nicht das richtige dabei. Könnt ihr mir helfen? Danke euch!
VG Andreas
Hallo Andreas
mich wundert das unsere Formel Profis dir noch nicht geantwortet haben. Vielleicht sehe ich die Aufgabe falsch??
Probier bitte mal diese Formel aus: =WENN(ZÄHLENWENN(Y2:NY2;"U")>10;1;0)
In welche Spalte du diese Formel setzt must du selbst entscheiden. Wenn der Bereich "Y2:NY2" nicht stimmt bitte selbst aendern.
mfg Gast 123
@Gast: Ich denke, dass "10 direkt aufeinanderfolgende "U" pro Jahr" das Problem ist. Also nur, wenn wirklich 10 Zellen hintereinander befüllt sind, soll die 1 zum Tragen kommen.
@Andreas: Ob es hier eine Formellösung gibt, kann ich nicht sagen. Wäre VBA auch eine Variante für dich? Und wenn ja, was soll mit der 1 passieren? Soll die in eine Zelle geschrieben werden?
Hallo Gast,
das Problem liegt darin, dass nur dann die 1 geschrieben werden soll, wenn mindestens ein Block von 10 aufeinanderfolgenden "U" auftritt.
Zitat:sobald mehr als 10 direkt aufeinanderfolgende "U" pro Jahr (1 Zeile) da sind.
Hi zusammen,
ja genau, es muss aufeinanderfolgend sein. VBA wäre auch gut.
Leider bist du nicht auf meine Frage eingegangen, was mit der 1 passieren soll. Daher musst du den Code halt selbst anpassen.
Code:
Sub Eintragen()
Dim Z As Integer, S As Integer, Zaehler As Integer
For Z = 2 To Cells(Rows.Count, "X").End(xlUp).Row
For S = 25 To 389
If Cells(Z, S) <> "U" Then
Zaehler = 0
ElseIf Cells(Z, S) = "U" Then
Zaehler = Zaehler + 1
If Zaehler > 10 Then
Cells(Z, "A") = 1 'Trage 1 in Spalte A ein
GoTo NaechesteZeile
End If
End If
Next S
NaechesteZeile: Zaehler = 0
Next Z
End Sub
Hi Berni,
vielen Dank für deinen Code. Habe ihn mal in die Excel eingefügt und versucht ihn ans Laufen zu bekommen. Leider funktioniert er trotz Anpassung noch nicht so richtig. Hast Du eine Ahnung woran das liegen kann? Habe mal die Excel-Datei angehängt.
VG Andreas
Code:
Sub Eintragen()
Dim Z As Integer, S As Integer, Zaehler As Integer
For Z = 4 To Cells(Rows.Count, "B").End(xlUp).Row 'Zeile 4 bis letzte Zeile in Spalte B
For S = 25 To 389
If Cells(Z, S) <> "U" Then
Zaehler = 0
ElseIf Cells(Z, S) = "U" Then
Zaehler = Zaehler + 1
If Zaehler > 10 Then
Cells(Z, "H") = 1 'Trage 1 in Spalte H ein
GoTo NaechesteZeile
End If
End If
Next S
NaechesteZeile: Zaehler = 0
Next Z
End Sub
Es hat funktioniert! :05: Vielen vielen Dank!
VG Andreas