Seite 1 von 1

schleifenfunktion aus zelle aufrufen

Verfasst: Mo 2. Mai 2016, 03:58
von AndresSolar
Hallo,

ich habe folgendes Problem innerhalb einer statischen Simulation:

Unter einer Zeile mit begrenzter Länge (24 Zellen) und Inhalt (-1, 0, +1) sollen die aufeinanderfolgenden Zellen (nicht Werte der Zellen) von links nach rechts aufsummiert werden. Die Anzahl der zu durchsuchenden Zellen pro Zeile ist variable (1 bis 20). Die Eingabewerte sind in auf 24 Zellen/Zeile begrenzt, sodass die Funktion die nachfolgende Zeile mit untersuchen muss. Insgesamt muessen 262.000 Zellen untersucht werden.

Ist das mit "Bordmitteln" machbar oder benötige ich dafür eine (VBA-) Funktion?

Besten Dank an Alle

Beispiel mit Suchbreite 12 Zellen:
Bildschirmfoto 2016-05-01 um 8.52.11 PM.png
Bildschirmfoto 2016-05-01 um 8.52.11 PM.png (23.24 KiB) 3251 mal betrachtet

Re: schleifenfunktion aus zelle aufrufen

Verfasst: Mo 2. Mai 2016, 04:43
von AndresSolar
...sorry, war simple, hab's schon mit geloest... ;)

Re: schleifenfunktion aus zelle aufrufen

Verfasst: Mo 2. Mai 2016, 12:13
von mikele
Hallo,

magst du uns an deiner Lösung teilhaben lassen?

Re: schleifenfunktion aus zelle aufrufen

Verfasst: Mo 2. Mai 2016, 20:21
von AndresSolar
klar... Ich hab schon ewig nichts kompliziertes mit Excel gemacht, deshalb gedacht, dass ich auf was einfaches gestossen bin.

=IF(B1<0;SUMIF(B1:M1;"<0");SUMIF(B1:M12;">0")) ...eine Prüfung auf B1>0 braucht man nicht, also direkt zur ELSE-Anweisung übergehen...

den Zeilenumbruch kann man ganz einfach dadurch umgehen, dass man die entsprechenden Zellen von Bx am Ende der 1. Zeile einkopiert.

Was mich nun beschäftigt, ist eine einfache (schnelle) Methode um den Bereich (B1:B24) durch einen Zellenwert zu berechnen, sodass ausgehend von der aktuellen Zelle nach rechts gezählt wird. Den Startwert kennt man ja (B1, etc.).Hmmm... wenn möglich ohne VBA...

Also: Bereich = 16, (B1:BB"1+Bereich-1"), usw...

Eine Idee dazu?

Re: schleifenfunktion aus zelle aufrufen

Verfasst: Mo 2. Mai 2016, 20:33
von AndresSolar
...ist ja noch einfacher. VERSCHIEBEN...

Re: schleifenfunktion aus zelle aufrufen

Verfasst: Fr 6. Mai 2016, 04:07
von AndresSolar
Meine Lösung war nicht vollständig, aber hab wenigstens rausgefunden, wie's geht:

Suchbereich: B43:$AS$43
1. Zelle: B43 enthält den invertierten Suchwert

=IF(B43<0;-MATCH(-B43;B43:$AS$43;0)+1;MATCH(-B43;B43:$AS$43;0)-1)