Wie verweise ich in Excel 2007 dynamisch auf eine Excel-Tabellenspalte? Ich möchte auf eine benannte Spalte einer benannten Tabelle verweisen, und die referenzierte Spalte variiert mit dem Wert einer Zelle.
Ich habe eine Tabelle in Excel (nennen wir sie Tabelle1 ). Ich möchte auf eine seiner Spalten und COUNT
die Zahlen in dieser Spalte verweisen . Ich möchte die referenzierte Spalte dynamisch anhand eines Werts in einer anderen Zelle ( A1
) identifizieren , damit ich das folgende Ergebnis erzielen kann: Wenn ich mich ändere A1
, wird die Formel, die Tabelle 1 [ DynamicallyReferencedColumnName ] zählt, auf die neue Referenz aktualisiert.
Beispiel:
- Wenn
A1
=names
dann wäre die Formel gleichCOUNT(Table1[names])
. - Wenn
A1
=lastname
dann wäre die Formel gleichCOUNT(Table1[lastname])
.
Ich habe es versucht =COUNT(Table1[INDIRECT("$A$1")])
, aber Excel sagt, dass die Formel einen Fehler enthält.
Wie kann ich das machen?
PS Ich habe dieses MSDN-Dokument gefunden, das möglicherweise relevant ist: Excel-Neuberechnung .
Antworten:
Sie hatten es fast geschafft
INDIRECT()
, aber Ihre Logik war ein wenig falsch. Versuchen Sie stattdessen Folgendes:Der Schlüssel zum Erinnern ist, dass
INDIRECT()
nur Text (dh eine Zeichenfolge) für das erste Argument verwendet wird. Daher müssen Sie alle Teile der Tabellenreferenz als Text an die Funktion übergeben.quelle
Die Verwendung der INDIRECT-Methode funktioniert, wird jedoch nach Möglichkeit vermieden, da es sich um eine flüchtige Funktion handelt, die massive Auswirkungen auf die Berechnung Ihrer Tabelle haben kann.
Eine nichtflüchtige Alternative, die das erreicht, was Sie wollen, ist die Verwendung von INDEX / MATCH
-Tim
quelle
Im ersten Schritt richten Sie eine Textzelle ein, die den Namen der Spalte enthält, auf die Sie verweisen möchten (z. B. $ A $ 1). $ A $ 1 enthält beispielsweise "Spalte 2".
dann wäre die Anzahl der Spalten, auf die sich $ A $ 1 bezieht, = Anzahl (indirekt ("Tabelle 1 [" & $ a $ 1 & "]")).
Diese indirekte Methode kann verwendet werden, um alle Teile der Tabellenreferenz zu erstellen, und kann beispielsweise auch so angeordnet werden, dass sie aus verschiedenen Tabellen nachschlägt
Trinkgeld. Wenn die $ a $ 1-Zelle als Dropdown-Liste validiert wird, die auf die Überschriften der einzelnen Tabelle verweist, werden alle Änderungen an der Anzahl der Spalten in der Tabelle sowie alle Änderungen an den Überschriften-Titeln übernommen.
quelle
A1
. Das OP hat dies bereits getan und sagt dies in der Frage. (2) Der zweite Schritt ist eine genaue Kopie der Antwort von Excellll . (4) Das KonfigurierenA1
als Dropdown-Liste der gültigen Spaltennamen scheint eine gute Idee zu sein, aber ich verstehe den Rest des letzten Absatzes der Antwort nicht.Hier ist ein sehr guter Artikel zu strukturierten Referenzen in Excel. Es scheint, dass dies in Excel 2010 etwas anders funktioniert als in Excel 2007.
Verwenden strukturierter Referenzen mit Excel-Tabellen
Grundsätzlich verweisen Sie auf die Tabelle und dann auf die Spalte in der Tabelle.
In diesem Beispiel können Sie wie folgt auf Tabelle 1, Spalte 1 verweisen:
Sie können die Kopfspalten in Ihrer Tabelle benennen. Wenn ich Column1 in Sales umbenennen würde, würde die Formel lauten:
quelle
=COUNT(Table1[A1])
Zellenwert , so etwas. Dabei ist A1 die Zelle, die ich den Spaltennamen enthalten möchte