Obtener el número de fila de una celda que cumple un determinado criterio<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />¿Existe una función que devuelva el número de fila de la (primera) celda en una determinada columna que cumpla con un criterio, por ejemplo, comienza con "XYZ" o es mayor que X? Eso me permitirá obtener los datos de una celda relevante en una columna diferente, similar a la función BUSCAR-V en Excel.
Preferiblemente quiero hacerlo en el editor de fórmulas.
Re: Obtener el numero de fila de una celda que cumple con cierto criterio(Parece que a y b son variables de columna, y creo que comparar la columna con un valor siempre arrojaría falso). <
Editar: pensándolo bien, debería funcionar bien siempre que el criterio sea verdadero para al menos una fila en cada combinación de categorías (primero estaba pensando en jsl, no en el contexto de fórmula de columna donde se asume la "fila actual"). ¡Buena solución!
Re: Obtener el numero de fila de una celda que cumple con cierto criterioCreo que lo resolví yo mismo usando tu sugerencia original:
a = :Por Criterio 1; b = :Por Criterio 2; :Columna 1[Mínimo(Tabla de datos actuales() << obtener filas donde(:Columna 2 == "X" & :Por criterio 1 == a & :Por criterio 2 == b))]
¿Ves alguna razón por la que esto no debería funcionar?
Re: Obtener el numero de fila de una celda que cumple con cierto criterioLo anterior funciona para múltiples casos en la columna Por (es decir, no se limita a solo "M" y "F" como en el ejemplo). Pero no funcionará para varias "columnas secundarias" sin complicarlo demasiado. Sugiero usar una nueva columna que combine las categorías de varias columnas (por ejemplo, "edad-sexo").
A continuación se muestra una versión ligeramente modificada que 1) permite elegir la primera o la última fila (cambie Min to Max para obtener la última fila) y 2) evita errores si ninguna fila cumple con los criterios.
Si ( Fila N ( r = Tabla de datos ( "Gran Clase.jmp" ) << obtener filas donde ( : altura == 60 ) ) > 0 ,
Si ( ( q = mínimo ( ubicación ( : sexo [ r ] , : sexo ) )) > 0 ,
: nombre [ r [ q ]]
)
)
Re: Obtener el numero de fila de una celda que cumple con cierto criterioGracias. ¿Qué sucede si tengo varios criterios "Por"? ¿Y dónde especifico si busco la primera o la última fila que cumpla con los criterios?
Re: Obtener el numero de fila de una celda que cumple con cierto criterioEsto parece funcionar:
r = Tabla de datos actual () << obtener filas donde (: altura == 60);
:nombre[r[Contiene( :sexo, :sexo )]];
Encuentra el nombre de la primera persona de cada sexo con altura = 60. No estoy seguro de si la tabla de datos actual funcionará en todas las condiciones (por ejemplo, interfiere con scripts que se ejecutan de forma independiente)
Re: Obtener el numero de fila de una celda que cumple con cierto criterio¿Hay alguna manera de agregar criterios "Por" a esta función? Es decir, por ejemplo, quiero encontrar el número de fila de la primera celda en la columna 1 que es igual a "X", pero quiero hacerlo por separado para cada valor de la columna 2.
Puedo hacer eso con funciones If complicadas, pero sería bueno si pudiera hacerlo de manera similar a la forma en que funcionan las funciones estadísticas con el prefijo Col.
Re: Obtener el numero de fila de una celda que cumple con cierto criterioGracias. He estado buscando esto durante mucho tiempo!
Re: Obtener el numero de fila de una celda que cumple con cierto criterioUsualmente uso Update and Join (o jsl) para trabajos similares a VLOOKUP en JMP.
Pero aquí hay una manera de hacerlo con una fórmula de columna:
:altura[mínimo(
Tabla de datos( "Big Class.jmp" ) << obtener filas donde( :nombre == "ROBERT" )
)]
El ejemplo se basa en la tabla de datos de ejemplo Big Class.jmp. Devuelve la altura del primer ROBERT en la columna de nombre. Simplemente pegue el código en el Editor de fórmulas.
Sin embargo, tenga en cuenta que el nombre de la tabla debe especificarse explícitamente en la fórmula para que funcione. Y si se agregan/eliminan filas o los valores de las celdas cambian, es posible que este tipo de fórmulas que usan comandos jsl que no se encuentran en el Editor de fórmulas no se actualicen automáticamente. Si es así, el botón "Aplicar" en el editor de fórmulas necesita otro clic.