Registriert seit: 29.12.2017
Version(en): 2010
29.12.2017, 11:53
(Dieser Beitrag wurde zuletzt bearbeitet: 29.12.2017, 11:54 von Jacklaim.)
Hallo zusammen,
bin neu hier und weiß noch gar nicht so genau, wie ich mein Problem mit Worten erklären soll, aber ich versuche es mal
Ich habe in Spalte 1 Werte, die sich in nicht wiederkehrender Weise verändern und in Spalte 2 Daten dazu.
Jetzt möchte ich in einer neuen Tabelle die Daten transponiert haben und es soll immer eine neue Zeile kommen, wenn sich der Wert aus Spalte 1 ändert.
So soll es später aussehen:
vorher nachher
1 JAN 1 JAN FEB MÄR APR MAI
1 FEB 2 JAN FEB MÄR APR
1 MÄR 3 JAN FEB MÄR
1 APR 4 JAN FEB MÄR APR MAI JUN
1 MAI
2 JAN
2 FEB
2 MÄR
2 APR
3 JAN
3 FEB
3 MÄR
4 JAN
4 FEB
4 MÄR
4 APR
4 MAI
4 JUN
Bekommt man das mit einer Formel hin oder muss man da schon mit VBA ran?
Hab mit Google bisher nichts Passendes gefunden
LG
Jacklaim
Registriert seit: 17.05.2016
Version(en): die, die da ist
Hallo,
an Ermangelung von XL>07, hier was mit einer Matrixformel:
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D | E | F | G | H | I |
1 | 1 | JAN | | JAN | FEB | MÄR | APR | MAI | |
2 | 1 | FEB | | JAN | FEB | MÄR | APR | | |
3 | 1 | MÄR | | JAN | FEB | MÄR | | | |
4 | 1 | APR | | JAN | FEB | MÄR | APR | MAI | JUN |
5 | 1 | MAI | | | | | | | |
6 | 2 | JAN | | | | | | | |
7 | 2 | FEB | | | | | | | |
8 | 2 | MÄR | | | | | | | |
9 | 2 | APR | | | | | | | |
10 | 3 | JAN | | | | | | | |
11 | 3 | FEB | | | | | | | |
12 | 3 | MÄR | | | | | | | |
13 | 4 | JAN | | | | | | | |
14 | 4 | FEB | | | | | | | |
15 | 4 | MÄR | | | | | | | |
16 | 4 | APR | | | | | | | |
17 | 4 | MAI | | | | | | | |
18 | 4 | JUN | | | | | | | |
Zelle | Formel |
D1 | {=WENNFEHLER(INDEX($B$1:$B$30;KKLEINSTE(WENN($A$1:$A$30=ZEILE(A1);ZEILE($A$1:$A$30));SPALTE(A1)));"")} |
Achtung, Matrixformel enthalten! |
Die geschweiften Klammern{} werden nicht eingegeben. |
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine. |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
VG
von René und seinen 3 Gehirnzellen
Folgende(r) 1 Nutzer sagt Danke an silex1 für diesen Beitrag:1 Nutzer sagt Danke an silex1 für diesen Beitrag 28
• Rabe
Registriert seit: 29.12.2017
Version(en): 2010
Hallo silex1,
Danke für die schnelle Hilfe :28:
Die Formel funktioniert!
Ich habe vergessen zu erwähnen, dass ich über 20000 Zeilen habe.
Mal schauen wann der Rechner fertig ist :17:
Die Vorzahlen hole ich mir separat über eine Pivot-Tabelle.
LG
Jacklaim
Registriert seit: 10.04.2014
Version(en): Office 2019
29.12.2017, 13:06
(Dieser Beitrag wurde zuletzt bearbeitet: 29.12.2017, 13:07 von Jockel.)
Hallo, ob die Formel schneller ist, weiß ich nicht, aber ohne CSE geht ab XL2010..:
PHP-Code:
=WENNFEHLER(INDEX($B$1:$B$18;AGGREGAT(15;6;ZEILE($A$1:$A$18)/($A$1:$A$18=ZEILE());SPALTE(A1)));"")
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht
"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Registriert seit: 29.12.2017
Version(en): 2010
Hallo Jockel,
ja Deine Formel geht auch :)
LG
Jacklaim
Registriert seit: 10.04.2014
Version(en): Office 2019
(29.12.2017, 13:48)Jacklaim schrieb: Hallo Jockel,
ja Deine Formel geht auch :)
LG
Jacklaim
Hallo, das die (auch) geht, weiß ich (, weil getestet...) ... aber ob sie schneller ist, weiß ich nicht...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht
"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Registriert seit: 17.05.2016
Version(en): die, die da ist
(29.12.2017, 13:04)Jacklaim schrieb: Ich habe vergessen zu erwähnen, dass ich über 20000 Zeilen habe.
Wenn der Bereich eingegrenzt wird (A1:A21000) , dann dürften dies heutige Rechner locker abarbeiten, in der Kaffeepause... :05:
VG
von René und seinen 3 Gehirnzellen
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
Hier eine schnellere Variante ohne Kaffeetrinken, die sich die Spalte A zunutze macht:
Deine beiden Spalten A:B ab A1
Hilfsspalte F: F2: =VERGLEICH(WAHR;INDEX(A$20001:INDEX(A:A;F1+2)>A$20000:INDEX(A:A;F1+1););)+F1
Ergebnisse G:Z: G2: =WENN(SPALTE(A1)<=$F2-$F1;INDEX($B:$B;SPALTE(A1)+$F1);"")
Falls es kein A:A gibt, und die Daten ab B1 stehen:
Hilfsspalte F: F2: {=MIN(WENN(INDEX(B:B;F1+1):B$20000="JAN";ZEILE(INDEX(B:B;F1+1):B$20000)))}
Ergebnisse G:Z: G2: =WENN(SPALTE(A1)<=$F3-$F2;INDEX($B:$B;SPALTE(A1)+$F1);"")