Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1008to1012
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
Inhaltsverzeichnis

Formel mit Bedingung Abfolge

Formel mit Bedingung Abfolge
13.09.2008 23:15:51
Hugo
Hallo,
benötigt ist eine Formel für Spalte AA, die die im Kommentar beschriebene Anforderung erfüllt. Es geht um eine Bedingung der Abfolge.
Die Anforderung anders formuliert:
Zwischen zwei untereinander aufeinanderfolgenden Einsen in Spalte X MUSS in Spalte Y eine Eins stehen, um die Eins aus Spalte X in Spalte AA zu übernehmen.

Gruß, Hugo
https://www.herber.de/bbs/user/55348.xls

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel mit Bedingung Abfolge
14.09.2008 01:36:00
Erich
Hallo Hugo,
meinst du das so? (Formel von AA2 nach unten kopieren)
 XYZAA
100  
200 0
310 1
410 0
500 0
600 0
710 0
800 0
900 0
1001 0
1100 0
1200 0
1310 1
1401 0
1510 1
1600 0
1700 0
1800 0
1900 0
2010 0

Formeln der Tabelle
ZelleFormel
AA2{=X2*WENN(SUMME(X$1:X2)=1;1;MAX(ZEILE($1:1)*(X$1:X1=1))<MAX(ZEILE($1:1)*(Y$1:Y1=1)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

Nicht klar ist die Abfrage, wenn in einer Zeile in X und Y eine 1 steht.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Makro nötig für Bedingung Abfolge
14.09.2008 22:23:44
Hugo
Hallo,
danke die Formel ist korrekt! So geht es hardwarebedingt leider nur bedingt. Übrigens habe ich den anderen Thread nicht geschlossen um die Übersicht zu verschlechtern, sondern weil ich die Erfahrung gemacht habe dass wenn zu viele Antworten zu anderen Themen inzw. aufgelaufen sind und man auf der Seite nach unten rutscht, keine neuen Antworten mehr kommen, auch wenn als offene Frage gekennzeichnet.
Deine Formel ist korrekt. Jedoch geht die Tabelle über mehrere Tausend Zeilen, und somit kommt mein Rechner an seine Grenzen. Jede Veränderung in der Tabelle zieht minutenlanges nachrechnen der Formeln nach sich. Auch weil es noch eine zusätzliche Anforderung gibt benötige ich eine Makrolösung für Spalten AA & AB.
Hier die Anforderungen:
Generell gilt:
In Spalte X und Y stehen Einsen nie in der selben Zeile.
Zwischen zwei untereinander aufeinanderfolgenden Einsen in Spalte Y DARF in Spalte X keine Eins stehen, um die Eins aus Spalte Y in Spalte AB zu übernehmen.
Um die Eins aus Spalte X in Spalte AA zu übernehmen müssen in Spalte Y in den Zeilen davor (darüber) mindestens 2 aufeinaderfolgende Einsen stehen.
oder anders formuliert:
Um die Eins aus Spalte X in Spalte AA zu übernehmen muss in Spalte AB in den Zeilen davor eine Eins stehen, also noch bevor eine Eins in der Zeile AA steht.
Hier die File:

Die Datei https://www.herber.de/bbs/user/55374.xls wurde aus Datenschutzgründen gelöscht


Anzeige
AW: Makro für Bedingung Abfolge
14.09.2008 23:40:43
Erich
Hi Hugo,
"Übrigens habe ich den anderen Thread nicht geschlossen um die Übersicht zu verschlechtern"
Das habe ich auch nicht geschrieben. Geschlossen habe übrigens ich den anderen Thread,
und mit dem Start des zweiten Threads hast du das Forum ganz sicher nicht übersichtlicher gemacht.
Zu deiner Erfahrung:
Natürlich sinkt die "Attraktivität" eines Threads mit zunehmendem "Alter".
Was passierte, wenn sich viele Frager wie du mit neuen Threads zum alten Thema wieder nach oben drängelten?
Alle Frager möchten Antworten - nicht nur du.
Hier gibt es etliche Antworter, die auf eine derartige Drängelei mit Nichtbeachtung reagieren.
(Das hätte auch ich getan - hätte ich es rechtzeitig bemerkt...)
Wenn du auch diese Erfahrung machen möchtest: Weiter so!
Es gibt hier auch viele, die nach offenen Threads sehen.
Nun gut, hier dann eben noch mein Codevorschlag:

Option Explicit
Sub Einsen()
Dim lngZ As Long, zz As Long, bytL As Byte
lngZ = Cells(Rows.Count, 24).End(xlUp).Row
Cells(2, 27).Resize(lngZ - 1, 2) = 0
For zz = 2 To lngZ
If Cells(zz, 24) Then
If bytL > 2 Then Cells(zz, 27) = 1
bytL = 1
ElseIf Cells(zz, 25) Then
If bytL 

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Makro für Bedingung Abfolge
15.09.2008 09:39:00
Hugo
Danke für den Code!
Geänderte Bedingungen
15.09.2008 18:36:37
Hugo
Hello again,
der Code funktioniert sehr gut. Inzw. haben sich aber die Anforderungen etwas geändert.
Wäre nett wenn Du Erich das wieder hinbekommst, oder eben wer es liest und das kann.
Alles genauere in der File als Kommentar zu den zwei Beispielen, es sind also zwei unabhängige aber ähnliche Anforderungen.
Herzlichen Dank!
https://www.herber.de/bbs/user/55395.xls
AW: Geänderte Bedingungen
15.09.2008 20:41:28
Erich
Hi Hugo,
das könnte klappen:

Option Explicit
Sub Anford1()
Dim lngZ As Long, zz As Long, bytL As Byte
lngZ = Cells(Rows.Count, 24).End(xlUp).Row
Cells(2, 27).Resize(lngZ - 1, 2) = 0
For zz = 2 To lngZ
If Cells(zz, 24) Then
If bytL = 2 Then Cells(zz, 27) = 1
bytL = 1
ElseIf Cells(zz, 25) Then
If bytL = 2 Then Cells(zz, 28) = 1
bytL = 2
End If
Next zz
End Sub
Sub Anford2()
Dim lngZ As Long, zz As Long, bytL As Byte
lngZ = Cells(Rows.Count, 24).End(xlUp).Row
Cells(2, 27).Resize(lngZ - 1, 2) = 0
For zz = 2 To lngZ
If Cells(zz, 24) Then
If bytL > 1 Then bytL = 0: Cells(zz, 27) = 1
ElseIf Cells(zz, 25) Then
Select Case bytL
Case 0:        bytL = 2
Case 1:        bytL = 2: Cells(zz, 28) = 1
Case 2:        bytL = 3: Cells(zz, 28) = 1
Case Else:     bytL = 2
End Select
End If
Next zz
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Anford2 kürzer
16.09.2008 00:47:00
Erich
Hi Hugo,
so ist es etwas einfacher:

Sub Anford2()
Dim lngZ As Long, zz As Long, bytL As Byte
lngZ = Cells(Rows.Count, 24).End(xlUp).Row
Cells(2, 27).Resize(lngZ - 1, 2) = 0
For zz = 2 To lngZ
If Cells(zz, 24) Then
If bytL > 0 Then bytL = 0: Cells(zz, 27) = 1
ElseIf Cells(zz, 25) Then
If bytL = 1 Then bytL = 2: Cells(zz, 28) = 1 Else bytL = 1
End If
Next zz
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Anford2 kürzer
16.09.2008 22:42:14
Hugo
Herzlichen Dank Erich! :-)

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige