Excel インポート セルの色含めるか除外する必要があるセルに色を付けるクライアントがいるため、Excel インポートでインポート セルの色を使用しました。色は正常にインポートされますが、セルを除外するためにセルの色の状態にアクセスする簡単な方法が見つかりませんでした。私が見つけた唯一の回避策は、列スクリプトを取得して行番号を解析することです。これはあまり信頼できないのではないかと心配しています。セルの色を直接読み取る関数はありますか?セルの色をインポートしても、行の状態が変更されたり、列の色のプロパティが設定されたりしないことに注意してください。
dt = Open(
"Data.xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 2 ),
Data Starts on Row( 3 ),
Data Starts on Column( 1 ),
Data Ends on Column( 1 ),
Import Cell Colors( 1 )
)
);
Rlist = {};
t = arg(arg((:SubjectID << get script),4),1);
for(i=1,i<=narg(t),i++,insert into(Rlist, arg(arg(t,i),2))); //the first arg is the colour the second the list of rows
dt1 = dt << subset(rows(Rlist));Re: Excel インポート セルの色これは、式の引数を剥がすのが得意ではない、ブログの読者のための単なる参考情報です。
JMP データ テーブルの列にある色付きのセルの行番号 (および色) を取得する必要がある場合、その列に他のプロパティが関連付けられている場合、[カラー セル] は 4 番目の引数ではありません。
添付のサンプル データ テーブル Big Class.jmp には、列 age と 2 セットの色付きセル (赤と青) があります。 以下は、列 :age に適用された例を使用して、任意の列に適用できる関数です。
CellColors = Function({colnme}, {ccol, cjsl, i, targ, clr={}, found=0},
ccol = column(current data table(), colnme);
cjsl = ccol << get script;
//show(cjsl);
for(i=1, i<=N Arg(cjsl) & found==0, i++,
targ = Arg Expr(cjsl, i);
//show(i, HeadName(targ));
if(Head Name(targ) == "Color Cells", found=1; )
);
for(i=1, i<=N Arg(targ), i++,
insert into(clr, Arg Expr(targ,i))
);
clr
);
clrList = CellColors("age");
show(clrList); Re: Excel インポート セルの色あなたが述べたように、セルの色を取得するために私が知っている唯一の方法は、列のスクリプトを復活させることです。JMP 14 では、これに対する変更は見つかりませんでした。