获取满足特定条件的单元格的行号<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />是否有一个函数可以返回满足某个条件的特定列中(第一个)单元格的行号,例如以“XYZ”开头或大于 X。 这将允许我获取不同列中相关单元格的数据,类似于 Excel 中的 VLOOKUP 函数的功能。
我最好想在公式编辑器中执行此操作。
回复:获取满足特定条件的单元格的行号(看起来 a 和 b 是列变量,我认为将列与值进行比较总是返回 false。)<<错误
编辑:再想一想,只要标准对于按类别的每个组合中的至少一行是正确的,它就应该可以正常工作(我首先想到的是 jsl,而不是假设“当前行”的列公式上下文)。 好的解决方案!
回复:获取满足特定条件的单元格的行号我想我自己用你原来的建议解决了这个问题:
a = :按标准 1; b = :根据标准 2; :列 1[最小值(当前数据表() << 获取行其中(:列 2 == "X" & :按条件 1 == a & :按条件 2 == b))]
您认为这不起作用的任何原因吗?
回复:获取满足特定条件的单元格的行号以上适用于“按”列中的多种情况(即不限于示例中的“M”和“F”)。 但它不适用于几个“副列”,而不会使事情变得太复杂。 我建议使用一个新列来组合多个列中的类别(例如“年龄-性别”)。
下面是一个稍微修改过的版本,1) 允许选择第一行或最后一行(将 Min 更改为 Max 以获取最后一行),2) 如果没有行满足条件,则可以防止错误。
如果( N 行( r =数据表( “大班.jmp” ) <<获取行,其中( :高度== 60 ) ) > 0 ,
如果( ( q =最小(洛克( :性别[ r ] , :性别) )) > 0 ,
:姓名[ r [ q ]]
)
)
回复:获取满足特定条件的单元格的行号谢谢。 如果我有多个“依据”条件怎么办? 我在哪里指定是搜索满足条件的第一行还是最后一行?
回复:获取满足特定条件的单元格的行号这似乎有效:
r = 当前数据表() << 获取行 where( :height == 60 );
:姓名[r[包含( :性别, :性 )]];
它查找每个性别中身高 = 60 的第一个人的姓名。 不确定当前数据表是否在每种条件下都能工作(例如干扰独立运行的脚本)
回复:获取满足特定条件的单元格的行号有没有办法向此函数添加“By”条件。 例如,我想找到第 1 列中第一个等于“X”的单元格的行号,但我想为第 2 列的每个值单独执行此操作?
我可以使用复杂的 If 函数来做到这一点,但如果我能像 Col 前缀统计函数的工作方式那样做到这一点,那就太好了。
回复:获取满足特定条件的单元格的行号谢谢。 我找这个很久了!
回复:获取满足特定条件的单元格的行号我通常在 JMP 中使用 Update 和 Join(或 jsl)进行类似 VLOOKUP 的工作。
但这里有一种使用列公式来实现的方法:
:高度[最小(
数据表( "Big Class.jmp" ) << 获取行 where( :name == "ROBERT" )
)]
该示例基于 Big Class.jmp 示例数据表。 它返回名称列中第一个 ROBERT 的高度。 只需将代码粘贴到公式编辑器中即可。
但是,请注意,公式中必须明确给出表名称才能使其发挥作用。 如果添加/删除行或更改单元格值,则使用公式编辑器中未找到的 jsl 命令的此类公式可能不会自动更新。 如果是这样,则需要再次单击公式编辑器中的“应用”按钮。