Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zelle als Variable in Formel

Zelle als Variable in Formel
21.11.2016 09:37:36
Bo
Hallo Zusammen
Habe folgendes Problem.
Ich schreibe in Zelle C5 im Reiter "Übersicht" eine Wz-Nr, nach dieser wird dann über ein Makro ein neuer Reiter erstellt der den Namen der Zelle hat. In diesem Reiter habe ich eine Timeline. Wenn diese ausgefüllt ist sieht man im Reiter "Übersicht in den Zellen D5-O5 die Eckdaten der Timeline mit untenstehender Formel. Da ich jetzt aber nicht für jede neue Wz-Nr die Formel ändern will suche ich nach einer Lösung wie ich den Platzhalter XXXX Variabel gestalten kann. Hab schon ein paar Sachen von INDIREKT etc. gehört und gelesen aber bekomme dies leider nicht hin.
Auszug Zelle D5:
{=INDEX(XXXX!$6:$6;MAX((XXXX!$7:$7="x")*SPALTE(XXXX!$7:$7)))}
Danke im Voraus.
Gruß Bo
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dazu ...
21.11.2016 12:19:33
Bo
Danke für deine schnelle Antwort Werner.
Wie schon gesagt weiß ich leider nicht wie ich das Indirekt an der stelle XXXX einsetze damit er mir nachher auf den richtigen Reiter zugreift. Ich bekomme mit meinen Versuchen nicht einmal mehr die Formel geschlossen.
Anzeige
INDIREKT-Anwendung
21.11.2016 14:57:16
WF
Hi,
wenn Deine Variable Tabelle (XXXX) in A1 steht:
{=INDEX(INDIREKT(A1&"!$6:$6");MAX((INDIREKT(A1&"!$7:$7")="x")*SPALTE(INDIREKT(A1&"!$7:$7"))))}
die Dollars und das letzte INDIREKT kannst Du sparen:
=INDEX(INDIREKT(A1&"!6:6");MAX((INDIREKT(A1&"!7:7")="x")*SPALTE(7:7)))
WF
Anzeige
AW: anstelle MAX() mit {} schlage ich vor ......
21.11.2016 15:37:07
...
Hallo Bo,
... nutze AGGREGAT(), dann kannst Du Dir den Matrixformelabschluss sparen. Wenn Deine "Variabler Tabellennamen" in V1 steht, dann so:
=WENNFEHLER(INDEX(INDIREKT(V1&"!6:6");AGGREGAT(14;6;SPALTE(7:7)/(INDIREKT(V1&"!7:7")="x");1));"")
Gruß Werner
.. , - ...
AW: anstelle MAX() mit {} schlage ich vor ......
22.11.2016 11:46:02
Bo
Vielen dank liebes Forum! Ihr habt mir sehr geholfen.
habe es mit folgender Formel perfekt gelöst bekommen.
=WENNFEHLER(INDEX(INDIREKT(V1&"!6:6");AGGREGAT(14;6;SPALTE(7:7)/(INDIREKT(V1&"!7:7")="x");1));"")
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelle als Variable in Formel nutzen


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel als Variable zu nutzen, kannst du die Funktion INDIREKT verwenden. Hier ist, wie es geht:

  1. Definiere die Zelle, die die Variable enthält: Setze die Zelle, die den Namen des Arbeitsblatts enthält, beispielsweise in Zelle A1.

  2. Verwende die INDIREKT-Funktion in deiner Formel: Beispiel:

    =INDEX(INDIREKT(A1 & "!6:6"), MAX((INDIREKT(A1 & "!7:7") = "x") * SPALTE(INDIREKT(A1 & "!7:7"))))
  3. Matrixformeln: Wenn du eine Matrixformel verwendest, musst du diese mit Strg + Shift + Enter abschließen.

  4. Vermeidung von Dollarzeichen: Die Verwendung von Dollarzeichen $ ist nicht notwendig, wenn du die gesamte Zeile oder Spalte ansprechen möchtest.


Häufige Fehler und Lösungen

  • Fehler: Formel wird nicht korrekt geschlossen.

    • Lösung: Überprüfe, ob alle Klammern korrekt gesetzt sind und alle Argumente der Funktionen richtig sind.
  • Fehler: #BEZUG!-Fehler.

    • Lösung: Stelle sicher, dass die Zelle, die du als Variable angibst, tatsächlich existiert und der Tabellennamen korrekt ist.
  • Fehler: Matrixformel funktioniert nicht.

    • Lösung: Achte darauf, dass du die Matrixformel mit Strg + Shift + Enter bestätigst.

Alternative Methoden

Es gibt verschiedene Ansätze, um eine Zelle als Variable in einer Formel zu definieren:

  • Verwendung von AGGREGAT: Anstelle von MAX() kannst du die Funktion AGGREGAT nutzen, um die Matrixformel zu vermeiden:

    =WENNFEHLER(INDEX(INDIREKT(V1 & "!6:6"), AGGREGAT(14, 6, SPALTE(7:7) / (INDIREKT(V1 & "!7:7") = "x"), 1)), "")
  • Nutzung von WENNFEHLER: Dies kann helfen, Fehler in der Formel handzuhaben und Rückgabewerte zu steuern.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die INDIREKT-Funktion nutzen kannst:

  • Beispiel für eine Zelle als Variable definieren:

    =INDIREKT(A1 & "!B2")

    Diese Formel greift auf die Zelle B2 des Arbeitsblatts zu, dessen Name in Zelle A1 steht.

  • Beispiel für das Rechnen mit Variablen:

    =SUMME(INDIREKT(A1 & "!A1:A10"))

    Hier summierst du die Werte von A1 bis A10 im Arbeitsblatt, dessen Name in A1 steht.


Tipps für Profis

  • Benennung der Arbeitsblätter: Verwende aussagekräftige Namen für deine Arbeitsblätter, um die Verwendung von Variablen zu erleichtern.

  • Dynamische Verweise: Nutze die Funktion INDIREKT in Kombination mit anderen Funktionen, um dynamische, anpassbare Formeln zu erstellen.

  • Testing: Teste deine Formeln, um sicherzustellen, dass sie in allen Szenarien korrekt funktionieren, insbesondere wenn Daten in die referenzierten Zellen eingefügt werden.


FAQ: Häufige Fragen

1. Wie definiere ich eine Zelle als Variable in einer Formel?
Du kannst die Funktion INDIREKT verwenden, um eine Zelle, die den Namen eines Arbeitsblatts enthält, in eine Formel einzufügen.

2. Was sind die häufigsten Fehler bei der Verwendung von Variablen in Excel?
Zu den häufigsten Fehlern gehören unkorrekt geschlossene Formeln und falsche Zellverweise, die zu #BEZUG!-Fehlern führen können.

3. Kann ich mehrere Zellen als Variablen in einer Formel nutzen?
Ja, du kannst mehrere INDIREKT-Funktionen kombinieren, um auf verschiedene Zellen oder Bereiche in einer Formel zuzugreifen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige