
In einer Excel 2016-Tabelle:
Ich habe eine Formel, mit der ich überprüfe, ob übergeordnete Datensätze die richtigen „Verwenden mit“-Werte haben (wenn ein untergeordneter Datensatz einen „Verwenden mit“-Wert hat, müssen seine übergeordneten Datensätze ihn auch haben). Weitere InformationenHier.
Spalte B =
IFERROR(IF(SUMPRODUCT(COUNTIF(INDEX( C:E, [@[Parent - RowNum]],0),Table1[@[Use With 1]:[Use With 3]]))<>COUNTA(Table1[@[Use With 1]:[Use With 3]]), "error", ""),"")
Wenn ich beispielsweise den Wert in C2 löschen würde, würde die Formel ihn erfolgreich als Fehlerursache kennzeichnen:
Frage:
Ich versuche alle zu konvertierenexplizite Zellreferenzen-Zu-Strukturierte Referenzen(auch bekannt als Tabellenspaltennamen). Ich möchte dies tun, um einige Probleme zu vermeiden, die ich beim Hinzufügen/Löschen von Spalten in der Tabelle hatte (und weil ich davon ausgehe, dass dies die beste Vorgehensweise ist/sauberer ist).
Ich habe versucht, C:E
durch zu ersetzen Table1[[Use With 1]:[Use With 3]]
.
=IFERROR(IF(SUMPRODUCT(COUNTIF(INDEX( Table1[[Use With 1]:[Use With 3]], [@[Parent - RowNum]],0),Table1[@[Use With 1]:[Use With 3]]))<>COUNTA(Table1[@[Use With 1]:[Use With 3]]), "error", ""),"")
Wenn ich das jedoch mache, funktioniert die Formel nicht richtig – die Problemzeilen werden nicht mit „Fehler“ gekennzeichnet.
Was ist die richtige Methode, Tabellenspaltennamen als Bereich in einem Index-Array zu verwenden (anstatt explizite Zellreferenzen zu verwenden)?
Antwort1
[#All],
Ich musste nur etwas zum Index-Array hinzufügen .
Table1[[#All],[Use With 1]:[Use With 3]]
Vollständige Formel:
=IF(SUMPRODUCT(COUNTIF(INDEX( Table1[[#All],[Use With 1]:[Use With 3]], [@[Parent - RowNum]],0),Table1[@[Use With 1]:[Use With 3]]))<>COUNTA(Table1[@[Use With 1]:[Use With 3]]), "error", "")