Excel-Datenvalidierungsformel

Excel-Datenvalidierungsformel

Ich habe eine Tabelle mit einer Eingabespalte und habe zwei Tabellen mit den zulässigen Eingabewerten eingerichtet. Die richtige Tabelle hängt vom Wert in einer Zelle am Ende jeder Zeile ab. Um zu bestimmen, welche Tabelle zulässig ist, habe ich eine Datenüberprüfungsformel eingerichtet (wie =if cellatendof row>0, table1, table2). Ich habe versucht, die Datenüberprüfung nach unten zu ziehen, aber sie hat keinen relativen Bezug auf die zu prüfende Zelle verwendet. Also bin ich manuell in jede Zelle in der Spalte gegangen und habe die Datenüberprüfungsformel aktualisiert, um die Zelle für diese bestimmte Zeile zu prüfen (wie =if cellatendofrow1>0... then next =if cellatendofrow2>0...).

Dies funktioniert, aber es ist nicht möglich, eine Zeile hinzuzufügen oder zu löschen – oder sogar die Daten zu sortieren –, ohne die Datenüberprüfungsformel zu deaktivieren. Anstatt auf den neuen Speicherort der Zelle zu verweisen, verweist sie auf die ursprünglich fest codierte Zeile. Wenn also eine Zeile hinzugefügt wird, wird Zeile 1 jetzt in Zeile 2 verschoben, aber die Formel betrachtet sie immer noch, cellatendofrow1weil sie so fest codiert wurde, wie alle anderen Zeilen, und die Ergebnisse werden wahrscheinlich ungültig sein.

Gibt es eine Möglichkeit, die Referenz relativ statt statisch zu machen und sie mit dem Rest der Zeile zu verschieben?

Leider kenne ich mich mit VB nicht aus, aber ich könnte es versuchen, wenn das das Problem beheben würde!

Antwort1

Wenn die Tabellenflagge eingeschaltet ist ColumnC(immer!), scheint die Formel wie unten gezeigt zu funktionieren (unter Verwendung benannter Bereiche):

SU479043

verwandte Informationen