¿Cómo puedo agregar una columna de resultados de prueba final con una excepción mencionada a continuación?

Pido disculpas por preguntar el mismo tipo de pregunta una y otra vez.
Gracias
Esta es la fórmula que se me ocurrió. Asegúrate de estudiarla y comprenderla. Si tienes preguntas al respecto, comunícate con la Comunidad para obtener una aclaración.
If( Col Max( Col Sum( :Result == "Pass", :SN, :Run ), :SN ) == Col Number( 1, :SN, :Run ),
val = "Pass",
val = :Result[Col Min( If( :Result != "Pass" & :Final test check == 1, Row(), . ), :SN )];
If( val == "Bin10" & Col Sum( :Result == "Bin3", :SN ),
val = "Bin3"
);
);
val;

Gracias Jim,
Esto funciona perfectamente bien para conjuntos pequeños de datos. Cuando lo utilicé con mis datos reales (4000 filas), tardó mucho en ejecutarse. ¿Hay alguna manera de hacerlo más rápido?
Veamos si esto acelera las cosas.
Esto no es una fórmula, es un script JMP.
Abra una nueva ventana de script JMP y pegue el siguiente script en la ventana.
Abra la tabla de datos que desea procesar o, si ya está abierta, simplemente haga clic en ella para convertirla en la tabla de datos actual.
Regrese a la ventana del script y ejecute el script.
Creará una nueva columna en la tabla de datos actual.
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "theRow", set each value( Row() ) );
Wait( 0 );
dts = dt << Subset( invisible, By( :SN ), All rows, Selected columns only( 0 ), selected columns( 0 ) );
For Each( {d}, dts,
d << New Column( "calculated wanted column",
character,
formula(
If( Col Max( Col Sum( :Result == "Pass", :Run ) ) == Col Number( 1 ),
val = "Pass",
val = :Result[Col Min( If( :Result != "Pass" & :Final test check == 1, Row(), . ), :SN )];
If( val == "Bin10" & Col Sum( :Result == "Bin3" ),
val = "Bin3"
);
);
val;
)
);
dt << Update(
With( d ),
Match Columns( :theRow = :theRow ),
Replace Columns in Main Table( :calculated wanted column )
);
Close( d, nosave );
);<BR />dt << delete columns(theRow);
