Wie übertrage ich Excel COUNTIF- und MATCH-Funktionen in JMP?Ich habe ein Problem beim Skripten des JSL-Codes für zwei Funktionen (siehe Screenshot), die ich derzeit in Excel habe, aber in JMP übertragen möchte. Die Daten finden Sie in der angehängten Datei JMP_Test_Average2.xlsx und die Funktionen, die ich an JMP übertragen möchte, lauten wie folgt:
- Spalte vs hat ein ZÄHLENWENN Funktion; =ZÄHLENWENN(C3:N3,"-1")
- Ich möchte wissen, wie oft -1 in jeder Zeile vorkommt (z. B. in Zeile 3 ist die Anzahl der Instanzen von -1 2). Spalte m(AB) wird in der Funktion ignoriert, ist aber wichtig, da es Teil der Datensequenz ist.
- Spalte PD hat ein PASSEN Funktion; =(VERGLEICH("-1",C3:N3,0))+1
- Ich möchte wissen, wo die erste Instanz von -1 in jeder Zeile erscheint (z. B. in Zeile 3 erscheint die erste -1 in Spalte m(LM) oder Spalte 12 bei Betrachtung Spalten m(AB) Zu m(MN) ). Spalte m(AB) wird in den Funktionen ignoriert, ist aber wichtig, da es Teil der Datensequenz ist.
ich würde gerne wissen wie man diese Funktionen in JSL scriptet So kann ich meine JMP-Tabelle aktualisieren und muss die Berechnungen nicht in Excel abschließen und die Ergebnisse dann in meine JMP-Tabelle übernehmen.
Jede Hilfe wäre sehr willkommen.
Danke.
Mike
Data as found in file JMP_Test_Average2.xlsxData as found in file JMP_Test_Average2.xlsxDaten wie in der Datei JMP_Test_Average2.xlsx gefunden
Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPdt <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> new Column</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token string">"VS"</SPAN><SPAN class="token punctuation">,</SPAN> formula<SPAN class="token punctuation">(</SPAN>nrows<SPAN class="token punctuation">(</SPAN><SPAN class="token function">Loc</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token function">Evallist</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">{</SPAN><SPAN class="token punctuation">:</SPAN>AB<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>BC<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>CD<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>DE<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>EF<SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token operator">-</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Wie muss dieser Code geändert werden, um die -1 der Zeile und die 2 Zeilen darüber (insgesamt 3 Zeilen) zu zählen?
Danke!
Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPWie kann die Spaltennamenstabelle {:AB, :BC, :CD, :DE, :EF} jeder Spalte im Code automatisch vom Code generiert werden?
{:AB, :BC, :CD, :DE, :EF}
Danke!
Ich habe den folgenden Code ausprobiert, um denselben Effekt zu erzielen, aber er wird immer noch nicht automatisch generiert.
Auswertungsliste({Als Spalte(1),Als Spalte(2),Als Spalte(3),Als Spalte(4),Als Spalte(5)})
Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMP//this gives you a vector of items that are -1
vector_of_neg1 = loc(Aslist(:AB[row()-3::row()]`), -1);
//then you just have to select the last one
n = nitems(vector_of_neg1);
if(n,
vector_of_neg1[n]
, //else 0
0
);
Oder Sie können das Startargument verwenden, um von hinten zu schauen.
Contains( :AB[Index( Row() - 3, Row() )] , -1, -1 )
Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPDanke Jim!
x=5-Contains(Eval List(:ab[Index(Row(),Row()-3)]),-1);
Wenn (x==5,0,x);Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPDas könnte die gesuchte Formel sein
x = 5 - Contains( Eval List( :ab[Index( Row(), Row() - 3 )] ), -1 );
If( x == 5, x = 0 );
Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPIch habe versucht, Code wie diesen zu schreiben, aber es hat nicht funktioniert.

Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPHallo ! Ich möchte unbedingt wissen:
Wenn Spalte "AB" mehr als eine "-1" enthält, wie ermitteln Sie dann die Anzahl der Zeilen, die sich innerhalb des Bereichs der letzten "-1" in diesem Bereich befinden?
Danke!

Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPHier finde ich die Antwort und löse meine eigenen Probleme. Danke!
Contains( Eval List( :BC[Index(Row()-3,Row())] ), -1 )Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPDanke auch für deine Hilfe Jim, du und Vince haben mein Problem gelöst.
Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPVielen Dank für Ihre Hilfe, sehr geschätzt.
Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPHier sind die 2 Formeln, die ich mir ausgedacht habe, um Ihre Tabelle zu replizieren
Für YS
Sum(
:Name( "m(AB)" ) == -1,
:Name( "m(BC)" ) == -1,
:Name( "m(CD)" ) == -1,
:Name( "m(EF)" ) == -1,
:Name( "m(FG)" ) == -1,
:Name( "m(GH)" ) == -1,
:Name( "m(HI)" ) == -1,
:Name( "m(IJ)" ) == -1,
:Name( "m(JK)" ) == -1,
:Name( "m(KL)" ) == -1,
:Name( "m(LM)" ) == -1,
:Name( "m(MN)" ) == -1
)
Für PD
Contains(
Char( :Name( "m(AB)" ) ) || Char( :Name( "m(BC)" ) ) ||
Char( :Name( "m(CD)" ) ) || Char( :Name( "m(EF)" ) ) ||
Char( :Name( "m(FG)" ) ) || Char( :Name( "m(GH)" ) ) ||
Char( :Name( "m(HI)" ) ) || Char( :Name( "m(IJ)" ) ) ||
Char( :Name( "m(JK)" ) ) || Char( :Name( "m(KL)" ) ) ||
Char( :Name( "m(LM)" ) ) || Char( :Name( "m(MN)" ) ),
"-1"
)
Betreff: Wie übertrage ich Excel-Funktionen COUNTIF und MATCH in JMPDies sollte Ihnen eine grundlegende Idee geben.
Names Default to here(1);
dt = new table("Test", add rows(10),
New Column("AB", formula(if(random uniform()<=.8, 1, -1))),
New Column("BC", formula(if(random uniform()<=.8, 1, -1))),
New Column("CD", formula(if(random uniform()<=.8, 1, -1))),
New Column("DE", formula(if(random uniform()<=.8, 1, -1))),
New Column("EF", formula(if(random uniform()<=.8, 1, -1))),
);
cols = dt << Get Column Reference(dt << Get Column Names);
dt << new Column("VS", formula(nrows(Loc(Evallist({:AB, :BC, :CD, :DE, :EF}), -1))));
dt << New Column("PD", formula(Contains(Evallist({:AB, :BC, :CD, :DE, :EF}), -1)));