Hier anmelden!

Willkommen bei Excellent

Sverweis auf aktive Zelle

Beitrag verlinken am 16.05.2011 geschrieben
  • nach oben

Hallo,

ich habe mal wieder ein komplexes Problem, welches ich gerne über eine Excelformel (nicht VBA oder Makros) lösen würde.

 

Folgendes Problem:

In Tabellenblatt 1 beginnt ab Zeile 6 eine Tabelle:
zB

 

Spalte A Spalte B
Zeile 6 Produkt A 500 €
Zeile 7 Produkt B 400 €
Zeile 8 Produkt C 700 €

Oberhalb dieser Tabelle (also zB in den Zeilen 2-4) würde ich gerne Zusatzinformationen zu den jeweiligen aktiven Zellen abfragen, z.B. Menge, Details etc.

Unter aktiver Zelle verstehe ich, dass man zB in B6 reinklickt und dann die jeweiligen Zusatzinformationen erhält. Analog dazu: Klick in B7 --> Zusatzinformationen werden aktualisiert.

Diese Zusatzinformationen befinden sich im Tabellenblatt 2.

 

Ist dies überhaupt per Excelformel möglich?

 

Ich danke Euch ganz herzlich schon im Voraus für Euren Gehirnschmalz!

Martina

 

Beitrag verlinken am 19.05.2011 geschrieben
  • nach oben
Hallo Martina,


ich würde dein Problem so lösen:

Vor jedem Datensatz deiner Liste/Tabelle (also ab Zeile 6) platzierst du, z.B. beim Produkt, ein Optionsfeld aus den Formularsteuerelementen (Reiter Entwicklertools). In dessen Eigenschaften definierst du einen Zellbezug auf A1 (nur zu Demonstrationszwecken). Jetzt kopierst du dieses Optionsfeld und fügst es vor jeden Datensatz ein.

Wenn du nun auf die verschiedenen Optionsfelder klickst, wird dir eine fortlaufende Zahl in A1 zurückgegeben, angefangen bei der 1. Somit hat jeder Datensatz in der Liste/Tabelle eine eindeutige Nummer. Wichtig hierbei ist, die Reihenfolge nicht zu vertauschen.

Um zusätzliche Informationen aus Sheet 2 auslesen zu können, benötigen wir einen einfachen Sverweis. Problematisch dabei ist das Suchkriterium, da dieses ja dynamisch sein muss. Jetzt kommt wieder die fortlaufende Nummer ins Spiel, die uns das Optionsfeld liefert:
In B1 soll nun der Produktname erscheinen, dessen Optionsfeld angeklickt worden ist. Dazu verwende ich die BEREICH.VERSCHIEBEN-Funktion in ihrer einfachsten Form:
=BEREICH.VERSCHIEBEN(A5;A1;0)

A5 ist bei mir die Spaltenüberschrift über Produkt A. Die Funktion verschiebt nun ausgehend von dieser Zelle den Bereich um die Anzahl von Zeilen, die in A1 steht und liefert den Wert dieser Zelle zurück (klingt das irgendwie verständlich?! *g*).

Folglich steht bei mir in A2 "Produkt A" oder "Produkt B" und so weiter. Nun kann ich mit dem Sverweis in den Zeilen darunter mir die Daten aus dem anderen Sheet holen. Als Suchkriterium verwende ich die Zelle A2.

Wenn du nun möchtest, dass man irgendwo in der Zeile klicken kann und sich anschließend die Daten oben aktualisieren, musst du nur das Optionsfeld breit genug aufziehen. Da es über den Zellen liegt, kann man diese nicht mehr mit der Maus markieren sondern klickt automatisch auf das Optionsfeld.


Dies ist zwar keine Lösung nur mit Excelformeln, aber ein Makro läuft auch nicht
Schwierig wird es natürlich, wenn deine Liste/Tabelle 100.000 Datensätze hat – dann muss wohl der Praktikant die Optionsfelder einfügen .
Auch das Einfügen von Informationen innerhalb der Tabelle geht nicht mehr, da die Reihenfolge der Optionsfelder dann nicht mehr passen würde.

Bei Bedarf kann ich dir eine Beispieldatei zusenden.

Hoffe es hilft dir weiter.

Viele Grüße

Christian
  • Statistiken: 2 Beiträge | 9 Aufrufe

Hier anmelden

Du bist noch kein Mitglied der Community?

Community-Details

  • Suche nach:

  • Community-Name

    Excellent
    Die Excel-Community von ExcelDaily

  • Dein Gastgeber ist

    Martin Althaus

  • Online seit

    17.03.2008

  • Mitglieder

    454

  • Sprache

    Deutsch

powered by mixxt
  • v1.1.1
  • (highfive)