Amostragem de linha do Excel

4

Eu tenho uma tabela do Excel com um grande número de linhas.

Eu gostaria de obter uma amostra aleatória de 100 linhas e ocultar o restante, digamos exibir 1 linha por 500 linhas ou a seleção completamente aleatória de toda a planilha também funciona.

Como posso fazer isso?

    
por user113531 03.06.2016 / 05:14

2 respostas

6

Você pode adicionar uma coluna de números aleatórios usando a fórmula =RAND( ) sem nada entre os parênteses:

Copieafórmuladoconjuntodedadosinteiroparaquetodasaslinhassejampreenchidas.Entãovocêpodeusar'Filtrosdenúmeros'eselecionar'Top10':

Altere o valor para '100' e o filtro selecionará os valores aleatórios 'Top 100'. O resultado será uma amostra aleatória de 100 linhas. Pode haver uma maneira melhor ou mais fácil, mas isso funcionaria.

    
por 03.06.2016 / 07:56
2

Isto é completamente baseado na excelente batesan da abordagem (que esta macro automatiza) .

Digamos que começamos com uma única coluna e, seguindo a sugestão de batesan, adicionamos uma coluna de =RAND() :

Nomeuexemplosimples,atabelatemapenas18entradaseeuqueroselecionar3aleatoriamente.

Executandoamacrocurta:

SubPickThree()DimshAsWorksheet,rngAsRangeSetsh=ActiveSheetSetrng=sh.Range("A1:B19")

    If sh.AutoFilterMode = False Then rng.AutoFilter Field:=2
    If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

    Calculate
    rng.AutoFilter Field:=2, Criteria1:="3", Operator:=xlTop10Items
End Sub

produz:

Cada vez que a macro é reexecutada, um novo conjunto de três linhas aleatórias é escolhido!

    
por 03.06.2016 / 15:30