Clever-Excel-Forum

Normale Version: Index mit Variablem Start
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Community, 

nach dem mir schon mit meinem ersten Problem so toll geholfen wurde, hoffe ich, dass ihr mir bei dem zweiten auch helfen könnt. Ich habe dafür eine Excel angehängt, damit es besser verständlich ist. 

In dem ersten Arbeitsblatt ist eine Liste wo alle Daten aus dem zweiten Arbeitsblatt in eine Tabelle übernommen werden. Hier habe ich das Problem, dass ich nicht weiß, wie ich die Formel so variabel schreiben kann, dass er immer von dem Feld 1 (Name aus DropDown) aus in der Datenbank entsprechende Felder nach Rechts und nach unten geht. Er geht immer vom ersten Datensatz aus, weil die Felder entsprechend fix definiert sind. 

In dem zweiten Arbeitsblatt ist quasi die Datenbank, wo alle Daten immer gepflegt werden sollen. 

Ich weiß nicht ob es so mit der Index Formel geht oder ob mit weiteren Formeln wie Bereich.Verschieben oder Vergleichen gearbeitet werden muss. Ich habe schon zig Ansätze probiert, komme aber auf keine gültige Formel bzw. richtige Lösung. 

Ich hoffe mein Problem ist verständlich geschrieben und ihr könnt mir helfen. Vielen Dank schon einmal an dieser Stelle. 

Xani
Hallo Xani,

(04.12.2017, 14:39)Xani schrieb: [ -> ]In dem zweiten Arbeitsblatt ist quasi die Datenbank, wo alle Daten immer gepflegt werden sollen.
Hm. Nein, als Datenbank würde ich das nicht bezeichnen. Eher eine rudimentäre Datensammlung. Eine (annähernd) richtige Datenbank hätte hier schon mehere Tabellen.

Im Prinzip wäre das was Du auswerten willst geeigneter für eine Datenbank und das was Du als Datenbank bezeichnest wäre das, was ich daraus auswerten würde.  :21:

Hier mal ein Vorschlag für das Auto:
Code:
B2 =INDEX(INDEX(Namen;VERGLEICH(Liste!$A2;Namen;0)):INDEX(Datenbank!F:F;VERGLEICH(Liste!$A2;Namen;0)+5);2;3)

Das Auto je Bereich immer in Zeile 2 und Spalte 3, daher sind die beiden letzten Parameter 2 und 3.
Jetzt musst Du das ganze für alle Spalten ermitteln und in der Formel austauschen, also z. B. für Stellplatz: Zeile 3, Spalte 3 / für Rufnummer: Zeile 2 und Spalte 6 etc.

Alternativ geht auch:
Code:
B2 =VERWEIS(2;1/(Datenbank!$A$1:$A$16=$A2);Datenbank!C$2:C$17)
C2 =VERWEIS(2;1/(Datenbank!$A$1:$A$16=$A2);Datenbank!C$3:C$18)
D2 =VERWEIS(2;1/(Datenbank!$A$1:$A$16=$A2);Datenbank!C$4:C$19)
Das ganze dann einmal komplett nach rechts kopieren. Dann nach unten.
Hallo,

schaffe eine vernünftige Datenbasis, dann ist das kein größeres Problem.
Hallo Michael, 

vielen Dank für deine Antwort. Ich schaue mir das morgen gleich an mit der Formel ob ich das so hinbekomme.

Dir auch vielen Dank für den Vorschlag mit einer richtigen Tabelle Jonas, das Problem ist nur, dass die Beispieldaten viel weniger sind als die richtigen Daten und eine tabellarische Darstellung daher nicht übersichtlich genug ist, daher muss ich ja zu solchen Formeln greifen bzw. danach suchen. Sverweis und Wverweis wären mir auch tausend mal lieber :)

Schöne Grüße

Xani
Guten Morgen,

(04.12.2017, 16:09)Xani schrieb: [ -> ]...eine tabellarische Darstellung daher nicht übersichtlich genug ist...

Ich bezweifel, dass diese Form der Darstellung "übersichtlicher" ist. Wie auch immer, es geht darum eine vernünftige Datenbasis zu schaffen. Diese lässt sich dann auch entsprechend auswerten, was mit Deiner Struktur nur sehr schwer möglich ist.

Wenn Du erst mal eine vernünftige Datentabelle hast, ist es ein Leichtes die Daten in der Form die Du möchtest darzustellen. Dafür kommen dann die entsprechenden Formeln, Diagramme, Pivots etc, zum Einsatz. (z.B. zum Druck, oder für Präsentationen...)
Guten Morgen,

@Jonas, die tatsächlichen Daten umfassen viel mehr Eingabefelder, so dass die Maske in der tabellarischen Form ewig breit wäre und es nicht auf einen Blick mehr möglich ist ohne Scrollen alle Informationen zu sehen. Das ist mein großes Problem. Alle Felder müssen übersichtlich auf einen Blick sein, damit sie gepflegt werden können. Daraus muss dann eine Tabelle gemacht werden, wo aber nicht alle Felder benötigt werden, da einige zu Preiskalkulationen in der Übersicht sind aber in der Tabelle nicht auftauchen. Ich kann also leider keine für Formeln optimierte Datenbankbasis erstellen, sondern muss diese Benutzeroptimiert darstellen und dann versuchen die Formeln entsprechend hinzubiegen. Wie gesagt, wäre es mir andersherum auch wesentlich lieber, dann wäre ich mit dem Thema nämlich schon lange durch.


@Michael

Ich versuche gerade deine schöne Formel an meine Datenbank anzupassen. Zwei Fragen habe ich:
B2 =INDEX(INDEX(Namen;VERGLEICH(Liste!$A2;Namen;0)):INDEX(Datenbank!F:F;VERGLEICH(Liste!$A2;Namen;0)+5);2;3)
Was bedeutet der Zusatz F:F beim Arbeitsblatt "Datenbank" Datenbank!F:F und was bedeutet +5 in der Formel ? Sorry ich stehe total auf den Schlauch, da ich mit der Index und Vergleichen Formel überhaupt keine Erfahrung habe. Vielen Dank für die Hilfe.

Schöne Grüße 

Xani
Hi,

ich habe ein Arbeitsblatt mit 60 Eingabefeldern, die übersichtlich angeordnet sind, eine Datentabelle hat 60 Spalten, die nur als Basis dient und nie angeschaut werden muß, sowie ein Ausgabeblatt zur Darstellung der Daten.
Die Daten aus der Eingabemaske werden dann per VBA-Makro in die Datenbank geschrieben.

Und wenn es 120 Felder oder 180 wären, würde das Eingabeblatt eben nach unten und/oder rechts gescrollt werden.
Ich verstehe das Problem nicht, weswegen Du keine ordentliche Datenbasis aufbaust.
Dein Blatt "Liste" ist eigentlich die Datenbank und Dein Blatt "Datenbank" sollte als Eingabe oder Anzeige Verwendung finden.

In einer richtigen (Access-)Datenbank pflegst Du doch die Daten auch nicht in der Datenbasis (Dein Blatt 1 = Liste), sondern in Eingabemasken.

Eingabe
ABCDEFGHIJK
1
2Eingabefeld
3Anzeigefeld
4
5
6Stellplatz4NameKlaus MüllerschönRufnummerTele-Klaus
7AutoMercedesFaxFax-Klaus
8Kennzeichen123456MobilMobil-Klaus
9


Anzeige
ABCDEFGHIJK
1
2Auswahlfeld
3Anzeigefeld
4
5
6Stellplatz3NameMaikeRufnummer4564
7AutoEnteFax1561
8Kennzeichen30168Mobil1531
9

verwendete Formeln
Zelle Formel Bereich N/A
D6=SVERWEIS($B$6;tblDaten;2;0)
G6=SVERWEIS($B$6;tblDaten;5;0)
D7=SVERWEIS($B$6;tblDaten;3;0)
G7=SVERWEIS($B$6;tblDaten;6;0)
D8=SVERWEIS($B$6;tblDaten;4;0)
G8=SVERWEIS($B$6;tblDaten;7;0)


Datenbank
ABCDEFG
1StellplatzNameAutoKennzeichenRufnummerFaxMobil
21LisaPolo1234564564135564612531
32TimPorsche456894156415341541153123123
43MaikeEnte30168456415611531
5
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit