Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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

Serie feststellen

Serie feststellen
29.08.2016 15:03:38
Fred
Hallo, kann mir hierbei bitte jemand helfen.
Im Bereich A1 bis A15 habe ich Standard-Zahlen.
In B1 steht eine Standardzahl (gesuchte Serie)
In C1 soll eine Formel den Wert ausgeben, wie viele Serien (B1) zwischen A1 und A15 vorhanden sind, die eine Eins beinhalten.
Beispiel, B1 = 2
Beispiel, A1 bis A15:
0
0
1
0
1
1
0
1
1
0
0
1
1
1
0
Ergebnis in C = 2 (die Serie ist 2x vorhanden)

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Serie feststellen
29.08.2016 16:18:01
Michael
Hi Fred,
anbei mit zwei Hilfsspalten: https://www.herber.de/bbs/user/107873.xlsx
Wenig elegant (das können die Formelprofis besser), aber vielleicht nachvollziehbarer.
Ich selbst würde ja VBA verwenden...
Happy Exceling,
Michael
AW: ist so nicht eindeutig ...
29.08.2016 16:39:54
...
Hallo Fread,
... mal abgesehen davon dass für mich die 0 auch eine Zahl ist (dann wäre für mich das Ergebnis nicht zwei sondern 4) kann man ja auch die 0 aus der Ermittlung ausfiltern. Doch was ist für Dich eine Serie, wenn wie Du schreibst: Im Bereich A1 bis A15 habe ich Standard-Zahlen. also auch andere Zahlen als 0 und 1 in den Zellen stehen?
Konkretisiere also bitte. Es gibt auf jeden Fall auch eine Formellösungsmöglichkeit.
Gruß Werner
.. , - ...
Anzeige
AW: ist so nicht eindeutig ...
29.08.2016 17:00:03
Fred
Moin Werner,
Es handelt sich tatsächlich nur um Einser und Nuller in Format "Standard. Relevant ist, dass die Anzahl der gewünschten "Einser-Serie" (von einer Länge wie in B1 angegeben) ermittelt wird.
Michael hat das richtige Ergebnis ermittelt,- allerdings fände ich es cool, wenn weniger als 2 "Hilfsspalten" benötigt werden --- da das Arbeitsblatt sehr umfangreich mit entsprechenden "Ermittlungen" erstellt wird.
drei mal versetzt
29.08.2016 17:16:59
WF
Hi,
=SUMMENPRODUKT((A1:A95=0)*(A2:A96=1)*(A3:A97=1)*(A4:A98=0))
A1 Muss allerdings leer oder null sein.
WF
AW: drei mal versetzt
29.08.2016 17:23:56
Fred
WF
wow!
Das ist es!
Danke allen für die Hilfe!
bis zur nächsten Frage
Anzeige
AW: allgemeiner mit AGGREGAT() ...
29.08.2016 17:57:47
...
Hallo Fred,
... der Vorschlag von WF funktioniert so nur für B1=2. Den könntest Du nun statisch für andere Serien noch anpassen.
Für B1 variabel z.B. so:
=SUMMENPRODUKT(N(AGGREGAT(14;6;(A1:A99=1)*(A2:A100=0)*ZEILE(A1:A99);ZEILE(A1:A99))-AGGREGAT(14;6;(A1:A99=0)*(A2:A100=1)*ZEILE(A1:A99);ZEILE(A1:A99))=B1))
Hier sollte nur die letzte Zelle im definierten Bereich (in der Formel ist das A100) 0 oder leer sein.
Gruß Werner
.. , - ...
AW: mit AGGREGAT() ...ist die Frage beantwortet.
29.08.2016 18:10:35
Fred
Jo Werner,
hatte mich schon auf die tipperei eingestellt.
Was du allerdins da hingezaubert hast, ist bedeutend attraktiver. Ich als Excel-Gelegenheitstäter finde alle hier beschriebenen Lösungen interessant.
Danke für die kompetente Lösung(en)!
Anzeige
Ja, du hast vollkommen recht, ...
29.08.2016 19:26:13
Luc:-?
…Werner,
denn die Belegung einer Zelle mit der SerienLänge deutet auf wechselnde Recherchen hin. Deshalb hätte ich auch keine statische Lösung gewählt, sondern zumindest diese mit 1er UDF:
=(LÄNGE(WECHSELN(VJoin(A1:A15;"");"101";"1001")) +2-LÄNGE(WECHSELN(0&WECHSELN(VJoin(A1:A15;"");"101";"1001")&0;
0&WIEDERHOLEN(1;B1)&0;"00")))/B1
In den neuesten Xl-Versionen hätte man statt der UDF VJoin auch die Xl-Fkt TEXTKETTE zV, wodurch die Fml dann so aussähe:
=(LÄNGE(WECHSELN(TEXTKETTE(A1:A15);"101";"1001"))+2-LÄNGE(WECHSELN(0&WECHSELN(TEXTKETTE(A1:A15); "101";
"1001")&0;0&WIEDERHOLEN(1;B1)&0;"00")))/B1
Natürlich habe ich auch kürzere Lösungen in petto wie bspw diese (CountAll kann uU durch die alte Version von CountOn, VJoin wieder durch TEXTKETTE ersetzt wdn!):
=CountAll(0&WECHSELN(VJoin(A1:A15;"");"101";"1001")&0;1;0&WIEDERHOLEN(1;B1)&0)
Am kürzesten wäre aber eine Fml, die WFs Fml ähnelt, aber 2 UDFs benutzt:
=SUMMENPRODUKT(--(LÄNGE(VSplit(VJoin(A1:A15;"");"0"))=B1))
Hier könnte perspektivisch auch wieder TEXTKETTE benutzt wdn (nicht unter Xl14/2010!). Ansonsten dürften hier aber auch schon die Versionen 1.1 der beiden UDFs reichen (VJoin letztpubliziert Vs1.4).
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: wirklich mit TEXTKETTE()? ...
30.08.2016 08:15:07
...
Hallo Luc,
... hab momentan nur Excel2010 zur Verfügung, kann somit Deinen entsprechenden Formelvorschlag nicht testen. Wäre interessant, wenn man damit die Aufgabe wirklich auch lösen könnte.
Gruß Werner
.. , - ...
Ja, sollte fktionieren, ...
30.08.2016 13:25:10
Luc:-?
…Werner,
kann's aber natürlich auch nicht testen, weiß aber, dass TEXTKETTE alle Werte eines angegebenen Bereichs ohne Bindezeichen aneinanderreiht. Genau das macht VJoin mit Angabe von "" als Arg2 auch und wahrscheinlich auch ein analog verwendetes TEXTVERKETTEN. Aber dann würde hier die ansonsten ziemlich überflüssige XlFkt TEXTKETTE reichen.
Die Variante mit VJoin (und auch alle anderen Fmln) habe ich allerdings getestet… ;-)
Luc :-?
Anzeige
AW: WECHSELN(TEXTKETTE() zwar interessant, aber...
02.09.2016 19:42:54
...
Hallo Luc,
... diese Funktionskombination in Deiner Formel würde nur im spez. Beispiel zum gewünschten Ergebnis führen.
Denn sobald anstelle einer oder mehrerer 0en eine bzw. mehrere Leerzellen vorhanden sind, müsste man diese in der Formel zuvor noch durch eine 0 ersetzen. Nun, das ließe sich ja sicherlich noch relativ einfach realisieren. Doch problematischer wird es, wenn die "Grenzzeichen" der jeweiligen Serie nicht 0en oder Leerzellen sondern beliebig wie verschiedene Zeichen sind.
Ich denke, da komme ich mit AGGREGAT() doch einfacher zum Ergebnis. In dem Fall muss ich meine Formel nur geringfügig anpassen und zwar zu:
=SUMMENPRODUKT(N(AGGREGAT(14;6;(A1:A99=1)*(A2:A1001)*ZEILE(A1:A99);ZEILE(A1:A99))-AGGREGAT(14;6;(A1:A991)*(A2:A100=1)*ZEILE(A1:A99);ZEILE(A1:A99))=B1))

Gruß Werner
.. , - ...
Anzeige
Du vermutest ja überall noch Leerzellen und ...
02.09.2016 23:18:07
Luc:-?
…Leerzeichen, Werner,
was ja fast nach „LeerVerschwörung“ aussieht… ;-)
Hat der Frager nicht von Serie aus 0en und 1en geschrieben?! Warum sollen denn dann noch LeerZeichen oder andere Trenner drin sein? Die Ausgangsdaten stehen in EinzelZellen, also fallen andere Trenner weg. Und wirklich leere Zellen (oder welche mit Leer­Text) haben bei VJoin (und sicher auch TEXTKETTE) keine Wirkung, da der ZellInhalt wie Text behandelt wird (Leer wird dann eben nicht zu 0).
Deine Sorgfalt und Voraussicht ehrt dich, aber ist für Fmln beinahe doch zuviel des Guten. Du solltest UDFs schreiben, dabei ist das besonders nützlich. Aber leider schreiben die meisten (Hobby-)Pgmmierer die nicht besser als sie Fmln schreiben würden — mögli­cherweise sogar schlechter. Neuerdings setzt wohl auch MS solche Leute ein (vgl XlFkt RANG). Viell bekommen sie ja auch keine besseren mehr… ;-]
Übrigens hatte ich zu dem doch sehr komplizierten Zahl-aus-Text-Problem, zu dem auch du einen Kommentar abgegeben hattest und Backowe eine spezielle UDF gefertigt hatte, auch noch mal etwas geschrieben, was du wahrscheinlich nicht mehr gesehen hast.
Gruß, Luc :-?
Anzeige
AW: vermuten ist nicht der richtige Begriff ...
04.09.2016 15:25:30
...
Hallo Luc,
... ich hatte bloß in Erwägung gezogen, wie die Formellösung aussehen könnte, wenn die Bedingungen etwas modifiziert sind. Also eben nicht nur 0en und 1en vorhanden sind, sondern eben anstelle der 0en beliebig andere Zahlen und oder Textwerte (oder eben teilweise auch nichts) stehen könnte und die Serien nicht nur für eine 1 (wie mit der zuletzt aufgezeigten Formel sondern für ein beliebiges Zeichen aussehen könnte.
Warum soll man dafür nicht auch nach einer Formellösung suchen und wie getan eine solche zur Diskussion stellen?
Ja, Deinen Beitrag an Jürgen (Backowe) habe ich wirklich nicht gesehen.
Einen schönen Sonntag Dir dann noch.
Gruß Werner
.. , - ...
Anzeige
Ich hatte ja 'beinahe' geschrieben, ...
05.09.2016 12:56:01
Luc:-?
…Werner,
und natürlich „darfst“ du das. Aber genauso wie du sollte man auch und vor allem herangehen, wenn man UDFs schreibt, die XlFktt zumindest gleichwertig sein sollen. Die Meisten schreiben aber höchstens sehr „moment­gebundene“ Insel- bzw „Eintags­fliegen“­Lösungen, was eher für normale SubProzeduren (zur Prozess­Automatisierung) typisch sein sollte.
Summa summarum, an dir scheint ein guter UDF-Pgmmierer verloren gegangen zu sein… ;-)
Gruß, Luc :-?
PS: Hatte nicht eher Zeit für AW, da (fast) ganzes WE mit RANG beschäftigt. Demnächst dann meine Version als VRank in diesem Forum.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige