2017-12-08 4 views
0

Ich habe zwei Spalten, Spalte A enthält eine ID-Nummer von 1 bis 9999 und Spalte B enthält eine Liste mit Namen. Ich möchte einen dynamischen benannten Bereich für Spalte B erstellen, wo der zugehörige ID-Wert zwischen 999 und 9000 liegt. Normalerweise würde ich die OFFSET-Funktion verwenden, um den benannten Bereich zu definieren. Ist es möglich, die Funktionalität zu erweitern, um Datensätze in Spalte B basierend auf dem Wert in Spalte A auszuschließen?Dynamischer benannter Bereich basierend auf einem anderen Zellenwert

Ich möchte vermeiden, filtern, vba, Pivot-Tabellen oder manipulieren die Rohdaten, wenn möglich.

Dank

+0

Können Sie Beispiel gewünschte Ausgabe geben? – ImaginaryHuman072889

Antwort

0

Hier ist eine Lösung mit nur 1 Einschränkung, dass Sie einen Filter auf ID-Spalte in kontinuierlichen Werten führen soll, z.B. kann der Filter ID> = 5 und/oder ID < = 1000

Wenn dies akzeptabel sein, Lösung wäre:

Zusammen mit ID (Spalte A) & Bezeichnung Spalte (Spalte B), Erstellen eines dritten Spalte (Spalte C), zB Name2, wo

Name2 = =IF(AND($A2>=start_val,$A2<=end_val),B2,"") 

ID Name Name2 
1 A 
2 B 
3 C C 
4 D D 
5 E E 
6 F F 
7 G G 
8 H 
9 I 
10 J 

zwei andere Namen für die Filter mit Formel

start_val 3 
end_val  7 

schließlich schafft einen Namedrange Bereich erstellen :

xyz = OFFSET(Name2,MATCH(start_val,ID,0)-1,,1+MATCH(end_val,ID,0)-MATCH(start_val,ID,0),) 
+0

danke, Spot auf – user3673417

Verwandte Themen