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

INDIREKT() und intelligente Tabellen

INDIREKT() und intelligente Tabellen
26.01.2021 18:55:42
Johannes
Hallo zusammen,
ich würde gerne in einer Spalte [Mitarbeiter] einer intelligenten Tabelle eine dynamische Datenüberprüfung (Liste) hinterlegen.
Hierzu referenziere ich bis dato über INDIREKT() auf Tabellennamen, die in der Spalte [Team] (Spalte A) der Tabelle stehen. Bis jetzt referenziere ich mittels der absoluten Zelle z.B. INDIREKT("A2"). Funktioniert soweit einwandfrei.
Wenn ich nun aber über den Spaltennamen INDIREKT("[@Team]") versuche auf die einzelnen Zellen in der Spalte zu verweisen, funktioniert dies nicht.Da ich über dieses Problem schon öfters gestoßen bin, würde es mich generell einmal interessieren, ob es hier i-einen Trick gibt, wie ich auf einzelne Zellen in einer Spalte über den Namen verweisen kann.
Vielen Dank vorab für die Hilfe.
Gruß,
Johannes

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

Betreff
Datum
Anwender
Anzeige
AW: iwarum INDIREKT) wenn INDEX() möglich ist ...
26.01.2021 19:07:35
neopa
Hallo Johannes,
...doch stell doch einfach mal (D)eine Beispieldatei (mit ein paar Dummy-Daten ala Name1,...) hier ein
Gruß Werner
.. , - ...
AW: INDIREKT() und intelligente Tabellen
26.01.2021 19:12:20
Daniel
Hi
auf einzelne Zellen vielleicht: =Index(Indirekt("Bezeichnung der Spalte");1)
wobei 1 dann die Postitionsnummer der Zelle innerhalb der Spalte sein muss.
Gruß Daniel
AW: INDIREKT() und intelligente Tabellen
26.01.2021 21:28:01
Johannes
Hi,
erstmal danke euch beiden für die Antworten.
@Daniel: Das würde funktionieren wenn du jeweils nur einen Wert aus der jeweiligen Tabelle benötigst. Für meinen Fall (Datenüberprüfung als Liste) kann ich das leider nicht gebrauchen.
Anbei einmal eine Beispieldatei. Dann wird es denke ich nochmal deutlicher.
https://www.herber.de/bbs/user/143343.xlsx
LG,
Johannes
Anzeige
Das geht schon, ...
27.01.2021 05:14:36
Luc:-?
…Johannes,
nur hast du die Regeln für das HptArgument von INDIREKT nicht ausreichend beachtet. Im Prinzip hättest du nur =INDIREKT(Tabelle3[@Team]) schreiben müssen, dann aber gleich einen MitarbeiterNamen in der ZellFml herausbekommen und nicht den Namen der gewünschten Tabelle als Text, weil INDIREKT stets einen Bezug liefert, den es aus dem Text des HptArguments erstellt, sofern das möglich ist. Und das gelingt nicht bei einem MitarbeiterNamen, weil du den TabellenNamen als Text benötigst, um ihn zu einem vollständigen Bezug als Text ergänzen zu können. Deshalb muss die Gültigkeitsfml in deinem Fall so aussehen:
=INDIREKT(INDIREKT("Tabelle3[@Team]")&"[#Daten]")
Und die Xl-Version ist selbstverständlich nicht ohne Relevanz, denn so gehen inzwischen die meisten AWer davon aus, dass du über eine weitgehend aktuelle Version verfügst. Dann stünde dir höchstwahrscheinlich die neue Xl-Fkt TEXTVERKETTEN zV, mit der du das Ergebnis der Gültigkeitsfml auch in deinen TestZellen per ZellFml überprüfen könntest (alternativ mit UDF VJoin aus dem hiesigen Archiv).
Wie du siehst, ist INDIREKT mit Bezügen auf definierte Tabellen deutlich komplizierter zu handhaben als sonst möglich.
Morhn, Luc :-?
Anzeige
AW: INDIREKT() und intelligente Tabellen
27.01.2021 10:45:29
Luschi
Hallo Johannes,
so gern ich die 'intelligenten Tabellen' (in Vba 'ListObjects') in der Makroprogrammierung lobe, so mangelhaft ist die Umsetzung auf der Excel-Oberfläche für den normalen Anwender.
Hier mal meine Version, um die Indirekt()- Funktion zu umgehen:
https://www.herber.de/bbs/user/143351.xlsx
Gruß von Luschi
aus klein-Paris
PS: Wie man die leeren Positionen auch noch eleminiert, kommt etwas später.
AW: mit INDEX() flexibel und weniger Aufwand ...
27.01.2021 10:49:28
neopa
Hallo Johannes,
... und man kommt mit einer konstanten Anzahl an benannten Namen aus, egal ob es nur 2 oder auch mehr Teams zur Auswahl stehen..
Dafür wandele mit der Funktion "Tabelle in Bereich konvertieren" zunächst Deine bisherigen "intelligenten" Tabellen Team1 und Team2 zurück in "normale" Listen und dann erzeuge für A1:B4 nur eine neue "intelligente" Tabelle. Den von Excel dafür automatisch erzeugten Namen habe ich im Namensmanager z.B. Tab_Teams ("sprechender" Name) umbenannt.
Bei aktivierter Zelle E2 (in Deiner Ergebnisliste) definiere nun folgende benannte Formel:
=INDEX(Tab_Teams;;VERGLEICH(Tabelle1!D2;Tab_Teams[#Kopfzeilen];))
die ich z.B. _Auswahl_MA bezeichnet habe.
In die Quelle der Liste der Datengültigkeit(en) schreibst Du nun: =_Auswahl_MA
Die beiden "intelligenten" Tabellen kannst Du nun beliebigen verschieben und die Tab_Teams beliebig ergänzen. Und da nicht nur neue Namen für Team1 und Team2 sondern auch weitere Teamnamen ergänzen. Ohne weiteres Zutun werden alle neue Daten in den Dropdownzelle Deiner Ergebnisliste richtig zur Auswahl angeboten. Die Auswahl der Teams wurde von mir analog geändert.
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFG
4       
5 Team1Team2Team3Team4  
6 MüllerSchützMA1weitere 1  
7 MayerBaumMA2weitere 2  
8 HuberMustermannMA3weitere 3  
9 Schuster MA4weitere 4  
10       
11    TeamMitarbeiter 
12    Team1Mayer 
13    Team3MA3 
14    Team2Baum 
15    Team4weitere 2 
16       

NameBezug
_Auswahl_MA=INDEX(Tab_Teams;;VERGLEICH(Tabelle1!XFD4;Tab_Teams[#Kopfzeilen];))
_Auswahl_Team=Tab_Teams[#Kopfzeilen]

ZelleGültigkeitstypOperatorWert1Wert2
E12Liste =_Auswahl_Team 
F12Liste =_Auswahl_MA 
E13Liste =_Auswahl_Team 
F13Liste =_Auswahl_MA 
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: ergänzender Hinweis ...
27.01.2021 11:19:00
neopa
Hallo,
... in der Formel ist ... Tabelle1!XFD4 ... dadurch entstanden, dass ich die Ergebnistabelle nachträglich in Gänze (u.a. nach links!) verschoben habe.
Wenn die Formel dort definiert wurden wäre, lautet si:
=INDEX(Tab_Teams;;VERGLEICH(Tabelle1!E12;Tab_Teams[#Kopfzeilen];))
Und wenn vermieden werden soll, dass Leerzellen in der Dropdownzelle nicht angezeigt werden sollen, wenn in der Quelldatenlíste weniger Daten gelistet sind als für das Team mit der max. Anzahl an MA dann z.B. folgende Formel (in E12 definiert) anstelle vorgenannter:
=INDEX(Tab_Teams;1;VERGLEICH(Tabelle1!E12;Tab_Teams[#Kopfzeilen];)):INDEX(Tab_Teams;SUMME((Tab_Teams"")*(Tab_Teams[#Kopfzeilen]=Tabelle1!E12));VERGLEICH(Tabelle1!E12;Tab_Teams[#Kopfzeilen];))
Gruß Werner
.. , - ...
Anzeige
Eben, Luschi & Werner, ...
27.01.2021 18:11:44
Luc:-?
…ihr habt mehr oder weniger aufwendige Alternativen gezeigt, aber nicht die eigentliche Frage beantwortet, ob INDIREKT nicht mit der in definierten Tabellen üblichen Adressierung verwendet wdn kann. Dabei habt ihr nicht beachtet, dass die schon vorhandene Lösung des Fragestellers wesentlich unkomplizierter ist als eure alternativen Lösungen und auch meine, seiner Frage eher bzw direkt entsprd.
Außerdem ist das Ganze ein Hinweis darauf, dass Evaluate für Adressen unkomplizierter fktioniert als für ganze Fmln, bei denen idR keine gestaffelte MehrfachAnwendung dieser Methode möglich ist.
Gruß, Luc :-?
PS: Eigentlich könnte und sollte sich Johannes dazu äußern… :-|
Anzeige
AW: war und ist schon teils anders ...
27.01.2021 19:35:32
neopa
Hallo Luc,
... in meinem ersten Beitrag im thread hatte ich zum Ausdruck gebracht, dass ich INDEX() anstelle INDIREKT() bevorzugen würde und bat um eine Datei, um das aufzuzeigen.
Für die dann bereitgestellte datei hab ich dann meinen Lösungsvorschlag aufgezeigt. Dies erscheint nur deswegen aufwendiger, weil Johannes seine Quelldaten anstelle in einer "intelligenten" Tabelle in mehreren Listenbereichen erstellt hat.
Die von Dir aufgezeigte und erklärte INDIREKT()-Formel mag für Dich unkomplizierter sein, für mich ist es weiterhin (m)eine INDEX()-Formel. Dafür ist nur eine "intelligente" Quelltabelle und eine benannte Formel notwendig. Dies ist auch von Vorteil, wenn man nachträglich mehr Teams als Datenbasis zur Verfügung stellen will.
Gruß Werner
.. , - ...
Anzeige
Das habe ich nicht gemeint, ...
28.01.2021 03:15:43
Luc:-?
…Werner,
sondern das, was er urprünglich als Gültigkeitsfml (mit AuswahlMöglichkeit) eingetragen hatte. Seine Versuche, das durch die in definierten Tabellen übliche Adressierungsform, ebenfalls unter INDIREKT-Nutzung, zu ersetzen, waren gescheitert und darauf bezog sich seine Frage. Die beiden Hilfszellen dienten nur der Veranschaulichung seiner Gültigkeitsfml-Versuche, weshalb sie auch mit TextPräfix versehen waren.
Wie man das lösen kann, musste ich auch erst herausfinden, was deshalb für mich von Interesse war, weil solche Fmln Probleme bei meiner Fml-Analyse-UDF Parse verursachen, an der ich demnächst weiterarbeiten will, um auch die zu lösen. Die UDF muss nämlich mit allem zurechtkommen, was gültig ist und auftreten kann, weshalb mir AlternativLösungen nichts nutzen, sofern ich deren Analyse schon im Griff habe.
Morhn, Luc :-?
Anzeige
AW: danke, einen angenehmen Tag Dir owT
28.01.2021 09:19:46
neopa
Gruß Werner
.. , - ...

55 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige