Excel-Datenvalidierungsformel

1576
Terry

Ich habe eine Tabelle mit einer Eingabespalte und habe zwei Tabellen mit den zulässigen Eingabewerten eingerichtet. Die richtige Tabelle hängt von dem Wert in einer Zelle am Ende jeder Zeile ab. Um festzustellen, welche Tabelle zulässig ist, habe ich eine Datenvalidierungsformel (wie =if cellatendof row>0, table1, table2) eingerichtet. Ich habe versucht, die Datenüberprüfung nach unten zu ziehen, aber es wurde kein relativer Verweis in der Zelle verwendet, die überprüft werden muss. Also ging ich manuell in jede Zelle in der Spalte und aktualisierte die Datenvalidierungsformel, um die Zelle für diese bestimmte Zeile (wie =if cellatendofrow1>0... then next =if cellatendofrow2>0...) zu überprüfen .

Dies funktioniert, aber niemand kann eine Zeile hinzufügen oder löschen - oder sogar die Daten sortieren -, ohne die Datenvalidierungsformel zu deaktivieren. Statt auf die neue Position der Zelle zu zeigen, zeigt sie auf die ursprüngliche Zeile, die fest codiert ist. Wenn also eine Zeile hinzugefügt wird, ist Zeile 1 jetzt in Zeile 2 verschoben, die Formel betrachtet jedoch immer noch die, cellatendofrow1da sie auf diese Weise hartcodiert wurde, wie auch alle anderen Zeilen, und die Ergebnisse werden wahrscheinlich ungültig sein.

Gibt es eine Möglichkeit, die Beziehung relativ zu statisch zu machen und sich mit dem Rest der Reihe zu bewegen?

Tut mir leid zu sagen, dass ich VB nicht kenne - könnte aber versuchen, wenn das Problem behoben würde!

1
Ich muss fragen: Verwenden Sie "A99", "A $ 99", "$ A99" oder "$ A $ 99"? Scott vor 11 Jahren 0
Danke @pnuts und @Scott !! Die Spalte am Ende ist immer dieselbe, nur die Zeilenreferenz würde geändert. Es ist an ein Snipit gebunden, um eine Kopie der Tabelle und des DV-Bildschirms zu senden, es wurde jedoch kein Einfügen vorgenommen. Die genaue Formel lautet = IF ($ AM $ 4> 0, ATTEND, NOATTEND). Wenn Sie dann zum nächsten wechseln, ändern Sie in = IF ($ AM $ 5> 0, ATTEND, NOATTEND) usw. in der Liste. Aus der Antwort klingt es so, als müsste ich nur die $ in der Formel entfernen. Werde es versuchen - danke !! Terry Terry vor 11 Jahren 0

1 Antwort auf die Frage

0
pnuts

If Table flag is say in ColumnC (always!) then formula as shown below seems to work (using named ranges):

SU479043