Excel COUNTIF 및 MATCH 함수를 JMP로 전송하는 방법현재 Excel에 있지만 JMP로 전송하려는 두 가지 기능(스크린샷 참조)에 대한 JSL 코드를 스크립팅하는 데 문제가 있습니다. 자료는 첨부파일에 있습니다 JMP_Test_Average2.xlsx JMP로 이전하려는 기능은 다음과 같습니다.
- 열 VS 가지고 있다 카운티 기능; =COUNTIF(C3:N3,"-1")
- 각 행에 나타나는 인스턴스 -1의 수를 알고 싶습니다(예: 행 3에서 -1의 인스턴스 수는 2입니다). 열 m(AB) 함수에서는 무시되지만 데이터 시퀀스의 일부이므로 중요합니다.
- 열 PD 가지고 있다 성냥 기능; =(MATCH("-1",C3:N3,0))+1
- -1의 첫 번째 인스턴스가 각 행에 나타나는 위치를 알고 싶습니다(예: 행 3에서 첫 번째 -1이 칼럼 m(LM) 또는 고려할 때 열 12 열 m(AB) 에게 m(MN) ). 열 m(AB) 함수에서는 무시되지만 데이터 시퀀스의 일부이므로 중요합니다.
나는 알고 싶다 JSL에서 이러한 기능을 스크립팅하는 방법 따라서 JMP 테이블을 업데이트하고 Excel에서 계산을 완료한 다음 결과를 JMP 테이블로 가져올 필요가 없습니다.
도움을 주시면 감사하겠습니다.
감사해요.
마이크
Data as found in file JMP_Test_Average2.xlsxData as found in file JMP_Test_Average2.xlsxJMP_Test_Average2.xlsx 파일에 있는 데이터
Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?dt <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>
줄의 -1과 위의 2줄(총 3줄)을 계산하려면 이 코드를 어떻게 수정해야 합니까?
감사해요!
Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?코드에 있는 각 열의 열 이름 테이블 {:AB, :BC, :CD, :DE, :EF}는 어떻게 코드에 의해 자동으로 생성될 수 있습니까?
{:AB, :BC, :CD, :DE, :EF}
감사해요!
동일한 효과를 내기 위해 다음 코드를 시도했지만 여전히 자동으로 생성되지 않습니다.
Evallist({열로(1),열로(2),열로(3),열로(4),열로(5)})
Re: Excel COUNTIF 및 MATCH 함수를 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
);
또는 start 인수를 사용하여 뒤에서 볼 수 있습니다.
Contains( :AB[Index( Row() - 3, Row() )] , -1, -1 )
Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?고마워요!
x=5-Contains(Eval List(:ab[Index(Row(),Row()-3)]),-1);
If(x==5,0,x);Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?이것은 당신이 찾고있는 공식 일 수 있습니다
x = 5 - Contains( Eval List( :ab[Index( Row(), Row() - 3 )] ), -1 );
If( x == 5, x = 0 );
Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?이런 식으로 코드를 작성하려고 했지만 잘 되지 않았습니다.

Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?안녕! 알고 싶어 죽겠어요:
열 "AB"에 둘 이상의 "-1"이 있는 경우 이 범위의 마지막 "-1" 범위 내에 있는 행 수를 어떻게 알 수 있습니까?
감사해요!

Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?여기에서 답을 찾고 내 문제를 해결합니다. 감사합니다!
포함( Eval List( :BC[Index(Row()-3,Row())] ), -1 )Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?도움을 주신 Jim에게도 감사드립니다. 귀하와 Vince가 제 문제를 해결했습니다.
Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?도움을 주셔서 감사합니다. 감사합니다.
Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?다음은 귀하의 스프레드시트를 복제하기 위해 생각해낸 두 가지 수식입니다.
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
)
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"
)
Re: Excel COUNTIF 및 MATCH 함수를 JMP로 전송하려면 어떻게 해야 합니까?이것은 당신에게 기본적인 아이디어를 줄 것입니다.
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)));