Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfüllt<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Gibt es eine Funktion, die die Zeilennummer der (ersten) Zelle in einer bestimmten Spalte zurückgibt, die ein Kriterium erfüllt, z. B. mit „XYZ“ beginnt oder größer als X ist? Dadurch kann ich die Daten einer relevanten Zelle in einer anderen Spalte abrufen, ähnlich der Funktion der SVERWEIS-Funktion in Excel.
Am liebsten möchte ich es im Formeleditor machen.
Betreff: Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfüllt(Es sieht so aus, als wären a und b Spaltenvariablen, und ich denke, dass der Vergleich der Spalte mit einem Wert immer „false“ zurückgeben würde.) <
Bearbeiten: Beim zweiten Überlegen sollte es gut funktionieren, solange das Kriterium für mindestens eine Zeile in jeder Kombination von Nachkategorien zutrifft (ich dachte zuerst an JSL, nicht an den Spaltenformelkontext, bei dem „aktuelle Zeile“ angenommen wird). Gute Lösung!
Betreff: Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfülltIch glaube, ich habe es selbst mithilfe Ihres ursprünglichen Vorschlags gelöst:
a = :Nach Kriterium 1; b = :Nach Kriterium 2; :Spalte 1[Minimum(Aktuelle Datentabelle() << Zeilen abrufen where(:Spalte 2 == "X" & :Nach Kriterien 1 == a & :Nach Kriterien 2 == b))]
Sehen Sie einen Grund, warum dies nicht funktionieren sollte?
Betreff: Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfülltDas Obige funktioniert für mehrere Fälle in der Spalte „Nach“ (dh nicht nur auf „M“ und „F“ wie im Beispiel beschränkt). Aber es wird nicht für mehrere „Nebenspalten“ funktionieren, ohne es zu sehr zu verkomplizieren. Ich schlage vor, eine neue Spalte zu verwenden, die die Kategorien aus mehreren Spalten kombiniert (z. B. „Alter-Geschlecht“).
Nachfolgend finden Sie eine leicht modifizierte Version, die 1) die Auswahl der ersten oder letzten Zeile ermöglicht (ändern Sie „Min“ in „Max“, um die letzte Zeile zu erhalten) und 2) Fehler verhindert, wenn keine Zeilen die Kriterien erfüllen würden.
Wenn ( N-Reihe ( R = Datentabelle ( „Große Klasse.jmp“ ) << Holen Sie sich Zeilen wo ( : Höhe == 60 ) ) > 0 ,
Wenn ( ( Q = Mindest ( Ort ( : Sex [ R ] , : Sex ) )) > 0 ,
: Name [ R [ Q ]]
)
)
Betreff: Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfülltDanke schön. Was passiert, wenn ich mehrere „Nach“-Kriterien habe? Und wo gebe ich an, ob ich nach der ersten oder letzten Zeile suche, die die Kriterien erfüllt?
Betreff: Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfülltDas scheint zu funktionieren:
r = Current Data Table() << get rows where( :height == 60 );
:name[r[Enthält( :sex, :sex )]];
Es findet den Namen der ersten Person jedes Geschlechts mit einer Körpergröße von 60. Ich bin mir nicht sicher, ob die aktuelle Datentabelle unter allen Bedingungen funktioniert (z. B. bei Beeinträchtigung unabhängig ausgeführter Skripte).
Betreff: Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfülltGibt es eine Möglichkeit, dieser Funktion „Nach“-Kriterien hinzuzufügen? Das heißt zum Beispiel, ich möchte die Zeilennummer der ersten Zelle in Spalte 1 finden, die „X“ entspricht, aber ich möchte das separat für jeden Wert von Spalte 2 tun?
Ich kann das mit komplizierten If-Funktionen machen, aber es wäre schön, wenn ich es auf ähnliche Weise machen könnte, wie die statistischen Funktionen mit Col-Präfix funktionieren.
Betreff: Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfülltDanke schön. Ich habe schon lange danach gesucht!
Betreff: Ermitteln der Zeilennummer einer Zelle, die ein bestimmtes Kriterium erfülltNormalerweise verwende ich Update und Join (oder jsl) für VLOOKUP-ähnliche Arbeiten in JMP.
Aber hier ist eine Möglichkeit, dies mit einer Spaltenformel zu erreichen:
:Höhe[Minimum(
Datentabelle( „Big Class.jmp“ ) << Zeilen abrufen where( :name == „ROBERT“ )
)]
Das Beispiel basiert auf der Beispieldatentabelle Big Class.jmp. Es gibt die Höhe des ersten ROBERT in der Namensspalte zurück. Fügen Sie den Code einfach in den Formeleditor ein.
Beachten Sie jedoch, dass der Tabellenname explizit in der Formel angegeben werden muss, damit es funktioniert. Und wenn Zeilen hinzugefügt/gelöscht werden oder sich Zellwerte ändern, wird diese Art von Formeln, die JSL-Befehle verwenden, die im Formeleditor nicht gefunden werden, möglicherweise nicht automatisch aktualisiert. Wenn ja, muss die Schaltfläche „Übernehmen“ im Formeleditor noch einmal angeklickt werden.