Kann man diese Abfrage in Excel mit einer Index-Formel lösen?


09.11.2022, 20:57

Die Reihenfolge der Länder in der Ausgangstabelle kann auch mal anders aussehen beispielsweise wie folgt:

Die Struktur der Zieltabelle sollte immer gleich bleiben wie folgt.

Die Formel müsste als irgendwie dynamisch aufgebaut werden.

2 Antworten

Von Experte GutenTag2003 bestätigt

Da hilft am besten:
SUMMEWENNS
ABER wenn tatsächlich pro Land nur einmal Gewinn und Umsatz dargestellt ist gelingt es auch mit INDEX(....;VERGLEICH( ))
Wird aber komplizierter.
Solche Analysen macht man am Besten mit PIVOT.
Die Rohdaten in die richtige Struktur bringen und dann eine PIVOT Tabelle daraus machen...und schon ist die Reporting Weilt ganz einfach.


Nimikon 
Fragesteller
 06.11.2022, 13:18

Könntest du mir mitteilen wie die Formel in B10 bspw. aussehen müsste

0

B10: =INDEX($A$1:$D$5;VERGLEICH($A$9;$A$1:$A$5;0);3)

C10: =INDEX($A$1:$D$5;VERGLEICH($A$9;$A$1:$A$5;0);4)

B11: =INDEX($A$1:$D$5;VERGLEICH($A$9;$A$1:$A$5;0)+1;3)

C11: =INDEX($A$1:$D$5;VERGLEICH($A$9;$A$1:$A$5;0)+1;4)

Klappt es?

Nachtrag (siehe Kommentar des FS):

Bild zum Beitrag

Formel in B10 (und nach rechts und dann die Zeile nach unten kopieren):

=INDEX($C$2:$D$5;SUMMENPRODUKT((($A$9&$A10)=($A$2:$A$5&$B$2:$B$5))*ZEILE($A$1:$A$4));VERGLEICH(B$9;$C$1:$D$1;0))

Wenn Du "Deutschland" in "Frankreich" änderst erhältst Du DEREN Daten.

Bild zum Beitrag

Checke das mal genau. Passt es?

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)
 - (Microsoft Excel, Formel)  - (Microsoft Excel, Formel)

Nimikon 
Fragesteller
 09.11.2022, 20:58

Hallo vielen Dank für deine Rückmeldung. Deine Formeln funktionieren. Aber kann man das auch noch dynamisch gestalten, denn die Reihenfolge von den Ländern kann auch mal anders aussehen und ist nicht fix. Ich habe ein Beispiel in meiner Frage angegeben.

0
Oubyi, UserMod Light  11.11.2022, 13:05
@Nimikon

DAS ist wesentlich aufwendiger und ein sehr unschöner Aufbau der Tabellen, aber ich habe meine Antwort mal erweitert.

0
Nimikon 
Fragesteller
 12.11.2022, 13:38
@Nimikon

Du kannst die Ausgangstabelle auch umstellen wie du magst, da bin ich flexibel, letztendlich werden aber noch mehr Länder dazu kommen und noch mehr Kriterien neben Umsatz und Gewinn auch noch Kosten, Deckungsbeitrag, etc.

0
Oubyi, UserMod Light  12.11.2022, 13:49
@Nimikon

Erstens ist in A10 nach dem "Umsatz" ein Leerzeichen. DAS darf natürlich nicht sein, denn er sucht ja in der Tabelle danach und DA steht es ohne Leerzeihen!
Lösche das mal, und B10 stimmt!

Außerdem hatte ich geschrieben, Du sollst die:

Formel in B10 (und nach rechts und dann die Zeile nach unten kopieren)

Mache das und der Rest stimmt auch.
ODER?

Mehr Kriterien und Länder sollten kein Problem sein. Einfach die Ausgabetabelle erweitern und die Formel so wie sie ist nach rechts dann halt weiter runterkopieren. Der Bereich der Tabelle muss natürlich entsprechend angepasst werden.

0
Nimikon 
Fragesteller
 13.11.2022, 15:08
@Oubyi, UserMod Light

Ich bin gerade unterwegs aber ich teste es nachher, lieben Dank auf jeden Fall für deine Hilfe

0
Nimikon 
Fragesteller
 13.11.2022, 21:40
@Oubyi, UserMod Light

jetzt klappt es, du bis echt ein Excel Crack, vielen Dank, jetzt hoffe ich mal dass ich die Übertragung und die Aufnahme von weiteren Ländern hinbekomme. Vielen Dank nochmal

1
Nimikon 
Fragesteller
 14.11.2022, 10:51
@Oubyi, UserMod Light

ich habe nun eine Übertragung gemacht allerdings gibt es da noch Probleme, ich habe die Tabelle in das Google Spreadsheet kopiert unter dem oben angegeben Link, könntest du da bitte nochmal einen Blick darauf werfen, vielen Dank

0
Oubyi, UserMod Light  14.11.2022, 12:32
@Nimikon

Kleiner Fehler --> Große Wirkung.
Das ZEILE($A$1:$A$4) darf NICHT angepasst werden, das ist eine reine Zählvariable, die angiebt, die wievielte Zeile aus dem INDEX ausgegeben werden soll. Muss also so bleiben, bzw. höchstens die 4 erhöhen, wenn im INDEX mehr Zeilen stehen. Also immer von 1 bis zur maximalen Zeilenzahl im INDEX.
Also DIESE Formel in B24 und kopieren, wie gehabt.

=ARRAY_CONSTRAIN(ARRAYFORMULA(INDEX($C$17:$F$20;SUMMENPRODUKT((($B$14&$A24)=($A$17:$A$20&$B$17:$B$20))*ZEILE($A$1:$A$4));VERGLEICH(B$23;$C$16:$F$16;0))); 1; 1)

Klappt es?

0