Teste vários resultados do INDEX / MATCH sem olhar para eles

0

Eu preciso identificar cada cabeçalho da coluna e, em seguida, testá-lo em relação a outro conjunto de critérios sem realmente mostrar os resultados.

Exemplo:
Todo mundo foi convidado a montar uma equipe de boliche (de quatro pessoas). Cada equipe deve incluir pelo menos uma mulher. Todo mundo se conta e depois entra em um "Y" para os outros três membros da equipe.

Eu preciso de uma fórmula que identifique os quatro membros da equipe e, em seguida, verifique-os em relação a uma lista de sexos mestre e retorne "Verdadeiro" se houver uma mulher.

    
por tvargas 17.02.2017 / 17:07

3 respostas

1

Eu faria isso usando uma fila auxiliar.
Você pode adicioná-lo acima / abaixo do seu intervalo, mantê-lo atualizado usando uma fórmula e também ocultá-lo. A fórmula na linha auxiliar:
=IF(INDEX($N$3:$N$11,MATCH(B2,$M$3:$M$11,0))="f",1,0)

A fórmula para verificar se a equipe inclui pelo menos uma mulher:
=SUM((B3:J3="y")*($B$1:$J$1))>0
Essa é uma fórmula de matriz, então pressione CTRL + SHIFT + ENTER depois de digitá-la.

    
por 20.02.2017 / 22:14
0

Obrigado por todos que olharam e consideraram uma resposta. Enquanto continuei a trabalhar nesse problema ontem, concluí que estava me aproximando disso incorretamente. Acabei modificando o layout da tabela - essencialmente colocando os "y's" no eixo X. A fórmula final envolve muito mais do que o inicialmente solicitado, mas finalmente descobri que a função SMALL era fundamental; nesta versão, eu configuro para retornar o valor para cada ocorrência (eu esperava apenas três) e criei uma fórmula para cada. Depois disso, eu emparelhei com um HLOOKUP e se um erro foi retornado então. viola!

= IF ($ L8="+", SE (AND (ISERROR (HLOOKUP) (INDEX (INDIRECT ("tabelas!" & ADDRESS (79,55 + MATCH) (E $ 6, tabelas! $ BD $ 78: $ CL $ 78,0)) & ":" & ADDRESS (130,55 + MATCH (E $ 6, tabelas! $ BD $ 78: $ CL $ 78,0))), PEQUENO (SE (tabelas! $ BC $ 79: $ BC $ 117 = $ K8, ROW (tabelas! $ BC $ 79: $ BC $ 117) -ROW (ÍNDICE (tabelas! $ BC $ 79: $ BC $ 117,1,1)) + 1), 1 ) ), $ E $ 2: $ K $ 3,1, FALSE)), ISERROR (HLOOKUP (ÍNDICE (INDIRETO ("tabelas!" & ADDRESS (79,55 + MATCH (E $ 6, tabelas! $ BD $ 78: $ CL $ 78 , 0)) & ":" & ADDRESS (130,55 + MATCH (E $ 6, tabelas! $ BD $ 78: $ CL $ 78,0))), PEQUENO (SE (tabelas! $ BC $ 79: $ BC $ 117 = $ K8, ROW (tabelas! $ BC $ 79: $ BC $ 117) -ROW (ÍNDICE (tabelas! $ BC $ 79: $ BC $ 117,1,1)) + 1), 2 )) , $ E $ 2: $ K $ 3,1, FALSE)), ISERROR (HLOOKUP (ÍNDICE (INDIRETO ("tabelas!" & ADDRESS (79,55 + MATCH (6,99 €, mesas! $ BD $ 78: $ CL $ 78, 0)) & ":" & ADDRESS (130,55 + MATCH (E $ 6, tabelas! $ BD $ 78: $ CL $ 78,0))), PEQUENO (SE (tabelas! $ BC $ 79: $ BC $ 117 = $ K8, ROW (tabelas! $ BC $ 79: $ BC $ 117) -ROW (ÍNDICE (tabelas! $ BC $ 79: $ BC $ 117,1,1)) + 1), 3 )), $ E $ 2: $ K $ 3,1, FALSE))), "", "X"), "") como CSE.

    
por 21.02.2017 / 20:02
0

Eu tenho uma pequena variação na resposta de Máté .

  • Crie uma linha auxiliar que simplesmente duplique a coluna M , a coluna "sexo", mas transposto (colocando o gênero de cada pessoa em sua coluna). Por exemplo, usando a Linha 24, coloque

    =INDEX($M$1:$M$10, COLUMN())
    

    na célula B24 e arraste / preencha para a direita, para Coluna J . Não precisamos usar MATCH() porque se (por exemplo) estamos na Coluna F (ou seja, Coluna 6), que é a coluna de Bob, o sexo de Bob está na linha 6. E não precisamos fazer um IF() porque podemos testar o valor no próximo passo.

    Como na resposta de Máté, você pode ocultar essa linha de ajuda se quiser.

    Como alternativa, você pode eliminar totalmente a coluna M e simplesmente armazene os gêneros seguidos.

  • Em algum lugar na linha 2 (por exemplo, Cell N2 ), insira a fórmula

    =SUMPRODUCT(--(B2:J2="y"), --(B$24:J$24="f"))
    

    SUMPRODUCT() , como o próprio nome sugere, multiplica algumas coisas e depois adiciona os produtos. Faz essencialmente a mesma coisa que a de Máté %código%, mas não precisa ser inserido como uma fórmula de matriz. Como Máté não explicou sua resposta: isso verifica cada coluna no intervalo SUM(range1*range2) - B (as colunas para os membros). Ele olha para a linha atual (mostrada como J ) para ver se o membro (correspondente a esta coluna) é um membro da equipe correspondente a essa linha. E olha para a linha 24 para ver se o membro é do sexo feminino. Use 2 para converter -- para TRUE e 1 para FALSE . Multiplique-os para obter um 0 para cada membro que esteja nessa equipe e seja uma fêmea; em seguida, adicione aqueles e zeros para obter o número de mulheres na equipe.

    E, claro, arraste / preencha para a linha 10.

E, claro, você pode testar se a contagem é 0 possivelmente com formatação condicional.

    
por 05.03.2017 / 00:22