Excel: seleção aleatória na tabela que atende a dois critérios

Excel: seleção aleatória na tabela que atende a dois critérios

Aqui está um exemplo dos meus dados:

Name:        Office:   Years:

John Smith   Canada      1

Bob Smith    Canada      1

Jake Smith   Canada      1

Sarah Smith  Canada      1

Em outra planilha, quero gerar um nome aleatório com base no cargo e nos anos. À medida que arrasto a fórmula para baixo, quero que ela dê um nome diferente a cada vez (é aqui que estou preso). Eu tentei várias fórmulas e esta é a mais próxima.

=INDEX($B$2:$B$436,MATCH(SMALL(IF($D$2:$D$436&$F$2:$F$436=$H$3&$I$3,$G$2:$G$436),1),$G$2:$G$436,0))

Coluna B = Nome Coluna D = Escritório Coluna F = Anos então H3 e I3 são meus valores de pesquisa

coluna G é um conjunto de números aleatórios = Rand()

Responder1

Vou colocar a randomização na própria fórmula. Você sempre pode colocar isso em outra coluna, se quiser.

A coluna A é o nome
A coluna B é o escritório
A coluna C é o ano

Cell G2 é o escritório em que você está interessado
Cell G3 é o ano em que você está interessado

=INDIRECT("A"&LARGE(IF($B$2:$B$7=G2,IF($C$2:$C$7=G3,ROW($A$2:$A$7),0),0), RANDBETWEEN(1,COUNTIFS(B:B,G2,C:C,G3))))

Esta é uma fórmula de matriz e precisa ser inserida usando Ctrl+ Shift+ Enter.

Ele funciona criando uma matriz que contém os números das linhas (se os critérios corresponderem) ou zero se não corresponderem. Então leva ono maior valor, ondené um número aleatório entre 1 e o número de linhas que correspondem aos critérios.

Responder2

Supondo que você queira retornar nomes em A2 para baixo (onde A1 é um cabeçalho ou espaço em branco), use esta fórmula de matriz em A2

=INDEX($B$2:$B$436,SMALL(IF(($D$2:$D$436=$H$3)*($F$2:$F$436=$I$3)*(COUNTIF(A$1:A1,$B$2:$B$436)=0),ROW($B$2:$B$436)-ROW($B$2)+1),RANDBETWEEN(1,SUM(($D$2:$D$436=$H$3)*($F$2:$F$436=$I$3)*(COUNTIF(A$1:A1,$B$2:$B$436)=0)))))

confirme com CTRL+ SHIFT+ CTRLe copie - altere o A$1:A1intervalo nas COUNTIFfunções para corresponder à célula acima da célula inicial.

Nota: - você não precisa de uma coluna de números aleatórios com este método

informação relacionada