5 maneiras de adicionar um botão de classificação no Microsoft Excel

Excel logo
Excel logo

Você quer adicionar um botão de classificação no Excel? A classificação é uma maneira simples de visualizar os valores mais altos ou mais baixos em seus dados. Esta é uma tarefa tão comum na análise de dados que ter um botão para fornecer um método de um clique para classificar seus dados economizará seu tempo!

Adicione um botão de classificação com filtros

Quando você tem um conjunto de dados tabular no Excel, pode adicionar alternadores aos cabeçalhos das colunas que permitem classificar e filtrar os dados. Esta é a maneira mais simples de adicionar um botão de classificação aos seus dados que esteja sempre visível e disponível para uso.

ex1

Veja como você pode adicionar as opções de classificação e filtro aos seus dados.

  1. Selecione os dados a serem classificados.
  2. Vá para a guia Dados.
  3. Clique no comando Filtro.

ex2

Isso adicionará os filtros aos seus dados e você poderá vê-los no lado direito de cada cabeçalho de coluna em seus dados.

sort-options-in-filter-toggles

Quando você clica em um deles, eles revelarão as várias opções de classificação e filtro. Estas permitirão que você classifique rapidamente qualquer campo em ordem crescente ou decrescente com os comandos Classificar do Menor para o Maior ou Classificar do Maior para o Menor.

Adicione um botão de classificação com um atalho de teclado

As opções de classificação e filtro também podem ser adicionadas à sua seleção de dados com uma combinação simples de atalho. Selecione seu intervalo de dados e pressione o atalho de teclado Ctrl+ Shift+ L para adicionar as opções de classificação e filtro. Esta é uma maneira simples de adicionar ou remover os filtros, pois o atalho funciona como um interruptor para ligá-los ou desligá-los.

Adicione um botão de classificação com VBA

VBA é uma linguagem de codificação disponível na versão desktop do Excel e permitirá criar soluções personalizadas. Você pode criar uma macro VBA para classificar seus dados e atribuí-la a um botão na planilha.

Você pode então estilizar seu botão de qualquer maneira e adicionar texto personalizado ao botão. Esta é uma ótima opção quando outros usarão a pasta de trabalho, pois ajuda a tornar a classificação muito intuitiva para o usuário. Veja como você pode criar seu próprio botão de classificação com VBA.

Pressione o atalho de teclado Alt+ F11 para abrir o editor do Visual Basic.

vba-toggle-sort-order-subroutine

Vá para o menu Inserir do editor do Visual Basic e selecione a opção Módulo. Isso cria um módulo de código onde você pode adicionar seu código VBA que classificará seus dados.

Sub ToggleSortOrder()  Dim ascCell As Boolean ascCell = ActiveSheet.Range("ascCell").Value2  If ascCell = True Then ActiveSheet.Range("ascCell").Value2 = False With ActiveWorkbook.Worksheets("Data").ListObjects("Cars").Sort .SortFields.Clear .SortFields.Add2 Key:=Range("Cars[[#All],[Year]]"), Order:=xlAscending .Apply End With Else ActiveSheet.Range("ascCell").Value2 = True With ActiveWorkbook.Worksheets("Data").ListObjects("Cars").Sort .SortFields.Clear .SortFields.Add2 Key:=Range("Cars[[#All],[Year]]"), Order:=xlDescending .Apply End With End If  End Sub

Adicione o código VBA acima ao seu novo módulo. A sub-rotina ToggleSortOrder() permite a alternância da classificação em uma tabela do Excel chamada Cars na planilha chamada Data entre a ordem crescente e decrescente da coluna Year.

Começa definindo uma variável chamada ascCell para o valor de um intervalo nomeado na planilha chamado ascCell. Este é um valor Verdadeiro ou Falso e é usado para rastrear a ordem atual e permite que a rotina alterne entre a ordem ascendente e descendente.

named-range-for-tracking-sort-order

Você pode criar o intervalo nomeado em sua planilha selecionando uma célula e digitando ascCell na caixa de nome e pressionando Enter.

Uma instrução If... Then... Else então classifica os dados com base no valor de ascCell. Cada parte da instrução If também reescreve o intervalo nomeado ascCell para rastrear a classificação.

vba-sort-button

Agora você pode criar um botão em sua planilha e configurá-lo para executar seu código VBA quando clicado.

Adicione um botão de classificação com scripts do Office

Office Scripts é uma linguagem de programação disponível para as versões desktop e web do Excel com um plano empresarial do M365. Office Scripts será o caminho a seguir se você precisar de um botão de classificação personalizado que funcione tanto na versão desktop quanto na web do Excel.

create-a-new-office-script-with-automate-tab

Vá para a guia Automatizar e clique na opção Novo Script para abrir o Editor de Código e criar um novo script.

office-scripts-toggle-sort-order-code

function main(workbook: ExcelScript.Workbook) { let cars = workbook.getTable("Cars"); let ascCell = workbook.getActiveWorksheet().getRange("ascCell").getValue(); let ascValue: boolean; if (ascCell === true) { ascValue = true; workbook.getActiveWorksheet().getRange("ascCell").setValue(false); } else { ascValue = false; workbook.getActiveWorksheet().getRange("ascCell").setValue(true); }; cars.getSort().apply([{ key: 2, ascending: ascValue }], false); }

Adicione o código acima ao editor de código e pressione o botão Salvar Script.

Este código pode ser usado para classificar uma tabela em uma pasta de trabalho do Excel. Começa declarando duas variáveis: cars e ascCell. A variável cars armazena a tabela da pasta de trabalho, enquanto a variável ascCell armazena um valor que indica se a operação de classificação deve ser executada em ordem crescente (true) ou decrescente (false).

Ele verifica o valor da célula do intervalo nomeado ascCell para determinar qual ordem de classificação deve ser usada. Esta célula é usada para rastrear a opção de classificação aplicada anteriormente.

O código atualizará o intervalo ascCell toda vez que for executado. Isso permite que o código atue como um interruptor entre a classificação crescente e decrescente.

Se ascCell estiver definido como true, os dados são classificados em ordem crescente, caso contrário, são classificados em ordem decrescente.

O valor ascCell é usado para definir a variável ascValue que determina a classificação.

Por fim, ele chama o método .getSort() com dois parâmetros. Isso garante que a operação de classificação desejada seja executada na tabela.

  • key: 2 representa qual coluna deve ser classificada. Isso usa um índice baseado em zero, então o 2 classificará a terceira coluna.
  • ascending: ascValue é um valor booleano para estabelecer se você deseja uma classificação ascendente (true) ou descendente (false).

add-office-script-button

Este código pode ser executado a partir do botão Executar no Editor de Código, mas você também pode criar um botão na planilha que executará o código. Clique no ícone Elipses no canto superior direito da área do Editor de Código e selecione a opção Adicionar Botão no menu. Isso cria um botão que flutua sobre a grade e executará o script do Office toda vez que for pressionado.

office-script-button-edit-mode

Adicione um botão de classificação com um Slicer

O Excel tem uma opção de Slicer muito útil para filtrar dados da tabela. Este é um objeto de filtro interativo que flutua sobre a grade e permite que um usuário filtre um determinado campo nos dados clicando nos itens do slicer.

Infelizmente, não existe um objeto equivalente para classificar dados. Mas você pode criar uma ferramenta de classificação de dados usando slicer e a função de matriz dinâmica SORTBY.

Dessa forma, você pode configurar slicers com opções ascendentes e descendentes que podem ser selecionadas e obter a classificação desejada. Veja como você pode configurá-lo.

sortby-input-table

Você precisará primeiro configurar uma segunda tabela que eventualmente se conectará ao slicer. Esta terá 2 colunas, uma conterá os rótulos a serem exibidos no slicer e a outra conterá os inputs dos argumentos necessários para a função SORTBY. Na tabela anterior, a coluna Tipo contém os rótulos e a coluna Valor contém os argumentos SORTBY correspondentes.

A tabela terá duas linhas porque a função SORTBY tem duas entradas possíveis. Pode classificar em ordem crescente (1) ou decrescente (-1).

insert-slicer-for-second-table

Agora você pode criar slicers para esta tabela secundária. Selecione a tabela, vá para a guia Design da Tabela e clique no comando Inserir Slicer.

insert-slicer-menu-with-column-selected

O menu Inserir Slicer será aberto, onde você pode selecionar o campo no qual basear o slicer. Selecione a coluna Tipo que contém os rótulos Crescente e Decrescente e pressione o botão OK para criar o slicer.

Isso criará um slicer onde você pode selecionar Crescente ou Decrescente. Isso filtrará a tabela para mostrar apenas a opção selecionada. Agora você precisará de uma maneira de obter o valor visível de sua tabela filtrada. Isso pode ser alcançado com a função SUBTOTAL. Isso permitirá que você agregue uma coluna com base nas linhas visíveis.

subtotal-function-to-get-visible-row-values

= SUBTOTAL ( 104, Sort[Value] )

A fórmula SUBTOTAL acima obterá o valor máximo com base nas linhas visíveis na coluna Valor. Retorna 1 quando a tabela não está filtrada ou está filtrada para Ascendente e retorna -1 quando a tabela está filtrada para Descendente.

SORTBY-and-SUBTOTAL-formula

= SORTBY ( Cars, Cars[Year], SUBTOTAL ( 104, Sort[Value] ) )

Este resultado de SUBTOTAL pode ser usado na função SORTBY para alterar a classificação usando slicers! A fórmula acima retornará a tabela Cars classificada pela coluna Ano com base nos resultados de SUBTOTAL.

slicer-as-sort-button

Agora você pode classificar seus dados com um slicer!

Conclusões

A classificação de dados é uma parte fundamental de qualquer análise de dados e ter um botão para isso tornará o processo muito mais fácil. As opções de filtro fornecem um botão embutido para cada cabeçalho de coluna nos dados e estes podem ser adicionados rapidamente com um atalho. Mas as opções de classificação que eles fornecem não são óbvias.

Outra maneira de incluir um botão de classificação para seus dados é com VBA ou Office Scripts. Ambos permitirão que você crie um código para classificar seus dados e estes podem ser adicionados a um botão colocado em sua planilha.

Autor John MacDougall

Pubblicato in

Se vuoi rimanere aggiornato su 5 maneiras de adicionar um botão de classificação no Microsoft Excel iscriviti alla nostra newsletter settimanale

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*