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

Zahlenfolge

Zahlenfolge
Burk
Hallo,
ich habe eine Zahlenfolge mit Lücken wie z.B.
-17,-16,_,_,-13,_,_,_,_,-7,_,_,_,-3,_,_,_,_,,4,5,_,6,_,_,7 (_ ist leere Zelle)
Gesucht ist eine Funktion, die die Lücken optimal ausfüllt.
Hat jemand eine Idee?
Bin für alle Hinweise dankbar
Schöne Grüße
Georg

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zahlenfolge
30.06.2009 09:52:51
robert
hi,
was bedeutet - optimal ausfüllt- ?
wie soll ausgefüllt werden ?
gruß
robert
AW: Zahlenfolge
30.06.2009 10:08:16
Burk
Hallo robert,
es sollte linear sein, keine Ausreißer vorkommen, wie eine Trendlinie
Gruß
Georg
so ist die frage nicht beantwortet..
30.06.2009 12:37:07
robert
..oder ich steh am schlauch :-(
stehen deine zahlen in zeilen oder spalten ?
sollen einfach die leerzellen entfernt werd ?
du schreibst aber was von "ausfüllen"
kannst du ein beispiel schicken, ?
gruß
robert
diese Zahlenfolge war'n ziemlicher Hammer
30.06.2009 12:59:48
WF
Hi Georg,
Deine Zahlen mit Lücken dazwischen stehen in A1 bis A99 (A1 ist gefüllt).
in B1 steht =A1
in B2 steht die Arrayformel:
{=WENN(A2="";B1+(INDEX(A:A;MIN(WENN(A2:A$99<>"";ZEILE(A2:A$99))))-INDEX(A:A;MAX(WENN(A$1:A2< >"";ZEILE(A$1:A2)))))/(MIN(WENN(A2:A$99<>"";ZEILE(A2:A$99)))-MAX(WENN(A$1:A2<>""; ZEILE(A$1:A2))));A2) }
runterkopieren
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter (statt Enter allein); - das erzeugt sie.
trapp, trapp, trapp, trapp, trapp, brrrrr
WF
http://www.excelformeln.de/
die ultimative Formelseite
Anzeige
AW: diese Zahlenfolge war'n ziemlicher Hammer
30.06.2009 13:24:47
Burk
Hi WF,
wahnsinn, die Formel stimmt, Spitze!
Nur möchte ich in einer Spalte arbeiten, z.B. in Spalte A und dann per VBA die Lücken ausfüllen lassen.
Hast du eine Idee?
Gruß
Georg
VBA - nur über meine Leiche !
30.06.2009 13:33:11
WF
.
per Formel oder per VBA
30.06.2009 20:15:23
FP
Hallo Georg,
per Formel:
in B1: =A1
in B2: {=WENN(A2"";A2;B1+(INDEX(A2:A$99;VERGLEICH(1;N(A2:A$99"");0))-B1)/VERGLEICH(1;N(A2:A$99"");0))}
und runter kopieren
per VBA - in keinster Weise optimiert:
Public Sub Reihe_ergänzen() Dim l As Long Dim ll As Long Dim dl As Double Dim dn As Double Const cic As Integer = 1 ll = Cells(65536, cic).End(xlUp).Row For l = 1 To ll If IsEmpty(Cells(l, cic)) Then With Cells(l, cic).End(xlDown) dn = .Value Cells(l, cic) = dl + (dn - dl) / (.Row - l + 1) End With Else dl = Cells(l, cic) End If Next End Sub


Servus aus dem Salzkammergut
Franz

Anzeige
AW: per Formel oder per VBA
02.07.2009 07:29:47
Coach
Hallo FP,
für Dich als Kenner&Liebhaber eine (nicht längenoptimierte :-) ) Formel für eine "globale" Interpolation im Unterschied zu Deiner "lokalen" Variante:
Array-Formel in B1, dann runterkopieren:
=WENN(A1"";A1;TREND(N(INDIREKT("A"&KKLEINSTE(WENN(NICHT(ISTLEER($A$1:$A$26));ZEILE($A$1:$A$26)); ZEILE(INDIREKT("1:"&ANZAHL($A$1:$A$26))))));KKLEINSTE(WENN(NICHT(ISTLEER($A$1:$A$26)); ZEILE($A$1:$A$26));ZEILE(INDIREKT("1:"&ANZAHL($A$1:$A$26))));ZEILE()))
Hier als Datei:
https://www.herber.de/bbs/user/62872.xls
Gruß Coach
Anzeige
schöner TREND :-)
04.07.2009 18:29:29
FP
Hallo Coach,
in Spalte C habe ich ihn so umgesetzt, wie er hier eigentlich gefordert ist
Spalte E dient für Mitleser zur Veranschaulichung, was TREND in Deinem Fall berechnet
Spalte F bzw. G berechnet den TREND von der ersten zur letzten Zahl
Tabelle1
 ABCDEFG
11111111
2 1,751,755,617647065,617647060,285714290,28571429
3 2,52,55,529411765,52941176-0,42857143-0,42857143
4 3,253,255,441176475,44117647-1,14285714-1,14285714
544445,35294118-1,85714286-1,85714286
6 5,755,755,264705885,26470588-2,57142857-2,57142857
7 7,57,55,176470595,17647059-3,28571429-3,28571429
8 9,259,255,088235295,08823529-4-4
9111111115-4,71428571-4,71428571
10 12124,911764714,91176471-5,42857143-5,42857143
11131313134,82352941-6,14285714-6,14285714
12 11,511,54,735294124,73529412-6,85714286-6,85714286
13101010104,64705882-7,57142857-7,57142857
14 0,50,54,558823534,55882353-8,28571429-8,28571429
15-9-9-9-94,47058824-9-9
Formeln der Tabelle
B1 : =A1
C1 : =A1
D1 : =A1
E1 : =A1
F1 : =A1
G1 : =A1
B2 : {=WENN($A2"";$A2;B1+(INDEX($A2:$A$99;VERGLEICH(1;N($A2:$A$99""); 0))-B1)/VERGLEICH(1;N($A2:$A$99""); 0))}
C2 : {=WENN(A2"";A2;TREND(N(INDIREKT("A"&KKLEINSTE(WENN(A$1:A$99"";ZEILE($1:$99)); {1.2}+ANZAHL(A$1:A2)-1))); KKLEINSTE(WENN(A$1:A$99"";ZEILE($1:$99)); {1.2}+ANZAHL(A$1:A2)-1); ZEILE(C2)))}
D2 : {=WENN(A2"";A2;TREND(N(INDIREKT("A"&KKLEINSTE(WENN(NICHT(ISTLEER($A$1:$A$26)); ZEILE($A$1:$A$26)); ZEILE(INDIREKT("1:"&ANZAHL($A$1:$A$26)))))); KKLEINSTE(WENN(NICHT(ISTLEER($A$1:$A$26)); ZEILE($A$1:$A$26)); ZEILE(INDIREKT("1:"&ANZAHL($A$1:$A$26)))); ZEILE()))}
E2 : {=TREND({1;4;11;13;10;-9};{1;5;9;11;13;15};ZEILE())}
F2 : =F1+(INDEX($A$1:$A$99;VERWEIS(9;1/($A2:$A$99""); ZEILE(2:$99)))-F1)/(VERWEIS(9;1/($A2:$A$99""); ZEILE(2:$99))-ZEILE(F2)+1)
G2 : =TREND(N(INDIREKT("A"&1+{0;1}*(VERWEIS(1E+99;A2:A$99;ZEILE(2:$99))-1))); VERWEIS(1E+99;A2:A$99;ZEILE(2:$99))^{0;1};ZEILE(G2))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Wenn Du mich weiter "coachen" willst - öfter als hier bin ich bei www.online-excel.de anzutreffen.
Würde mich freuen öfter mal was von Dir zu lesen...
Servus aus dem Salzkammergut
Franz
Anzeige
Korrektur zu VBA
30.06.2009 20:20:22
FP
Hallo Georg,
ohne ELSE: letzte Zahl muss immer "gemerkt" werden:
Public Sub Reihe_ergänzen() Dim l As Long Dim ll As Long Dim dl As Double Dim dn As Double Const cic As Integer = 1 ll = Cells(65536, cic).End(xlUp).Row For l = 1 To ll If IsEmpty(Cells(l, cic)) Then With Cells(l, cic).End(xlDown) dn = .Value Cells(l, cic) = dl + (dn - dl) / (.Row - l + 1) End With End If dl = Cells(l, cic) Next End Sub


Servus aus dem Salzkammergut
Franz

AW: Korrektur zu VBA
01.07.2009 07:40:10
Burk
Hallo Franz,
WOW, it works, Super!
Was meinst du mit "letzte Zahl muß immer 'gemerkt' werden"?
Vielen Dank und schöne Grüße aus Franken
Georg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige