Como destacar a célula se o valor duplicar na mesma coluna da planilha do google?


Respostas:


474

Tente o seguinte:

  1. Selecione a coluna inteira
  2. Clique em Formatar
  3. Clique em Formatação condicional
  4. Clique em Adicionar outra regra (ou edite a existente / padrão)
  5. Defina Formatar células se :Custom formula is
  6. Defina o valor como: =countif(A:A,A1)>1(ou mude Apara a coluna escolhida)
  7. Defina o estilo de formatação.
  8. Verifique se o intervalo se aplica à sua coluna (por exemplo, A1:A100).
  9. Clique em Concluído

Qualquer coisa escrita nas células A1: A100 será verificada e, se houver uma duplicata (ocorre mais de uma vez), ela será colorida.

Para localidades que usam vírgula ( ,) como separador decimal, o separador de argumentos provavelmente é um ponto-e-vírgula ( ;). Ou seja, tente =countif(A:A;A1)>1:, em vez disso.

Para várias colunas, use countifs.


50
No novo Planilhas Google, você pode usar a versão de várias colunas COUNTIFS. Use desta maneira se duplicatas forem uma combinação de mais colunas #=COUNTIFS(A:A; A1; B:B; B1)>1
— Christiaan Westerbeek /

6
o final ;resulta em um erro de "fórmula inválida" para mim. Apenas removê-lo fez o truque. Também tenha cuidado: a célula que você especificar como segundo argumento da countifdeve ser a primeira célula do intervalo que você selecionar.
— Edelans

11
Funciona. Mas por que? Supondo que A1 seja um critério para a equação, essa fórmula não compara todas as células no intervalo a A1?
— precisa saber é o seguinte

9
@mafonya, a fórmula personalizada é uma fórmula genérica que deve ser lida como aplicável à primeira célula. Todas as referências serão adaptadas para cada célula no intervalo selecionado. Por exemplo, ao verificar a célula B2, a fórmula se tornará internamente =countif(B:B,B2)>1. Isso permite que você faça uma formatação bastante avançada ao usar referências de célula absolutas versus relativas.
— asoundmove

14
Como observação lateral, se você quiser aplicá-lo a toda a coluna, poderá usar a fórmula = countif (A: A, A: A)> 1 Isso significa que não se aplicará apenas à célula A1, mas A4 e A8, se forem iguais (duplicado). Agora, A4 e A8 serão formatados.
— BBking 3/03/16

68

Embora a resposta do zolley seja perfeitamente adequada para a pergunta, aqui está uma solução mais geral para qualquer faixa, além de uma explicação:

    =COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1

Observe que neste exemplo eu usarei o intervalo A1:C50. O primeiro parâmetro ( $A$1:$C$50) deve ser substituído pelo intervalo no qual você deseja destacar duplicatas!


para destacar duplicatas:

  1. Selecione todo o intervalo no qual a marcação duplicada é desejada.
  2. No menu: Format>Conditional formatting...
  3. Em Apply to range, selecione o intervalo ao qual a regra deve ser aplicada.
  4. Em Format cells if, selecione Custom formula isno menu suspenso.
  5. Na caixa de texto, insira a fórmula especificada, ajustando o intervalo para corresponder à etapa (3).

Por que isso funciona?

COUNTIF(range, criterion), comparará todas as células rangecom a criterion, que é processada de maneira semelhante às fórmulas. Se nenhum operador especial for fornecido, ele comparará todas as células no intervalo com a célula especificada e retornará o número de células que correspondem à regra (nesse caso, a comparação). Estamos usando um intervalo fixo (com $sinais) para sempre ver o intervalo completo.

O segundo bloco INDIRECT(ADDRESS(ROW(), COLUMN(), 4)),, retornará o conteúdo da célula atual. Se isso foi colocado dentro da célula, os documentos terão chorado por dependência circular, mas, neste caso, a fórmula é avaliada como se estivesse na célula, sem alterá-la.

ROW()e COLUMN()retornará o número da linha e o número da coluna da célula especificada, respectivamente. Se nenhum parâmetro for fornecido, a célula atual será retornada (isso é baseado em 1, por exemplo, B3retornará 3 para ROW()e 2 para COLUMN()).

Então usamos: ADDRESS(row, column, [absolute_relative_mode])para converter a linha e a coluna numéricas em uma referência de célula (como B3. Lembre-se, enquanto estamos dentro do contexto da célula, não sabemos o endereço OU o conteúdo e precisamos do conteúdo para comparar com). O terceiro parâmetro cuida da formatação e 4retorna os INDIRECT()gostos da formatação .

INDIRECT(), pegará uma referência de célula e retornará seu conteúdo. Nesse caso, o conteúdo da célula atual. Então, de volta ao início, COUNTIF()testará todas as células do intervalo contra as nossas e retornará a contagem.

O último passo é fazer a nossa fórmula retornar um boolean, tornando-a uma expressão lógica: COUNTIF(...) > 1. O > 1é usado porque sabemos que há pelo menos uma célula idêntica à nossa. Essa é a nossa célula, que está no intervalo e, portanto, será comparada a si mesma. Portanto, para indicar uma duplicata, precisamos encontrar 2 ou mais células correspondentes às nossas.


Fontes:


4
Infelizmente isso não funciona para mim. Ele não destaca nada, apesar de haver muitas duplicatas. Não sei por que, parece uma boa solução.
— JVC

Isso funciona para mim, mas também destaca células em branco. Existe uma maneira de excluir espaços em branco?
— gillespieza

1
@ Amanda - Sim, um pouco de criatividade e é possível. Sou AFK por uma semana, mas me pegue em uma semana. E meia e ficarei feliz em ajudar. A idéia é criar uma instrução AND (usando *) e outra verificação, portanto, ao longo das linhas de ((COUNTIF(...))*(NOT(ISBLANK(INDIRECT(...current cell...))))). É o melhor que posso fazer no celular. :)
— Egoísta 05/10

2
Exatamente esta é a solução necessária. Isso funciona como um HASHMAP para identificar duplicatas.
— AKh 27/03

1
Funciona encantador, obrigado @Selfish! Economizou-me tempo. Nota: a única coisa a mudar deve ser $A$1:$C$50- de acordo com as colunas em questão. Gosto mais dessa abordagem genérica do que do zolley.
— Bold19 05/19

28

Resposta de @zolley está certa. Basta adicionar um GIF e etapas para a referência.

  1. Ir para o menu Format > Conditional formatting..
  2. Encontrar Format cells if..
  3. Adicionar =countif(A:A,A1)>1campoCustom formula is
    • Nota: Altere a letra Acom sua própria coluna.

insira a descrição da imagem aqui


2
Como posso filtrá-los por cor depois de destacar as duplicatas?
— Faisal

@Faisal only with script or addon
— player02 /

27

No menu suspenso "O texto contém", selecione "A fórmula personalizada é:" e escreva: "= countif (A: A, A1)> 1" (sem as aspas)

Fiz exatamente o que o zolley propôs, mas deve ser feita uma pequena correção: use "A fórmula personalizada é" em vez de "O texto contém" . E a renderização condicional funcionará.

Captura de tela do menu


1
Não diminuí a votação (acabei de encontrar esta pergunta hoje), mas aqui está um comentário sobre sua resposta, conforme solicitado. Não acho que o ponto-e-vírgula seja necessário na fórmula. Além disso, ainda vejo um menu suspenso no painel de formatação condicional nas folhas do Google. Pelo menos, clico na opção de seleção e um longo conjunto de opções é exibido, o que eu geralmente chamaria de menu suspenso. A opção que aparece inicialmente no menu suspenso é frequentemente Text Contains, e é nisso que o usuário geralmente clica para acessar o menu suspenso.
— Paul de Barros

Obrigado Paul, pelo seu comentário. Talvez eu tenha entendido errado: entendi que "O texto contém" (ou "Formatar células se ...") tem um menu suspenso filho "A fórmula personalizada é:". Além disso, "Texto contém" deve ter um valor de substring correspondente, não "= countif (A: A, A1)> 1;". De fato, é outra abordagem.
— 21416

12

Destaque duplicatas (na coluna C):

=COUNTIF(C:C, C1) > 1

Explicação: O C1aqui não se refere à primeira linha em C. Como esta fórmula é avaliada por uma regra de formato condicional, em vez disso, quando a fórmula é verificada para ver se ela se aplica, C1refere-se efetivamente a qualquer linha que está sendo avaliada atualmente. veja se o destaque deve ser aplicado. ( Então é mais INDIRECT(C &ROW()), se isso significa alguma coisa para você! ). Essencialmente, ao avaliar uma fórmula de formato condicional, qualquer coisa que se refira à linha 1 é avaliada na linha em que a fórmula está sendo executada. ( E sim, se você usa C2, solicita à regra que verifique o status da linha imediatamente abaixo da que está sendo avaliada no momento. )

Portanto, conte as ocorrências do que estiver C1(a célula atual sendo avaliada) que está na coluna inteira Ce se houver mais de 1 delas (ou seja, o valor tem duplicatas), então: aplique o destaque ( porque a fórmula , em geral, avalia comoTRUE ).

Destaque apenas a primeira duplicata:

=AND(COUNTIF(C:C, C1) > 1, COUNTIF(C$1:C1, C1) = 1)

Explicação: Isso destaca apenas se os dois COUNTIFsão TRUE(eles aparecem dentro de umAND() ).

O primeiro termo a ser avaliado (o COUNTIF(C:C, C1) > 1) é exatamente o mesmo que no primeiro exemplo; é TRUEapenas se o conteúdo estiver C1com uma duplicata. ( Lembre-se que C1efetivamente se refere à linha atual que está sendo verificado para ver se ele deve ser destacado ).

O segundo termo (COUNTIF(C$1:C1, C1) = 1 ) parece semelhante, mas possui três diferenças cruciais:

Ele não pesquisa a coluna inteira C(como a primeira faz C:C:), mas inicia a pesquisa a partir da primeira linha: C$1 ( $obriga a olhar literalmente para a linha 1, não para a linha que estiver sendo avaliada).

E então interrompe a pesquisa na linha atual que está sendo avaliada C1.

Finalmente diz = 1.

Portanto, somente ocorrerá TRUEse não houver duplicatas acima da linha que está sendo avaliada atualmente (o que significa que deve ser a primeira das duplicatas).

Combinado com o primeiro termo (que será apenas TRUEse esta linha tiver duplicatas), isso significa que apenas a primeira ocorrência será destacada.

Destaque a segunda e seguintes duplicatas:

=AND(COUNTIF(C:C, C1) > 1, NOT(COUNTIF(C$1:C1, C1) = 1), COUNTIF(C1:C, C1) >= 1)

Explicação: A primeira expressão é a mesma de sempre ( TRUEse a linha atualmente avaliada for uma duplicata).

O segundo termo é exatamente o mesmo que o último, exceto que é negado: tem um NOT()contorno. Por isso, ignora a primeira ocorrência.

Finalmente, o terceiro termo coleta duplicatas 2, 3 etc. COUNTIF(C1:C, C1) >= 1inicia o intervalo de pesquisa na linha atualmente avaliada (a C1na C1:C). Em seguida, ele avalia apenas TRUE(aplicar destaque) se houver uma ou mais duplicatas abaixo desta (e incluindo esta): >= 1(não deve ser >=apenas o >contrário, a última duplicata será ignorada).


3

Eu tentei todas as opções e nenhuma funcionou.

Somente scripts de aplicativos do Google me ajudaram.

fonte: https://ctrlq.org/code/19649-find-duplicate-rows-in-google-sheets

Na parte superior do seu documento

1.- vá para ferramentas> editor de scripts

2.- defina o nome do seu script

3.- cole este código:

function findDuplicates() {
  // List the columns you want to check by number (A = 1)
  var CHECK_COLUMNS = [1];

  // Get the active sheet and info about it
  var sourceSheet = SpreadsheetApp.getActiveSheet();
  var numRows = sourceSheet.getLastRow();
  var numCols = sourceSheet.getLastColumn();

  // Create the temporary working sheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var newSheet = ss.insertSheet("FindDupes");

  // Copy the desired rows to the FindDupes sheet
  for (var i = 0; i < CHECK_COLUMNS.length; i++) {
    var sourceRange = sourceSheet.getRange(1,CHECK_COLUMNS[i],numRows);
    var nextCol = newSheet.getLastColumn() + 1;
    sourceRange.copyTo(newSheet.getRange(1,nextCol,numRows));
  }

  // Find duplicates in the FindDupes sheet and color them in the main sheet
  var dupes = false;
  var data = newSheet.getDataRange().getValues();
  for (i = 1; i < data.length - 1; i++) {
    for (j = i+1; j < data.length; j++) {
      if  (data[i].join() == data[j].join()) {
        dupes = true;
        sourceSheet.getRange(i+1,1,1,numCols).setBackground("red");
        sourceSheet.getRange(j+1,1,1,numCols).setBackground("red");
      }
    }
  }

  // Remove the FindDupes temporary sheet
  ss.deleteSheet(newSheet);

  // Alert the user with the results
  if (dupes) {
    Browser.msgBox("Possible duplicate(s) found and colored red.");
  } else {
    Browser.msgBox("No duplicates found.");
  }
};

4.- salve e execute

Em menos de 3 segundos, minha linha duplicada estava colorida. Apenas copie e cole o script.

Se você não conhece os scripts do Google Apps, esses links podem ajudá-lo:

https://zapier.com/learn/google-sheets/google-apps-script-tutorial/

https://developers.google.com/apps-script/overview

Eu espero que isso ajude.


Esse código pode ser modificado para destacar apenas os campos duplicados na coluna com vermelho em vez da linha completa?
— Amr
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.