Setzen des Tabellennamens als Referenz zum Zweck der Überprüfung der Zellwerte

9875
altern

Ich möchte Zellwerte mit Hilfe der einfachen Liste überprüfen. Es stellt sich jedoch heraus, dass es schwierig ist, diese Liste zu erweitern, ohne dass der Gültigkeitsbereich der Validierung jedes Mal aktualisiert werden muss, wenn ein neuer Wert hinzugefügt wird (siehe Abbildung).

alt text

Meine Frage ist: Kann ich eine dynamische Tabellenreferenz in das Feld 'Quelle' einfügen? Wenn ja, wie könnte ich das tun?

Vielen Dank.

5

5 Antworten auf die Frage

8
Andrew Ross

As of Excel 2010, you can't directly use structured references as the source list for data validation. However, you CAN define a name for the structured reference, and use this new name instead.

For example, if I have a single-column table named Table1 that contains a column named Acceptable Values, I could define a new name ValidValues using the structured reference Table1[Acceptable Values]. In the source field of the data validation list I can enter =ValidValues

Dies ist die beste Antwort für diejenigen, die Excel-Versionen 2010 und höher verwenden. Es ist die schnellste verfügbare Methode und im Gegensatz zur INDIRECT-Methode wird sie nicht beschädigt, wenn Sie Ihre Tabelle oder eine Tabellenspalte umbenennen. ChrisB vor 6 Jahren 0
6
Nick Grealy

Zur Beantwortung Ihrer Frage:

Könnte ich eine dynamische Tabellenreferenz in das Feld "Quelle" einfügen? Wenn ja, wie könnte ich das tun?

Ja! So was...

Verweisen Sie die Tabellenspalte direkt aus dem Datenvalidierungsquellenfeld mithilfe der INDIRECTFunktion.

Beispiel-Datenvalidierungsquelle:

=INDIRECT("Table1[MyColumn]") 

Seien Sie vorsichtig: Änderungen an den Tabellen- / Spaltenreferenznamen werden nicht magisch aktualisiert!

Verweise

  1. https://support.office.com/de/article/INDIRECT-function-21f8bcfc-b174-4a50-9dc6-4dfb5b3361cd?ui=en-US&rs=en-NZ&ad=NZ
  2. http://www.get-digital-help.com/2012/10/15/how-to-use-a-table-name-in-data-validation-lists-and-conditional-formatting-formulas/
3
DMA57361

Ich sehe zwei Möglichkeiten, dies zu tun:

Verwenden Sie einen benannten Bereich

Wählen Sie C1:C6in der Menüleiste den Befehl Einfügen -> Name -> Definieren, und geben Sie einen Namen für den Bereich ein (z. B. "ValidationList"). Im Fenster Datenüberprüfung haben Sie über dem Feld Quelle den Wert festgelegt =ValidationList.

Wenn Sie der Liste Elemente hinzufügen, müssen Sie das Fenster Einfügen -> Name -> Definieren erneut aufrufen, das benannte Element aus der Liste auswählen und denWert von Refers To nach Bedarfändern.

Alle Verweise auf zeigen =ValidationListdann automatisch auf die neu geänderte Liste.

Erweitern Sie den Mittelpunkt der Liste

In diesem Beispiel, das Sie $C$1:$C$6als Listenbereich verwenden, wenn Sie neue Zellen in die Mitte dieser Liste einfügen (z. B. Auswählen C4, Rechtsklicken, Einfügen, Zellen nach unten verschieben), sollte der Bereich für Sie erweitert werden.

1
Gelo32k
  1. Erstellen Sie eine Tabelle, die die Auswahlmöglichkeiten für das Dropdown-Menü enthält.

  2. Zum Formulas> Name Manager> New Nameund definieren einen Namen für die Tabellenspalte, die Sie verwenden möchten Ihre Dropdown - Liste Wahlen zu halten.
    New Name Dialog

  3. Wählen Sie den Bereich / die Zelle aus, den Sie in eine Dropdown-Liste umwandeln möchten, und fügen Sie die Datenüberprüfung wie üblich hinzu, mit der Ausnahme, dass Sie in der Quelle den Namen verwenden, den Sie zuvor definiert haben (zB:) =ListChoices.

Referenz: http://excelsemipro.com/2011/05/a-dynamic-dependent-drop-down-list-in-excel/

Ich weiß nicht, warum das bei Null war. Das ist die richtige Antwort. Ich habe es gerade getestet und macht genau das, was OP will: Eine dynamische Validierungsliste, die mit einer Tabellenspalte verknüpft ist. Martín Valdés de León vor 10 Jahren 0
0
wbeard52

Ich möchte die Antwort von DMA57361 erweitern . Verwenden Sie einen benannten Bereich, machen Sie diesen Bereich jedoch dynamischer, sodass der dynamische Bereich beim Vergrößern oder Verkleinern der Liste beliebig erweitert und verkleinert wird.

Wenn Sie eine Liste haben, die bei C1 beginnt und bei C6 endet, kann der folgende Code erweitert und verkleinert werden. Wenn eine Zelle leer bleibt, wird die Liste angehalten.

=OFFSET($C$1, 0, 0, COUNTA($C:$C),1) 

Platzieren Sie diese Formel in einem benannten Bereich und nennen Sie sie ValidationList. Wählen Sie im Datenvalidierungsdialog die Liste aus und geben Sie =ValidationListals Quelle ein.

Eine wirklich gute Ressource, um dynamische benannte Bereiche zu erstellen: http://www.ozgrid.com/Excel/DynamicRanges.htm