voneinander getrennte Zellbereiche mit Suchlauf durchzählen

Hallo,

ich habe folgende Frage:

ich werte zwei unterschiedliche Zellbereiche in denen jeweils eine
bestimmte Bedingung erfüllt sein soll, konkret steht in den Zelle D4
bis AE4 entweder eine 1 oder eine 2, gleichzeitig stehen in den
Zellen D11 bis AE11 Werte zwischen 1 und 7. Ich möchte jetzt Ragtime
dazu bringen mir durchzuzählen wie oft die Werte in den Zellen D11
bis AE11 jeweils in kombination mit dem Wert 1 und dem Wert 2 i den
Zellen D4 bis AE4 vorkommen und habe dazu z.B folgende Formel
eingesetzt:

Suchlauf(D4:AE4;LfdZelle=1) UND Suchlauf(D11:AE11;LfdZelle=5)

Das Ergebnis lautet aber egal welchen Wert ich im hinteren Teil der
Formel für LfdZelle angebe immer 1, was natürlich falsch ist.

Kann mir hier jemand weiterhelfen?

Vielen Dank!!

Peter

dr. hans-peter rohler
foundation 5+ landschaftsarchitekten
karthäuserstraße 7-9 | 34117 kassel
fon 0561-92000823 fax 0561-92000820
rohler@foundation-kassel.de

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8978 On 14 Oktober, 2009 12:24 Bernhard Storch said,

Hallo Peter,

wenn ich dich richtig verstehe, könnte dir folgende Formel helfen:
HSuchlauf(D4:AE11;Zeilenwert(1)=1 UND Zeilenwert(8)=2)

Gruß Bernhard Storch

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8979 On 14 Oktober, 2009 12:39 Jürgen Schell said,

Die logische "UND"-Operation an der Stelle ist der Übeltäter:

(Zahl ungleich 0) UND (Zahl ungleich 0)

ergibt immer 1.

Probier mal:

Suchlauf(D4:AE4;LfdZelle=1 UND Index(D11:AE11;LfdIndex)=5)

Gruß, Jürgen

Dr. Hans-Peter Rohler schrieb:
> Hallo,
>
> ich habe folgende Frage:
>
> ich werte zwei unterschiedliche Zellbereiche in denen jeweils eine
> bestimmte Bedingung erfüllt sein soll, konkret steht in den Zelle D4 bis
> AE4 entweder eine 1 oder eine 2, gleichzeitig stehen in den Zellen D11
> bis AE11 Werte zwischen 1 und 7. Ich möchte jetzt Ragtime dazu bringen
> mir durchzuzählen wie oft die Werte in den Zellen D11 bis AE11 jeweils
> in kombination mit dem Wert 1 und dem Wert 2 i den Zellen D4 bis AE4
> vorkommen und habe dazu z.B folgende Formel eingesetzt:
>
> Suchlauf(D4:AE4;LfdZelle=1) UND Suchlauf(D11:AE11;LfdZelle=5)
>
> Das Ergebnis lautet aber egal welchen Wert ich im hinteren Teil der
> Formel für LfdZelle angebe immer 1, was natürlich falsch ist.
>
> Kann mir hier jemand weiterhelfen?
>
>
> Vielen Dank!!
>
> Peter
>
>
> dr. hans-peter rohler
> foundation 5+ landschaftsarchitekten
> karthäuserstraße 7-9 | 34117 kassel
> fon 0561-92000823 fax 0561-92000820
> rohler@foundation-kassel.de
>
>

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8980 On 14 Oktober, 2009 12:49 Jürgen Schell said,

Nachtrag, ich war etwas voreilig:

man kann auch mit HSuchlauf arbeiten:

HSuchlauf(D4:AE11;(Zeilenwert(1)=1) UND (Zeilenwert(8)=5))

Zumindest Thomas Kaegi ist eher ein Freund der ersten Variante (mit
Index), weil sie sich korrekt anpasst, wenn Du zwischen Zeile 4 und 11
noch welche einfügst / löschst.

Die ursprünglich von den Funktionsentwicklern gemeinte Methode ist die
in diesem Posting.

Gruß, Jürgen

Jürgen Schell schrieb:
> Die logische "UND"-Operation an der Stelle ist der Übeltäter:
>
> (Zahl ungleich 0) UND (Zahl ungleich 0)
>
> ergibt immer 1.
>
> Probier mal:
>
> Suchlauf(D4:AE4;LfdZelle=1 UND Index(D11:AE11;LfdIndex)=5)
>
> Gruß, Jürgen

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8981 On 14 Oktober, 2009 13:54 "Dr. Hans-Peter Rohler" said,

Hallo Jürgen,

die unten von dir angegeben Formel funktioniert, schon mal vielen Dank!

Die in deiner zweiten mail nicht. Ich habe auch ehrlich gesagt nicht
verstanden warum der Teil der Formel "…(8)=5)" in der Formel
"HSuchlauf(D4:AE11;(Zeilenwert(1)=1) UND (Zeilenwert(8)=5))" so lautet.

Aber Hauptsache die andere Formel funktioniert!

Leider habe ich jetzt noch eine verschärfte Variante:

ich möchte nicht nur 2 unabhängige Bereiche nach bestimmten Ziffern
durchsuchen lassen, sondern noch weitere Bereiche hinzufügen.

In E5:AF5 steht nach wie vor die Angabe 1 oder 2. In den Bereichen
E23:AF23 stehen Ziffern zwischen 1 und 15. Das Gleiche in den
Bereichen E42:AF42 und E60:AF60. Ich möchte RT nun ermitteln lassen
wie oft kommt bei der 1 im Bereich E5:AF5 die 1 in den drei anderen
Bereichen vor, usw …

Hierzu habe ich folgende Formel eingesetzt:

Suchlauf($E$5:$AF$5;LfdZelle=1 UND Index($E$23:$AF$23;LfdIndex)=1
ODER Index($E$42:$AF$42;LfdIndex)=1 ODER Index($E$60:$AF$60;LfdIndex)=1)

RT akzeptiert das schon mal ohne Fehlermeldung, die gezählten
Ergebnisse sind nach Stichproben aber falsch.

Vielleicht weißt du oder jemand anders hier auch noch einen schlauen
Tip.

Danke!

Peter

Am 14.10.2009 um 13:52 schrieb Jürgen Schell:

> Die logische "UND"-Operation an der Stelle ist der Übeltäter:
>
> (Zahl ungleich 0) UND (Zahl ungleich 0)
>
> ergibt immer 1.
>
> Probier mal:
>
> Suchlauf(D4:AE4;LfdZelle=1 UND Index(D11:AE11;LfdIndex)=5)
>
> Gruß, Jürgen
>
> Dr. Hans-Peter Rohler schrieb:
>> Hallo,
>> ich habe folgende Frage:
>> ich werte zwei unterschiedliche Zellbereiche in denen jeweils eine
>> bestimmte Bedingung erfüllt sein soll, konkret steht in den Zelle
>> D4 bis AE4 entweder eine 1 oder eine 2, gleichzeitig stehen in den
>> Zellen D11 bis AE11 Werte zwischen 1 und 7. Ich möchte jetzt
>> Ragtime dazu bringen mir durchzuzählen wie oft die Werte in den
>> Zellen D11 bis AE11 jeweils in kombination mit dem Wert 1 und dem
>> Wert 2 i den Zellen D4 bis AE4 vorkommen und habe dazu z.B
>> folgende Formel eingesetzt:
>> Suchlauf(D4:AE4;LfdZelle=1) UND Suchlauf(D11:AE11;LfdZelle=5)
>> Das Ergebnis lautet aber egal welchen Wert ich im hinteren Teil
>> der Formel für LfdZelle angebe immer 1, was natürlich falsch ist.
>> Kann mir hier jemand weiterhelfen?
>> Vielen Dank!!
>> Peter
>> dr. hans-peter rohler
>> foundation 5+ landschaftsarchitekten
>> karthäuserstraße 7-9 | 34117 kassel
>> fon 0561-92000823 fax 0561-92000820
>> rohler@foundation-kassel.de
>
>
>

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8983 On 14 Oktober, 2009 17:44 Bernhard Storch said,

Hallo Peter,

auch wenn du meinen Vorschlag ignoriert hast, nochmals der nach deinen neuen Vorstellungen abgewandelte Vorschlag:
HSuchlauf(B5:AE60;Zeilenwert(1)=1 UND (Zeilenwert(19)=1 ODER Zeilenwert(38)=1 ODER Zeilenwert(56)=1))
Gesucht wird in der 1., 19., 38. und 56. Zeile des Bereiches B5:AE60.
Die Klammer um die ODER hebt den Vorrang des UND auf.

Gruß Bernhard Storch

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8984 On 14 Oktober, 2009 18:06 Thomas Kaegi said,

Hallo Peter und Bernhard

Die von Bernhard angegebene Formel funktioniert natürlich korrekt. Trotzdem will ich rasch erklären, weshalb - wie Jürgen schon gesagt hat - ich kein Freund dieser Lösung bin. Ich würde es fast noch drastischer ausdrücken: Ich finde diese Lösung schlecht, weil sie ein enormes Fehlerpotenzial in sich trägt.

Da muss ich schon beim Schreiben der Formel rechnen (und kann mich verrechnen), welche Zahlen ich bei den Zeilenwert-Funktionen einsetzen muss. Dann aber kommt der entscheidende Punkt: Nehme ich mal an, aus irgend einem Grund werde eine zusätzliche Zeile zwischen Zeilen 40 und 41 eingefügt. Dadurch sind die bisherigen Zeilen 42 und 60 zu den Zeilen 43 und 61 geworden. Bernhards Formel wird durch diese Einfügung wie folgt angepasst:

HSuchlauf(B5:AE61;Zeilenwert(1)=1 UND (Zeilenwert(19)=1 ODER Zeilenwert(38)=1 ODER Zeilenwert(56)=1))

Problem: Der Suchbereich wird angepasst, nicht aber die Zeilenindizes der Zeilenwert-Funktionen. Solche Fehler können sehr schwierig zu finden sein, vor allem wenn diese Einfügung nach längerer Zeit gemacht wird, und man sich nicht mehr bewusst ist, wie das Rechenblatt aufgebaut wurde, oder wenn gar eine fremde Person die Zeile in ein doch bisher perfekt funktionierendes Rechenblatt einfügt.

Die Formel mit der Index-Funktion wird dagegen bei der Einfügung automatisch wie folgt angepasst:

Suchlauf($E$5:$AF$5;LfdZelle=1 UND (Index($E$23:$AF$23;LfdIndex)=1 ODER Index($E$43:$AF$43;LfdIndex)=1 ODER Index($E$61:$AF$61;LfdIndex)=1))

Und liefert somit nicht nur immer noch das korrekte Resultat, sondern ist auch einfacher zu schreiben oder zu lesen (obwohl die Formel als solche natürlich etwas komplexer aussieht), weil die Nummern der zu prüfenden Zeilenwerte absolut sind und nicht noch zum Anfangsindex des Suchbereichs hinzugezählt werden müssen.

Mit freundlichem Gruss
Thomas

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8985 On 14 Oktober, 2009 19:34 "Dr. Hans-Peter Rohler" said,

Hallo Bernhard, hallo Thomas,

erst mal vielen Dank für eure Mühe,

zunächst haben beide Formeln auch ganz prima funktioniert. Jetzt ist
mir aber noch ein Fehler aufgefallen:

wenn nämlich in eine der drei Zeilen 23, 42 oder 60 ein Wert in einer
Spalte zweimal vorkommt wird dieser zweite Wert nicht mitgezählt.
Vielleicht noch zur Erläuterung was das Ganze soll: Ich benutze die
Ziffern als Code für Kategorien bei der Beantwortung eines
Fragebogens. Es kann also durchaus sein das eine Person die jeweils
in der Spalte angeordnet ist, meine Frage zweimal mit der selben
Kategorie von Antwort beantwortet hat.

Irgendwie müsste man RT also dazu überreden jede Ziffer zu zählen,
auch, wenn Sie in einer Spalte mehrfach vorkommt.

Geht das?

herzliche Grüße

Peter

Am 14.10.2009 um 19:11 schrieb Thomas Kaegi:

> Hallo Peter und Bernhard
>
> Die von Bernhard angegebene Formel funktioniert natürlich korrekt.
> Trotzdem will ich rasch erklären, weshalb - wie Jürgen schon gesagt
> hat - ich kein Freund dieser Lösung bin. Ich würde es fast noch
> drastischer ausdrücken: Ich finde diese Lösung schlecht, weil sie
> ein enormes Fehlerpotenzial in sich trägt.
>
> Da muss ich schon beim Schreiben der Formel rechnen (und kann mich
> verrechnen), welche Zahlen ich bei den Zeilenwert-Funktionen
> einsetzen muss. Dann aber kommt der entscheidende Punkt: Nehme ich
> mal an, aus irgend einem Grund werde eine zusätzliche Zeile
> zwischen Zeilen 40 und 41 eingefügt. Dadurch sind die bisherigen
> Zeilen 42 und 60 zu den Zeilen 43 und 61 geworden. Bernhards Formel
> wird durch diese Einfügung wie folgt angepasst:
>
> HSuchlauf(B5:AE61;Zeilenwert(1)=1 UND (Zeilenwert(19)=1 ODER
> Zeilenwert(38)=1 ODER Zeilenwert(56)=1))
>
> Problem: Der Suchbereich wird angepasst, nicht aber die
> Zeilenindizes der Zeilenwert-Funktionen. Solche Fehler können sehr
> schwierig zu finden sein, vor allem wenn diese Einfügung nach
> längerer Zeit gemacht wird, und man sich nicht mehr bewusst ist,
> wie das Rechenblatt aufgebaut wurde, oder wenn gar eine fremde
> Person die Zeile in ein doch bisher perfekt funktionierendes
> Rechenblatt einfügt.
>
> Die Formel mit der Index-Funktion wird dagegen bei der Einfügung
> automatisch wie folgt angepasst:
>
> Suchlauf($E$5:$AF$5;LfdZelle=1 UND (Index($E$23:$AF$23;LfdIndex)=1
> ODER Index($E$43:$AF$43;LfdIndex)=1 ODER Index($E$61:$AF
> $61;LfdIndex)=1))
>
> Und liefert somit nicht nur immer noch das korrekte Resultat,
> sondern ist auch einfacher zu schreiben oder zu lesen (obwohl die
> Formel als solche natürlich etwas komplexer aussieht), weil die
> Nummern der zu prüfenden Zeilenwerte absolut sind und nicht noch
> zum Anfangsindex des Suchbereichs hinzugezählt werden müssen.
>
> Mit freundlichem Gruss
> Thomas
>
>
> list . To unsubscribe, E-mail to: > off@macnews.de> To switch to the DIGEST mode, E-mail to > digest@macnews.de> To switch to the INDEX mode, E-mail to > index@macnews.de> Send administrative queries to > request@macnews.de>

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8986 On 14 Oktober, 2009 19:51 Thomas Kaegi said,

Hallo Peter

Lösch doch bitte beim Antworten jeweils alles aus der beantworteten Mail, was nicht unbedingt zitiert werden muss. Im Forum würde die Übersicht über die Fragen und Anworten einer Diskussion dadurch erheblich erleichtert (diese Aufforderung richtet sich natürlich an alle Forumteilnehmer und gilt nicht nur in dieser Diskussion).

Nun zu deiner Frage. Unter der Annahme, dass in allen interessierenden Zellen nur der Wert 0 oder 1 stehen kann, löst die folgende Formel dein Problem:

HSuchlauf($E$5:$AF$5;LfdZelle;0;LfdResultat+Index($E$23:$AF$23;LfdIndex)+Index($E$42:$AF$42;LfdIndex)+Index($E$60:$AF$60;LfdIndex))

Dabei ist die Suchlauf-Funktion mit 4 Argumenten verwendet. Der Startwert der Funktion ist 0. Sobald in Zeile 5 eine 1 steht (1 ist in dieser Formelform als Wahrheitswert interpretiert und wird deshalb nicht mit dem erwarteten Wert verglichen), wird die Summe der Werte in den Zeilen 23, 42 und 60 dazugezählt. Das ist, hoffe ich, was du gesucht hast.

Mit freundlichem Gruss
Thomas

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8987 On 14 Oktober, 2009 20:04 "Dr. Hans-Peter Rohler" said,

Hallo Thomas,

… o.k., mach ich gerne.

Was deine Annahme betrifft, so muss ich das verneinen, in den
durchzuzählenden Zellen stehen Ziffern von 1 bis 15 und nicht nur 0
oder 1

herzliche Grüße

Peter

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8988 On 14 Oktober, 2009 20:21 Bernhard Storch said,

Hallo Peter,

dann können die Formeln
Suchlauf($B$5:$AF$5;LfdZelle=1 UND Index($B$23:$AF$23;LfdIndex)=1)+Suchlauf($B$5:$AF$5;LfdZelle=1 UND Index($B$42:$AF$42;LfdIndex)=1)+Suchlauf($B$5:$AF$5;LfdZelle=1 UND Index($B$60:$AF$60;LfdIndex)=1)
oder alternativ
HSuchlauf(B1:AE60;Zeilenwert(5)=1 UND Zeilenwert(23)=1)+HSuchlauf(B1:AE60;Zeilenwert(5)=1 UND Zeilenwert(42)=1)+HSuchlauf(B1:AE60;Zeilenwert(5)=1 UND Zeilenwert(60)=1)
z.B. zählen, wie oft die Antwort 1 gegeben wird?

Gruß Bernhard Storch

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8989 On 14 Oktober, 2009 21:52 Thomas Kaegi said,

Hallo Peter

(In der Zwischenzeit musste ich doch rasch schauen, ob sich die Schweiz für die WM qualifiziert ;)
Wenn es also drauf an kommt, dass überall nur der Wert 1 interessiert, dann modifiziere ich meine Formel wie folgt:

HSuchlauf($E$5:$AF$5;LfdZelle=1;0;LfdResultat+(Index($E$23:$AF$23;LfdIndex)=1)+(Index($E$42:$AF$42;LfdIndex)=1)+(Index($E$60:$AF$60;LfdIndex)=1))

Jede der Zeilen 23, 42 und 60 wird auf den Inhalt 1 geprüft, was bei positivem Ergebnis dieser Prüfung den Wert "Wahr" ergibt, der direkt ("Wahr" ist für RagTime = 1) für das Aufzählen direkt verwendet werden kann.

Natürlich funktionieren Bernhards Formeln auch. Also welchen Weg wählen? Ich bin meist mit der ersten gefundenen und funktionierenden Lösung zufrieden. Gelegentlich entscheide ich mich aber doch für einen anderen Weg, wenn ich merke, dass eine zweite Lösung einfacher zu verstehen oder leichter lesbar ist. In diesem Fall sind die vorgeschlagenen Lösungen (abgesehen von meinem Vorbehalt gegen die Verwendung der Funktion "Zeilenwert") aus meiner Sicht etwa gleichwertig.

Gruss
Thomas

Re: voneinander getrennte Zellbereiche mit Suchlauf durchzählen

#8982 On 14 Oktober, 2009 17:43 Thomas Kaegi said,

Hallo Peter

In deiner Formel:
Suchlauf($E$5:$AF$5;LfdZelle=1 UND Index($E$23:$AF$23;LfdIndex)=1 ODER Index($E$42:$AF$42;LfdIndex)=1 ODER Index($E$60:$AF$60;LfdIndex)=1)

fehlt nur ein Klammernpaar - die erste Bedingung soll immer erfüllte sein, aber nur eine der drei weiteren muss zusätzlich erfüllt sein. Also musst du diese drei Bedingungen mit einer Klammer zusammenfassen. So wie du die Formel geschrieben hast, ist die kumulierte Bedingung immer erfüllt, wenn entweder (in Zeile 5 und 23 eine 1) steht, oder aber auch - unabhängig von den Werten in den Zeilen 5 und 23 -, wenn (in Zeile 42 oder Zeile 60 eine 1) steht. Also mit dem zusätzlichen Klammerpaar:

Suchlauf($E$5:$AF$5;LfdZelle=1 UND (Index($E$23:$AF$23;LfdIndex)=1 ODER Index($E$42:$AF$42;LfdIndex)=1 ODER Index($E$60:$AF$60;LfdIndex)=1))

Mit freundlichem Gruss
Thomas