title: Conditionally formatting duplicate rows in google sheets
body: <p>I want to apply conditional formatting so that all the rows which match another row exactly are highlighted.</p>
  
  <p>Let's say I have a spreadsheet like the following</p>
  
  <pre>
  |   | a | b | c |
  |---|---|---|---|
  | 1 | A | B | C | // Matches row 3 and 6
  | 2 | A | B | A | // Matches row 5
  | 3 | A | B | C | // Matches row 1 and 6
  | 4 | B | B | C | // Matches no other row
  | 5 | A | B | A | // Matches Row 2
  | 6 | A | B | C | // Matches row 1 and 3
  | 7 | B | B | A | // Matches no other row
  </pre>
  
  <p>All the rows except for row 4 and 7 would be highlighted.</p>
  
  <p>For to rows to be considered duplicates, the value of each/every cell in a given row must exactly match the value of the corresponding cell (cell in the same column) in a duplicate row.</p>
  
  <p>My attempt so far can only return the values of rows with only the first 2 cells being duplicate and returns the concatenation of all the duplicate values in each row, which is very far away from what I want.</p>
  
  <p><code>CC = arrayformula(A:A&amp;" "&amp;B:B&amp;" "&amp;C:C)</code> returns a new row which is the concatenation of A, B, and C, which is coercing the cell values into strings so "1" and 1 which are not the same appear to be the same, and also doesn't work across the entire row (could do If I just kept adding Columns, but would look terrible).</p>
  
  <p><code>=filter(unique(CC), arrayformula(countif(CC, unique(CC)) &gt; 1))</code> CC is the returned value from the previous equation</p>
  
  <p>This would output 
  <code>
  A B C
  A B A
  </code></p>
  
  <p>Then I could add a conditional formatting rule with a custom formula that Highlights a row if it's concatenated contents "Match" one of the return values from the previous equation, but I don't know how to do that, and the previous equation is already pretty flawed.</p>
  
  <p>Ideally I want a solution that involves no string concatenation or entering in all column names.</p>