Em uma planilha, é possível separar linhas em grupos que não mudam de ordem quando filtrados?

3

Eu estou tentando criar subgrupos de linha nas minhas linhas de planilha para que eu possa classificar meus dados, mas as linhas em qualquer subgrupo específico permaneçam juntos. Isso é provavelmente mais fácil de mostrar com uma foto.

Classificando linhas dentro de subgrupos por dados de coluna

Idealmente, gostaria de encontrar uma maneira de fazer isso nas planilhas do Google, mas estaria disposto a apostar que isso não é possível, portanto, soluções para qualquer tipo de programa de planilhas são bem-vindas.

    
por gwenger 30.08.2013 / 16:31

3 respostas

1

Ok, no Google Spreadsheets:

  1. Eu criei uma planilha inicial que deve ficar assim (tomando algumas liberdades artísticas). A metade inferior ainda está para ser classificada e, como tal, é igual à metade superior:

  2. Selecioneastrêscolunasqueformamacategoria1e,emseguida,váparaData>Sortrange.

  3. A partir daí, basta alterar a coluna predefinida (deve ser A) para C (ou seja, o segundo critério).

  4. Estapartedatabelaagoraéclassificadadeacordocomosegundocritério.Apenasrepitaparaa2ªcategoria.

  5. O resultado final deve ser sua tabela.

ATUALIZAÇÃO:

Com base na sugestão @beroe, consegui fazer um pouco mais.

Primeiro, você precisa adicionar uma coluna extra, que atribui Categorias individuais a cada um dos itens. Embora isso seja viável com sua configuração de dados atual, acho que é o Right Thing To Do a ter uma tabela como a seguinte:

Observequeaindanãoclassifiqueiosdadosdeacordocomseusegundocritério.Observetambémque,aoladodosegundocritério,agoraéumacolunaquecontémarespectivacategoriadecadaitem.

SelecionetodososdadoseváparaData>SortRange.Lá,classifiqueprimeiropelacolunaD(acolunacomasCategorias),depoisdepressionar,adicioneoutracolunadeclassificaçãoe,emseguida,adicioneacolunacorrespondenteaosegundocritério(colunaC).

Porqueissofuncionaéporcausadeumaidéiaqueosoftwaredeplanilhatemsobreprecedência.Assim,oGoogletentaráclassificarprimeiropelacolunaD.Posteriormente,eleclassificarátodososdadosrestantespelacolunaC.Todososdadosrestantesjáforamclassificados.

Notequeaordempelaqualeucoloqueiascolunaséesta,devidoàrazãoapontadaanteriormente.SevocêtentoucolocaracolunaCeacolunaD,vocênãoteriaoresultadodesejado.

O resultado final é algo assim:

Por fim, adicionar uma coluna com as informações do item é uma boa decisão no design da planilha (se houver algo assim em existência).

Como nota final, parece que a planilha do Google tem a funcionalidade JavaScript por padrão (ou seja, é o equivalente a macros para o Excel). Pode ser acessado por Tools > Script Editor . No entanto, não sei escrever JavaScript. Por fim, se você precisar de algo mais complexo, pode recorrer a isso.

    
por 30.08.2013 / 16:51
1

A maneira mais fácil seria adicionar uma coluna que codifica o agrupamento (por exemplo, CategoryNum ). Em seguida, classifique por essa coluna primeiro e sua coluna Criteria por segundo.

Se você colocar seu código de categoria nas linhas do subheader ( Category 1 ), a ordem de toda a planilha deve ser preservada.

(Nota: Para os processos de dados que você está tentando automatizar, é melhor organizar seus dados dessa maneira, em vez de dividi-los visualmente de maneiras que dificultam a análise).

    
por 31.08.2013 / 02:13
0

Primeiro, crie seus intervalos nomeados e adapte-o

Sub SortBySelectedCellColumn()
Dim cell As String
Dim srt As Integer
Dim nm As Name
 cell = ActiveCell.Address
 srt = ActiveCell.Column
For Each nm In ThisWorkbook.Names
   Range(nm).Select
   Selection.Sort _
    Key1:=Worksheets("Sheet1").Columns(srt), _
    Header:=xlGuess
Next
  Range(cell).Select
End Sub

Selecioneumacélulanacolunaquevocêdesejaclassificarpor

    
por 31.08.2013 / 00:04