Tabellenspaltennamen als Bereich im Index-Array verwenden?

Tabellenspaltennamen als Bereich im Index-Array verwenden?

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", ""),"")

Bildbeschreibung hier eingeben


Wenn ich beispielsweise den Wert in C2 löschen würde, würde die Formel ihn erfolgreich als Fehlerursache kennzeichnen:

Bildbeschreibung hier eingeben


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:Edurch 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.

Bildbeschreibung hier eingeben


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", "")

verwandte Informationen