Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arrayformel findet immer einen Wert zu wenig

Arrayformel findet immer einen Wert zu wenig
12.08.2003 17:03:19
dietrich
Hallo zusammen,

ein Problem, von dem ich gehofft hatte, es gelöst zu haben, bereitet mir weiterhin Schwierigkeiten...

Ich hab hier einen komischen Effekt bei einer Arrayformel, den Ihr vielleicht (er)kennt:

Eine Tabellenspalte hat insgesamt 153 Zeileneinträge, die sich aus mehrfach vorkommenden Werten (Texten) zusammensetzt. In diesem Fall sind es 4 einzelne Werte, die mehrfach vorkommen. Mit der untenstehenden Formel möchte ich diese 4 Werte zur Weiterverarbeitung identifizieren. Ich habe inzwischen gelernt, dass dies mit einer Arrayformel gut machbar ist (Tips von Knut und Hajo). Ich verwende dazu die untenstehende Formel, die ich per VBA in die Nachbarspalte der zu der durchsuchenden Spalte als Arrayformel kopiere.

Da ich weiss, dass grundsätzlich nie mehr als 10 verschiedene Werte vorkommen können, begrenze ich den Kopier-Durchlauf auf max. 10.

Die Formel lautet:

For I = 2 To 10
Range("d" & I).FormulaArray = _
"=IF(SUM(IF(R1C[-1]:R" & anzzeilen & "C[-1]="""",0,1/COUNTIF(R1C[-1]:R" & anzzeilen & "C[-1],R1C[-1]:R" & anzzeilen & "C[-1]))) < ROW(),"""",INDIRECT(""c""&SMALL(IF(COUNTIF(OFFSET(R1C[-1],,,ROW(R1C[-1]:R" & anzzeilen & "C[-1])),R1C[-1]:R" & anzzeilen & "C[-1])=1,ROW(R1C[-1]:R" & anzzeilen & "C[-1])),ROW())))"
Next

In Excel ist das Ergebnis dann:
{=WENN(SUMME(WENN(C$1:C$153="";0;1/ZÄHLENWENN(C$1:C$153;C$1:C$153))) < ZEILE();"";INDIREKT("c"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(C$1;;;ZEILE(C$1:C$153));C$1:C$153)=1;ZEILE(C$1:C$153));ZEILE())))}

Ich hab eine Beispieltabelle beigefügt, falls es dort leichter zu lesen ist ;-)

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



Der Effekt: Er findet immer nur 3 Ergebnisse. Nie die 4, die tatsächlich enthalten sind.

Hat jemand hierzu vielleicht eine Idee?

Viele Grüße
Dietrich

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arrayformel findet immer einen Wert zu wenig
12.08.2003 17:21:09
Dieter Maj
Hallo Dietrich
ich hab deine Arbeitsmappe überprüft, Phänomen!!
lösch mal die Zelle C15 oder C16 oder ....,
dann wird das Ergebnis von 4 richtig angezeigt.
Ich kann die aber noch nicht erklären, warum!?
Gruß Dieter


AW: Arrayformel findet immer einen Wert zu wenig
12.08.2003 17:24:38
dietrich
Hallo Dieter,

Ich werd's auch mal probieren.

Falls Dir noch was auffällt, bin ich für Hilfe dankbar ;-)

Gruß
Dietrich


AW: Arrayformel findet immer einen Wert zu wenig
12.08.2003 17:40:47
dietrich
Hallo Dieter,

er steigt in Zeile 111 aus!
Bis dahin wird noch "netz lokal" ausgwiesen. Danach nicht mehr...

Gruß
Dietrich


AW: Arrayformel findet immer einen Wert zu wenig
12.08.2003 17:47:10
Dieter Maj
Hallo Dietrich
hier bin ich mit meinem Latein am Ende
ändere z.B. einmal Server auf Server1 und alles ist OK
Mach jetzt aber Feierabend
schau daheim nochmal rein
Gruß Dieter


Anzeige
AW: Arrayformel findet immer einen Wert zu wenig
12.08.2003 17:50:21
dietrich
Hallo Dieter,

vielen Dank!

Vielleicht finden wir ja noch was ;-)

Gruß
Dietrich


Du hast recht: das ist wirklich bizarr!
12.08.2003 17:54:13
dietrich
Hi Dieter,

ich hab's ausprobiert. Bei einem neuen Wort werden ALLE dargestellt...

Sigh.
Dietrich


AW: Arrayformel findet immer einen Wert zu wenig
12.08.2003 18:26:55
dietrich
Hi Dieter,

hm. Ich hab in der Formel mal den Teiler herausgenommen.

Statt "1/COUNTIF" nur noch "COUNTIF". Er wirft jetzt Fehler aus für Durchläufe, in denen er keinen Einzelwert findet. Dafür allerdings zeigt er alle 4 an. Das funktioniert auch bei "Neueingaben" a la "Server1".

Gruß
Dietrich


AW: Arrayformel findet immer einen Wert zu wenig
12.08.2003 22:53:34
HaraldK
Hallo Dietrich

schau dir mal meine Lösung an

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


Gruß Harald


Anzeige
AW: Arrayformel findet immer einen Wert zu wenig
12.08.2003 23:01:43
HaraldK
Hallo Dietrich
kleine korektur beim hochladen wurde der Dateiname geändert,das habe ich nicht bedacht.
Hier nun die richtige Mappe.

https://www.herber.de/bbs/user/554.xls


Gruß Harald


Super! Es klappt! Danke!
13.08.2003 10:08:11
dietrich
Hallo Harald,

is ja der Knaller ;-) Und dazu (zumindest für mich :-) auch noch sehr viel übersichtlicher als die Array-Funktion! Über das mit "As New Collection" bin ich noch nie gestolpert. Wirklich klasse!

Harald und Dieter: Vielen Dank für die Mühe, die Ihr Euch gemacht habt!

Grüsse aus dem endlich etwas abkühlenden Norden
Dietrich


Anzeige
AW: Arrayformel findet immer einen Wert zu wenig
13.08.2003 10:12:25
Dieter Maj
Hallo Harald
einfach genial deine Lösung
aber die 1.Lösung ist mir trotzdem schleierhaft.
Gruß Dieter


AW: Arrayformel findet immer einen Wert zu wenig
13.08.2003 11:38:54
dietrich
Hallo Dieter,

stimmt. Ein Rätsel bleibts ;-)

Gruß
Dietrich


301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige