<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我想製作一個永久列公式,它將自動選擇兩列具有相同數據的行。然後使用此選擇來查找所選行的一列中的最小值。我知道我可以使用 for 循環和腳本來做到這一點,有沒有辦法將“選擇匹配行”命令嵌入到列公式中?
不確定我是否理解,但似乎您正在尋找變量的最小值(例如高度)經過兩個分組列(例如年齡和年齡2 )。
那麼你可以使用這個公式:
最低列( :高度, :年齡, :年齡2 )
你的情況“...如果沒有匹配,則不要列出任何最小值...”我不清楚,上面的公式總是返回最小值,因為至少有一個“匹配”,即行本身。 如果以下組合僅出現一次,則下面的公式應返回缺失值而不是“最小值”年齡和年齡2。
如果(列號( :高度, :年齡, :年齡2 ) > 1 ,
最低列( :高度, :年齡, :年齡2 )
)
拜倫,
不完全的。我需要知道兩組何時匹配:示例:
在第1 行- 年齡= 12,年齡2 = 13 中,顯示同一行中年齡= 12 和年齡2 = 13 的任何其他行,這種情況可能在表中出現20 次,因此在這20 次中,選擇該列這 20 行中的最小值。
現在轉到第 2 行並對其值進行相同的比較,如果沒有匹配項,則不列出任何最小值。
你想做這樣的事情嗎?
在這種情況下,當 :age=:age2 時,我得到一個指示變量。 使用 colminimum() 我可以按年齡、按指示器獲取最小高度(但僅當指示器不丟失時)
(運行此腳本並查看表中的公式)
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << 新列(“年齡 2”,
數字,
“連續的”,
格式(“最佳”,12),
設定值(
[14, 12, 13, 13, 13, 14, 12, 15, 13, 12, 14, 14, 13, 15, 14, 12, 14, 15, 13, 13, 14, 15,
15, 15, 14, 15, 12, 15, 15, 15, 14, 13, 15, 15, 14, 15, 12, 14, 13, 13]
)
);
dt << 新列( "年齡 == 年齡 2",
數字,
“標稱”,
格式(“最佳”,12),
公式( If( :age == :age 2, 1, . ) ),
設置選定
);
dt << New Column( "年齡=年齡2的最小高度",
數字,
“標稱”,
格式(“最佳”,12),
公式(
If( 缺失( :Name( "年齡 == 年齡 2" ) ) == 0,
Col 最小值( :身高, :年齡, :姓名( "年齡 == 年齡 2" ) ),
。
)
)
);