[google-spreadsheet] evidenzia cella se valore duplicato nella stessa colonna per foglio di calcolo google


Answers

Mentre la risposta di Zolley è perfettamente giusta per la domanda, ecco una soluzione più generale per qualsiasi intervallo, oltre a una spiegazione:

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

Si noti che in questo esempio userò l'intervallo A1:C50 . Il primo parametro ( $A$1:$C$50 ) dovrebbe essere sostituito con l'intervallo su cui si desidera evidenziare i duplicati!

per evidenziare i duplicati:

  1. Selezionare l'intero intervallo su cui si desidera il contrassegno duplicato.
  2. Nel menu: Format > Format Conditional formatting...
  3. In Apply to range , seleziona l'intervallo a cui deve essere applicata la regola.
  4. In Format cells if , seleziona Custom formula is nel menu a discesa.
  5. Nella casella di testo inserisci la formula specificata, regolando l'intervallo in modo che corrisponda al punto (3).

Perché funziona?

COUNTIF(range, criterion) , confronterà ogni cella range rispetto al criterion , che viene elaborato in modo simile alle formule. Se non vengono forniti operatori speciali, confronterà ogni cella dell'intervallo con la cella specificata e restituirà il numero di celle trovate corrispondenti alla regola (in questo caso, il confronto). Stiamo utilizzando un intervallo fisso (con $ segni) in modo da visualizzare sempre l'intera gamma.

Il secondo blocco INDIRECT(ADDRESS(ROW(), COLUMN(), 4)) restituirà il contenuto della cella corrente. Se questo è stato inserito all'interno della cella, i documenti avranno pianto sulla dipendenza circolare, ma in questo caso, la formula viene valutata come se fosse nella cella, senza modificarla.

ROW() e COLUMN() restituiranno rispettivamente il numero di riga e il numero di colonna della cella specificata. Se non viene fornito alcun parametro, verrà restituita la cella corrente (questa è basata su 1, ad esempio, B3 restituirà 3 per ROW() e 2 per COLUMN() ).

Quindi usiamo: ADDRESS(row, column, [absolute_relative_mode]) per tradurre la riga numerica e la colonna in un riferimento di cella (come B3 . Ricorda, mentre siamo all'interno del contesto della cella, non sappiamo che sia l'indirizzo o il contenuto, e abbiamo bisogno del contenuto per poterlo confrontare). Il terzo parametro si occupa della formattazione e 4 restituisce i INDIRECT() piace di formattazione INDIRECT() .

INDIRECT() , prenderà un riferimento di cella e restituirà il suo contenuto. In questo caso, il contenuto della cella corrente. Quindi, tornando all'inizio, COUNTIF() verificherà ogni cella dell'intervallo rispetto alla nostra e restituirà il conteggio.

L'ultimo passaggio consiste nel rendere la formula un valore booleano, rendendolo un'espressione logica: COUNTIF(...) > 1 . Il > 1 è usato perché sappiamo che c'è almeno una cella identica alla nostra. Quella è la nostra cella, che è nella gamma, e quindi sarà paragonata a se stessa. Quindi per indicare un duplicato, dobbiamo trovare 2 o più celle corrispondenti alla nostra.

fonti:

Question

Sto cercando la formula per google foglio di calcolo "evidenziare cella se valore duplicato nella stessa colonna"

qualcuno può aiutarmi per questa domanda?




Inoltre, è possibile installare il componente aggiuntivo Remove Duplicates e trovare (evidenziare) o rimuovere i valori duplicati in colonne o fogli.




Ho provato tutte le opzioni e nessuno ha funzionato.

Solo gli script di app di google mi hanno aiutato.

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

Nella parte superiore del documento

1.- vai a strumenti> editor di script

2.- imposta il nome del tuo script

3.- incolla questo codice:

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.- salvare ed eseguire

In meno di 3 secondi, la mia riga duplicata è stata colorata. Basta copiare e incollare lo script.

Se non conosci gli script di Google Apps, questi link potrebbero aiutarti a:

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

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

Spero che aiuti.




Related