2016-06-10 5 views
1

Ich habe eine Excel 2013-Tabelle namens 'student_courses' mit Spalten: stu_id, stu_major, stu_course und eine berechnete Spalte namens valided_crs.Wie kann ich strukturierte Referenzen verwenden, um Spalte zu identifizieren und Zeilenwerte in der angegebenen Spalte als Kriterien zu verwenden?

Ich versuche, eine Formel für die berechnete Spalte namens valided_crs zu erstellen, die jeden Datensatz auswertet.

In dieser berechneten Spalte muss ich auf den Wert in der stu_major-Spalte verweisen, um eine Spalte in einer zweiten Tabelle zu finden, "qualified_courses". Die Header in der Tabelle 'qualified_courses' korrelieren mit den stu_major-Werten.

Ich muss überprüfen, ob einer der Werte in der korrelierten Spalte in 'qualified_courses' mit dem Wert 'stu_course' im Datensatz übereinstimmt, der in der Tabelle 'student_courses' ausgewertet wird.

Wenn einer der Werte in der korrelierten Spalte mit dem Wert stu_course für einen bestimmten Datensatz in der ersten Tabelle übereinstimmt, sollte in der berechneten Spalte der Wert "validiert" zurückgegeben werden.

Bisher habe ich herausgefunden, wie die Werte der zweiten Tabellenspalte mit =INDIRECT("qualified_courses"&"["&[@[stu_major]]&"]") zurückgegeben werden, aber ich bin mir nicht sicher, wie die zurückgegebene Gruppe von Werten mit dem stu_course-Wert überprüft, um zu sehen, ob es eine Übereinstimmung gibt.

Vielen Dank,

Lindsay

student_courses Tabelle:

stu_id  stu_major  stu_course  validated_crs 
5432  MULTE   BIOL1102  validated 
5432  MULTE   MUSC1303  NULL 
5432  MULTE   ENGL2303  validated 
6737  MULTM   HIST1104  validated 
6737  MULTM   BIOL1222  NULL 
6737  MULTM   EDUC2303  validated 
6737  MULTM   EDUC1302  validated 

qualified_courses Tabelle:

MULTA  MULTB   MULTE   MULTM 
ART1301 HIST1301  BIOL1102  HIST1104 
BIOL1322 POLS2210  ENGL2303  EDUC2303 
ENGL1440 IS3340  ART3303  EDUC1302 
      BIOL2302  BIOL1222  MUSC1303 
+0

ich versuchen. Ich habe das vorher nicht getan, also gib mir ein paar Minuten um es herauszufinden. –

+0

Vielen Dank für die Korrektur :) –

Antwort

2

Diese Formel baut auf Ihr:

=IF(ISNUMBER(MATCH([@[stu_course]],INDIRECT("qualified_courses"&"["&[@[stu_major]]&"]"),0)),"Validated","") 

Wir verwenden die MATCH-Funktion, um die zurückgegebene Spalte für den Kurs zu suchen. Wenn es einen gibt, gibt es eine Zahl zurück, sonst einen Fehler.

Die ISNUMBER gibt TRUE/FALSE zurück, die das IF verwendet, um zu bestimmen, welches Ergebnis.

Aber ich mag nicht die INDIREKTE() Formel, wie es eine VOLATILE Formel ist. Ich bevorzuge den INDEX Formel:

=IF(ISNUMBER(MATCH([@[stu_course]],INDEX(qualified_courses,0,MATCH([@[stu_major]],qualified_courses[#Headers],0)),0)),"Validated","") 

Welche wird das gleiche zurückgeben.

Anstelle der INDIREKTEN, um die richtige Spalte zu finden, verwenden wir INDEX/MATCH. Wiederum gibt das MATCH eine Zahl zurück, dieses Mal der Spalte in der zweiten Tabelle.

Der INDEX() verwendet diesen Nubmer, um die vollständige Spalte an dieser Position zurückzugeben. Die 0 beim zweiten Kriterium besagt, dass wir die vollständige Spalte wollen.

Dann ist es genau wie die erste.

VOLATILE Formeln sind solche, die jedes Mal neu berechnet werden, wenn Excel neu berechnet, ob die Daten, an die es gebunden ist, geändert wurden oder nicht.

Nicht flüchtige Formeln werden nur neu berechnet, wenn sich die Daten, auf die sie sich beziehen, ändern.

Die validated_cs Spalte im Bild ist die Top-Formel und die nächste Spalte ist der Boden:

enter image description here

+0

Danke Scott. Ich kann noch nicht arbeiten. Ich benutze Strg + Shift + Enter für die Array-Index-Übereinstimmung. Würde es einen Unterschied machen, dass sich die beiden Tabellen auf verschiedenen Arbeitsblättern in derselben Arbeitsmappe befinden? –

+0

Es sollte nicht wichtig sein, ob sie sich auf verschiedenen Blättern befinden, da die Tabellen an die Arbeitsmappe gebunden sind. Verwenden Sie nicht Strg-Umschalt-Enter, keine dieser Array-Formeln, sie sehen einfach gruselig aus. Überprüfen Sie Ihre Daten auf Leerzeichen und andere nicht druckbare Zeichen. Überprüfen Sie auch, ob die Spalten- und Tabellennamen in der Formel und in den Tabellen gleich geschrieben sind. @LindsayPatterson –

+0

Wenn ich die Mock-Daten reproduzieren und Ihre Index-Übereinstimmung verwenden, funktioniert das großartig, also habe ich nur einige Feinabstimmungen vorgenommen, um herauszufinden, wie man es am realen Daten-Set arbeiten lässt. –

Verwandte Themen