2016-05-23 8 views
0

Ich habe zwei Spalte, W und R. W ist der Name des Unternehmens, und R der Testtyp des company.They sind im Blatt „Liste“excel dynamischen Namensbereich nicht funktioniert

Wenn ich tippe der Firmenname in der Spalte W, kann ich die Liste in der Spalte R wählen, die den Testtyp der Firma hat. Zum Beispiel, wenn ich "Batman" in W3 eintippe, in der Zelle R3, kann ich "Batcar", "Bat-Shirt" wählen.

Der Testtyp des Unternehmens ist in einem anderen Blatt namens "Batman" gespeichert, das sich in Spalte D befindet. Es würde automatisch auf Basis einer Datenbank aktualisiert. Wenn ich einen neuen Testtyp in die Datenbank einfüge, wird Spalte D der Testtypblätter automatisch aktualisiert.

In "Login", in Spalte R, verwende ich eine Datenüberprüfung, um die Liste zu generieren, es bezieht sich auf "= INDIREKT (Liste! $ W2322)". Und im Namensmanager, lassen Sie "Batman" der campany Name sein, würde der Namensbereich "= Batman! $ D: $ D" sein

Aber in der Liste würde es unten mit so vielen Leerzeichen beginnen. Ich möchte, dass die Liste am Anfang beginnt und mit dem letzten Element in Spalte D endet, keine Leerzeichen mehr.

Kann mir jemand helfen?

+1

Sie müssen umfassen Arbeitsblatt-Namen für dynamischen benannten Bereich auch 'INDIREKT()'. Alternativ können Sie den Bereich zu einer echten Excel-Tabelle machen, dann benannten Bereich zu etwas wie '= YourTableName [ColumnTitle]' – PatricK

+0

In der Zelle, die Liste anzeigen, habe ich bereits schreiben "= INDIREKT ($ W $ 2322)". Ist es das, was du meinst? –

+0

Wenn ich es in Excel-Tabelle mache, würde neue Artikel automatisch nicht als neue Tabelle Artikel –

Antwort

0

Validierungsliste Quelle Änderungsdaten:

=OFFSET(INDIRECT(List!$W2322),MATCH(TRUE,INDEX(INDIRECT(List!$W2322)<>0,),0)-1,0,COUNTA(INDIRECT(List!$W2322))) 

und Ihre Liste von der ersten nicht leeren Zelle der referenzierten Spalte beginnt und nach so vielen Zellen als nicht leer diejenigen darin endet

so Ihre nicht leeren Werte muss die Lösung auch die Liste zu begrenzen untere Schranke an die letzten nicht leeren Zelle


ziemlich umständlicher ist angrenzen:

=OFFSET(INDIRECT(List!$W2322),MATCH(TRUE,INDEX(INDIRECT(List!$W2322)<>0,),0)-1,0,MATCH(LOOKUP(2,1/(INDIRECT(List!$W2322)<>""),INDIRECT(List!$W2322)),INDIRECT(List!$W2322))-MATCH(TRUE,INDEX(INDIRECT(List!$W2322)<>0,),0)+1) 

für die erste Formel ausgebeutet I Raystafarian Lösung von here

für die zweite Formel I die Simoco Lösung von here

mit ausgebeutet
+0

@HuiManChang: hast du es geschafft? – user3598756