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

Felder berechnen exponentiell

Felder berechnen exponentiell
07.11.2013 09:24:01
Norman
Hallo Zusammen,
es wäre sehr nett, wenn ihr mir bei nachfolgendem Problem helfen könntet, ich komme leider nicht weiter. Ich habe meine Excel Datei hochgeladen (https://www.herber.de/bbs/user/87971.xlsx), darin sollen Berechnungen für die Schritte 1 bis 15 durchgeführt werden. Schritt 1 bis 4 habe ich noch händisch durch copy paste berechnen können, durch das exponentielle Verhalten wird dies aber schnell äußerst mühsam und unübersichtlich. Habt ihr eine Lösung wie die Tabelle ausgefüllt werden kann (evtl. mit VBA)?
Vielen vielen Dank für eure Mühen.
Viele Grüße
Norman

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Felder berechnen exponentiell
07.11.2013 10:24:32
GuentherH
Hallo Norman,
habe noch nicht ganz verstanden.
willst Du wirklich 65534 Felder mit diesen 3 Zahlen füllen?
und wieso gibt es dann eine neue Zahl in 2 später aber nicht mehr?
beste Grüße,
Günther

Logik?
07.11.2013 10:28:22
Rudi
Hallo,
verstehe ich nicht. Erklär mal genauer.
FG
4E4: =WENN(D4=2;12;WENN(D4=12;12;WENN(D4=22;2))) 
5E5: =WENN(D4=2;22;WENN(D4=12;22;WENN(D4=22;12))) 
6E6: =WENN(D5=2;12;WENN(D5=12;12;WENN(D5=22;2))) 
7E7: =WENN(D5=2;22;WENN(D5=12;22;WENN(D5=22;12))) 
8E8: =WENN(D6=2;12;WENN(D6=12;12;WENN(D6=22;2))) 
9E9: =WENN(D6=2;22;WENN(D6=12;22;WENN(D6=22;12))) 
10E10: =WENN(D7=2;12;WENN(D7=12;12;WENN(D7=22;2))) 
11E11: =WENN(D7=2;22;WENN(D7=12;22;WENN(D7=22;12))) 
12E12: =WENN(D7=2;12;WENN(D7=12;12;WENN(D7=22;2))) 
13E13: =WENN(D7=2;22;WENN(D7=12;22;WENN(D7=22;12))) 
14E14: =WENN(D8=2;12;WENN(D8=12;12;WENN(D8=22;2)))D8
15E15: =WENN(D8=2;22;WENN(D8=12;22;WENN(D8=22;12)))D8
16E16: =WENN(D9=2;12;WENN(D9=12;12;WENN(D9=22;2)))D9
17E17: =WENN(D10=2;22;WENN(D10=12;22;WENN(D10=22;12)))D10
18E18: =WENN(D11=2;12;WENN(D11=12;12;WENN(D11=22;2)))D11
19E19: =WENN(D11=2;22;WENN(D11=12;22;WENN(D11=22;12)))D11

Gruß
Rudi

Anzeige
... sicherlich nur simpler Schreibfehler ... owT
07.11.2013 10:58:04
neopa
Gruß Werner
.. , - ...

Formeln so ok?
07.11.2013 10:28:26
Erich
Hi Norman,
stimmen die Formeln in E12 und E13?
Sollte darin nicht D8 statt D7 vorkommen?
Wenn D7 da richtig ist, verstehe ich den Aufbau nicht.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

eine einzige Formel
07.11.2013 10:42:39
Erich
Hi Norman,
diese Formel kannst du von C4 bis P32771 kopieren:
 C
412
522

Formeln der Tabelle
ZelleFormel
C4=2+10*(INDEX(B:B;ZEILE(B8)/2)<22)+20*REST(ZEILE(B8)/2;1)
C5=2+10*(INDEX(B:B;ZEILE(B9)/2)<22)+20*REST(ZEILE(B9)/2;1)


 P
3277012
3277122

Formeln der Tabelle
ZelleFormel
P32770=2+10*(INDEX(O:O;ZEILE(O32774)/2)<22)+20*REST(ZEILE(O32774)/2;1)
P32771=2+10*(INDEX(O:O;ZEILE(O32775)/2)<22)+20*REST(ZEILE(O32775)/2;1)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
prima Formelansatz, doch ...
07.11.2013 10:56:23
neopa
Hallo Erich,
... es fehlt noch die Ergebnisbegrenzung nach unten. Meine Formel in C4 sah so aus:
=WENN(ZEILE(A1)>2^SPALTE(B1);"";VERWEIS(INDEX(B:B;3+RUNDEN(ZEILE(A1)/2;));{2.12.22}; WENN(REST(ZEILE(A1);2)=1;{12.12.2};{22.22.12}))) Somit also

=WENN(ZEILE(A1)>2^SPALTE(B1);"";[Erichs Formel])

Gruß Werner
.. , - ...

so viele Leerformeln?
07.11.2013 11:08:05
Erich
Hi Werner,
sollten wir Norman wirklich empfehlen, in seine Tabelle über 32000 Formeln mit "" als Ergebnis zu kopieren?
Das Blatt wird dadurch ja nicht gerade schneller.
Und so schwer ist es ja wohl nicht, die richtige Anzahl Zellen pro Spalte mit der Formel zu bestücken...
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
natürlich nicht, aber ...
07.11.2013 11:17:35
neopa
Hallo Erich,
... wie willst Du nur auf Formelbasis ein evtl. zu "kurzes" kopieren nach unten verhindern? Auszählen? Sicherlich auch nicht, dann lieber überall etwas weiter kopieren. Oder?
Gruß Werner
.. , - ...

geschicktes Kopieren ...
07.11.2013 11:35:56
Erich
Hi Werner,
... ist hier vielleicht gefragt.
Ich habe das z. B. so erledigt:
C4:C7 (war ausgefüllt) kopieren, ab D4 einfügen in
D4:D7 einfügen
D4:D7 kopieren, mit "Strg+Unten" und "Unten" darunter gehen, ab D8 einfügen in
D8:D11
D8:D11 kopieren, ab E8 einfügen in...
usw.
Also immer einmal nach rechts, dann einmal nach unten kopieren.
Die Zahl der Formeln pro Spalte verdoppelt sich dabei von ganz allein, man braucht weder zu zählen noch zu rechnen.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
so geht es natürlich ...
07.11.2013 12:25:08
neopa
Hallo Erich,
... ich hatte (aus Faulheit) eh nur (komplett bis F36) ausgefüllt.
Sicherlich wäre hier eine UDF die bessere Lösung.
Gruß Werner
.. , - ...

UDF? glaube ich nicht
07.11.2013 12:37:56
Erich
Hi Werner,
was soll eine UDF hier verbessern? 32000 Funktionsaufrufe würden ihre Zeit brauchen,
das geht wohl nicht schneller als die einfache Formel in Excel.
Das, worin die UDF vorkommt, ist ja nun auch eine Formel...
Beispiel:
Function myFkt(xyz) as Long
definiert eine Funktion in VBA.
In der Formel
=27*myFkt(A1)
wird die Fkt. in Excel als UDF aufgerufen.
Anstelle des Einsatzes einer Fkt. als UDF würde ich überhaupt auf Formeln in der Tabelle verzichten
und die Werte via VBA-Prozedur (kann auch eine Fkt. sein) als Konstanten eintragen lassen,
natürlich via Ergebnisarray, das in einem Rutsch in das Tabellenblatt geschrieben wird.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
eine einfachere einzige Formel
07.11.2013 11:00:37
Erich
Hi Norman,
oder so:
 C
412
522

Formeln der Tabelle
ZelleFormel
C4=2+10*(INDEX(B:B;ZEILE(B8)/2)<22)+10*REST(ZEILE(C4); 2)
C5=2+10*(INDEX(B:B;ZEILE(B9)/2)<22)+10*REST(ZEILE(C5); 2)


 P
3277012
3277122

Formeln der Tabelle
ZelleFormel
P32770=2+10*(INDEX(O:O;ZEILE(O32774)/2)<22)+10*REST(ZEILE(P32770); 2)
P32771=2+10*(INDEX(O:O;ZEILE(O32775)/2)<22)+10*REST(ZEILE(P32771); 2)

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

Anzeige
AW: eine einfachere einzige Formel
07.11.2013 14:20:18
Norman
Hallo Zusammen,
da bin ich erstmal baff über so viele Rückmeldungen, vielen Dank! Leider hab ich auf die schnelle nicht ganz eure Lösungen verstanden, ich muss mir das erst noch genauer ansehen...
Vielen Dank schonmal,
viele Grüße
Norman

AW: eine einfachere einzige Formel
07.11.2013 16:34:11
Norman
Hallo Zusammen,
ja, in meinem Sheet war ein Fehler in der letzten Spalte, Entschuldigung, ich habs nochmal hochgeladen:
https://www.herber.de/bbs/user/87979.xlsx
Ist es jetzt klarer?
Vielen Dank für eure Hilfe und Geduld.
Viele Grüße
Norman

Anzeige
AW: eine einfachere einzige Formel
07.11.2013 18:31:06
Norman
Hallo nochmal,
das Problem ist, dass die Berechnung sich verschiebt so dass ich das Problem nicht mit copy paste lösen kann sondern z.Z. mühsam die Formel verändern muss was aber schnell nicht mehr handlebar ist durch das exponentielle Verhalten...
Ich hoffe ihr könnt helfen dass die Tabelle bis Schritt 10 ausgefüllt werden kann, es soll zum Schluss so aussehen (halt Zahlen statt x):
https://www.herber.de/bbs/user/87983.xlsx
Vielen Dank nochmals...ist zum Verzweifeln...
Viele Grüße
Norman

Lösung ist doch da
07.11.2013 18:46:41
Erich
Hi Norman,
wenn du einer der Formeln verwendest, die ich dir vorgeschlagen habe, musst du keine Formel verändern,
du kannst die Formel einfach kopieren - fertig!
Ich hatte oben geschrieben: "diese Formel kannst du von C4 bis P32771 kopieren"
Das habe ich also nicht nur bis "Schritt 10", sondern bis 15 getan. Und das ging recht flott. :-)
Wie ich kopiert habe, ohne die Zeilen zählen zu müssen, habe ich in einer Antwort an Werner schon beschrieben.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: eine einfachere einzige Formel
07.11.2013 18:36:00
Erich
Hi Norman,
so geht's noch einfacher:
 C
412
522

Formeln der Tabelle
ZelleFormel
C4=2+10*(INDEX(B:B;ZEILE(B8)/2)<22)+10*REST(ZEILE(); 2)
C5=2+10*(INDEX(B:B;ZEILE(B9)/2)<22)+10*REST(ZEILE(); 2)


 P
3277012
3277122

Formeln der Tabelle
ZelleFormel
P32770=2+10*(INDEX(O:O;ZEILE(O32774)/2)<22)+10*REST(ZEILE(); 2)
P32771=2+10*(INDEX(O:O;ZEILE(O32775)/2)<22)+10*REST(ZEILE(); 2)

Deine korrigierte Vorgabemappe war wohl nicht mehr unbedingt nötig... :-)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: eine einfachere einzige Formel
07.11.2013 20:24:28
Norman
Hallo Erich,
Vielen lieben Dank! Leider kann ichs jetzt nicht mehr ausprobieren, morgen früh hab ich wieder Zugang, ich melde mich dann.
Vielen Dank und noch einen schönen Abend,
Viele Grüße
Norman

AW: eine einfachere einzige Formel
08.11.2013 09:24:28
Norman
Hallo Erich und alle anderen,
vielen vielen lieben Dank, die Formeln und das Kopieren haben hervorragend funktioniert (siehe ExcehlDatei: https://www.herber.de/bbs/user/87986.xlsx)!!!
In dem Blatt "Einzel" seht ihr die Werte, jetzt ist mir aufgefallen, dass ich ich mit eurer Hilfe einen großen Schritt weiter gekommen bin, aber leider doch noch nicht komplett am Ziel. In dem Blatt "Summe" habe ich händisch angefangen bis Schritt 3 die Einzelwerte händisch aufzusummieren, ich hoffe, dass ihr das Muster erkennt. Es ist wegen dem exponentiellen Verhalten wieder sehr mühsam oder praktisch unmöglich das Blatt bis zum letzten Schritt 10 auszufüllen.
Fällt dir / euch wieder dazu ein Kniff ein?
Vielen vielen Dank schonmal!
Viele Grüße
Norman

Kniff
08.11.2013 18:39:54
Erich
Hi Norman,
die Formel von C4 kannst du nach rec hts und unten kopieren:
 ABC
2Schritt12
3   
4Ergebnisse214
5 2224

Formeln der Tabelle
ZelleFormel
C4=INDEX(B:B;ZEILE(C8)/2)+Einzel!C4
C5=INDEX(B:B;ZEILE(C9)/2)+Einzel!C5

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

AW: Kniff
09.11.2013 12:06:29
Norman
Hi Erich,
vielen Dank für deine Antwort. Konnte es noch nicht ausprobieren, ich meld mich dann.
Nochmals Danke und viele Grüße
Norman

AW: Kniff
09.11.2013 15:17:00
Norman
Erich, Wahnsinn, danke!
Super, du hast mir so so geholfen.
Vielleicht könntest du mir wenn du noch Zeit haben solltest bei Gelegenheit grob deine Formeln erklären, so dass ich es nachvollziehen kann.
Nochmals vielen vielen Dank,
viele Grüße
Norman

grober Versuch
09.11.2013 17:23:00
Erich
Hi Norman,
schön, dass die Formeln so funktionieren. Sie bergen meiner Meinung nach keine großen Geheimnisse.
Bei der Formel =INDEX(B:B;ZEILE(C8)/2)+Einzel!C4
ist der hintere Teil "+Einzel!C4" wohl klar.
Der vordere Teil soll ja (damit das deine Aufgabe löst) B4 ergeben.
ZEILE(C8) ist die Zeilennummer der Zeile 8 - also 8.
8/2 ist 4.
INDEX(B:B;ZEILE(C8)/2) ist also
INDEX(B:B;8/2)
INDEX(B:B;4)
=B4
Wenn die Formel auf C5 kopiert wird, wird sie zu
INDEX(B:B;ZEILE(C9)/2)
INDEX(B:B;9/2)
INDEX(B:B;4,5)
=B4
Dabei ist es gut zu wissen, dass beim 2. (und 3.) Parameter von INDEX auf ganze Zahlen abgeschnitten wird,
wenn man die Funktion mit Nachkommastellen aufruft.
Damit das deutlicher ist, könnte man auch schreiben
INDEX(B:B;ABRUNDEN(ZEILE(C9)/2;0))
Aber wie gesagt: Es ist nicht nötig, Abrunden passiert automatisch. Die Formel wird nur länger.
Ist nun das Prinzip klar? Wenn nicht, stelle bitte ganz konkrete Fragen. "Grob Formeln erklären" ist schwer... :-)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich und: Schönes Wochenende allerseits!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige