Tengo datos de una encuesta de 3619 personas que viven en 1000 casas. La columna MID es la identificación de miembro de cada individuo. Por ejemplo: H1M1 es el primer miembro de la primera cámara. H21M3 es el tercer miembro de la casa 21. La columna D tiene números de casa.
Quiero hacer 2 cosas.
- Según la edad, quiero encontrar la clasificación de los miembros de cada casa.
- En la siguiente columna, quiero saber si el miembro es el niño mayor de la casa. Niño es cualquier persona menor de 18 años. Se requiere salida binaria de 1 o 0.
Respuesta1
El método que se muestra a continuación resuelve el problema:
Cómo funciona:
Para encontrar RANGO, fórmula en la celdaD196:
=SUMPRODUCT((--(LEFT(A196,2)=LEFT($A$196:$A$207,2))),(--(B196<$B$196:$B$207)))+1
Una fórmula matricial (CSE) en la celdaF196paraDatos de ayuda:
{=IFERROR(INDEX(LEFT(A$196:A$207,2),MATCH(0,COUNTIF($F$195:F195,LEFT(A$196:A$207,2)),0)),"")}
NÓTESE BIENTermine la fórmula conCtrl+Mayús+Entrar.
Fórmula en la celdaE196:
=IF(AGGREGATE(14,4,(LEFT($A$196:$A$207,2)=F196)*$B$196:$B$207,1)=0,"",(AGGREGATE(14,4,(LEFT($A$196:$A$207,2)=F196)*$B$196:$B$207,1)))
Una fórmula matricial (CSE) en la celdaG196:
{=IF(MIN(IF(LEFT(A$196:A$207,2)=F196,B$196:B$207,""))=0,"",MIN(IF(LEFT(A$196:A$207,2)=F196,B$196:B$207,"")))}
NÓTESE BIENTermine la fórmula conCtrl+Mayús+Entrar.
Fórmula en la celdaH196:
=IFERROR(INDEX(A$196:A$207,MATCH(G196,B$196:B$207,0)),"")
NÓTESE BIEN
También puedes encontrarnombre del miembro mayor, usando la fórmula en la celda H196.
Por pulcritud puedes esconderteDatos de ayuda.
Ajuste las referencias de celda en la fórmula según sea necesario.
Respuesta2
Suponiendo que la MID
columna está ordenada por las dos primeras letras de la entrada, como se muestra:
AgeRank: =RANK(G2,INDEX(Age,MATCH(LEFT(F2,2) & "*",MID_,0)):INDEX(Age,-1+MATCH(LEFT(F2,2)&"*",MID_,0)+COUNTIF(MID_,LEFT(F2,2)&"*")))
EldestKid: =N(G2=AGGREGATE(14,6,1/(INDEX(Age,MATCH(LEFT(F2,2)&"*",MID_,0)):INDEX(Age,-1+MATCH(LEFT(F2,2)&"*",MID_,0)+COUNTIF(MID_,LEFT(F2,2)&"*"))<18)*INDEX(Age,MATCH(LEFT(F2,2)&"*",MID_,0)):INDEX(Age,-1+MATCH(LEFT(F2,2)&"*",MID_,0)+COUNTIF(MID_,LEFT(F2,2)&"*")),1))