特定の条件を満たすセルの行番号を取得する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />条件を満たす特定の列の(最初の)セルの行番号を返す関数はありますか。たとえば、「XYZ」で始まるか、X より大きいです。 これにより、Excel の VLOOKUP 関数と同様に、別の列の関連するセルのデータを取得できるようになります。
できれば数式エディターで実行したいと考えています。
Re: ある条件を満たすセルの行番号を取得したい(a と b は列変数のようで、列を値と比較すると常に false が返されると思います。) <<間違っています。
編集:よく考えてみると、カテゴリ別の各組み合わせの少なくとも1つの行に条件が当てはまる限り、正常に動作するはずです(最初は「現在の行」が想定される列数式コンテキストではなく、jslを考えていました)。 良い解決策です!
Re: ある条件を満たすセルの行番号を取得したいあなたの元の提案を使用して自分でそれを解決したと思います:
a = :基準 1 による。 b = :基準 2 による。 :Column 1[Minimum(Current Data Table() << get rows where(:Column 2 == "X" & :By Criteria 1 == a & :By Criteria 2 == b))]
これが機能しない理由はありますか?
Re: ある条件を満たすセルの行番号を取得したい上記は、By 列の複数の場合に機能します (つまり、例のように「M」と「F」のみに限定されるわけではありません)。 ただし、あまり複雑にしない限り、複数の「列ごと」では機能しません。 複数の列のカテゴリを組み合わせた新しい列 (「年齢-性別」など) を使用することをお勧めします。
以下は、1) 最初または最後の行を選択できるようにし (最後の行を取得するには Min を Max に変更します)、2) 条件を満たす行がない場合にエラーが発生しないようにする、わずかに変更されたバージョンです。
もし( N列( r =データ表( 「ビッグクラス.jmp」 ) <<行を取得します。 ( :身長== 60 ) ) > 0 、
もし( ( q =分(ロック( :セックス[ r 】 、 :セックス) )) > 0 、
:名前[ r [ q ]]
)
)
Re: ある条件を満たすセルの行番号を取得したいありがとう。 複数の「基準」がある場合はどうすればよいですか? また、条件を満たす最初の行を検索するか最後の行を検索するかをどこで指定すればよいでしょうか?
Re: ある条件を満たすセルの行番号を取得したいこれはうまくいくようです:
r = 現在のデータ テーブル() << 行を取得 where( :height == 60 );
:name[r[を含む( :性別、:性別)]];
身長 = 60 の男女別の最初の人の名前が検索されます。 現在のデータ テーブルがあらゆる条件下で機能するかどうかはわかりません (例: 独立して実行されるスクリプトと干渉する)
Re: ある条件を満たすセルの行番号を取得したいこの関数に「基準」を追加する方法はありますか。 たとえば、「X」に等しい列 1 の最初のセルの行番号を見つけたいのですが、それを列 2 の値ごとに個別に実行したいとします。
複雑な If 関数を使用してこれを行うこともできますが、Col 接頭辞付きの統計関数の動作と同じように実行できれば便利です。
Re: ある条件を満たすセルの行番号を取得したいありがとう。 長い間これを探していました!
Re: ある条件を満たすセルの行番号を取得したい私は通常、JMP での VLOOKUP のような作業に Update and Join (または jsl) を使用します。
ただし、列の数式を使用してこれを行う方法は次のとおりです。
:高さ[最小(
データ テーブル( "Big Class.jmp" ) << 行を取得 where( :name == "ROBERT" )
)]
この例は、Big Class.jmp サンプル データ テーブルに基づいています。 name 列の最初の ROBERT の高さを返します。 コードを数式エディターに貼り付けるだけです。
ただし、テーブル名が機能するには、式の中でテーブル名を明示的に指定する必要があることに注意してください。 また、行が追加/削除された場合、またはセル値が変更された場合、数式エディターにない jsl コマンドを使用するこのタイプの数式は、自動的に更新されない場合があります。 その場合は、数式エディターの「適用」ボタンをもう一度クリックする必要があります。