Google sheets 突出显示Google工作表中前x行的列中的重复值

Google sheets 突出显示Google工作表中前x行的列中的重复值,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,因此,任务是我需要突出显示或扫描列中的重复值,但最后5行除外,例如,如果我有数据 1. 1 2. 5 3. 7 4. 2 5. 2 6. 3 7. 4 8. 2 9. 3 因此,最后,只应突出显示第5、6、8和9行。我可以使用这里的脚本轻松地完成这项工作 function myFunction() { // List the columns you want to check by number (A = 1) var CHECK_COLUMNS = [1]; // Get th

因此,任务是我需要突出显示或扫描列中的重复值,但最后5行除外,例如,如果我有数据

1. 1
2. 5
3. 7
4. 2
5. 2
6. 3
7. 4
8. 2
9. 3
因此,最后,只应突出显示第5、6、8和9行。我可以使用这里的脚本轻松地完成这项工作

function myFunction() {
  // 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("FindDupess");

  // 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();
  data.length;
  for (i = data.length-1; i > data.length-4; i--) {
    for (j = i-1; j > data.length-6; j--) {
      if  (data[i].join() == data[j].join()) {
        i;
        j;
        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.");
  }
};
现在应该突出显示第6、第9和第10行。希望我已经说清楚了

我也用了这个公式

=UNIQUE(FILTER(A:A,ARRAYFORMULA(ROW(A:A)>COUNT(A:A)-5+1)))

但首先,它不会突出显示行;其次,它不会返回重复的值,但会返回所有唯一的值

您可以使用两个CF规则在不使用脚本的情况下解析它:

  • 白色背景:
    =小计(3$A$1:$A1)1

如果可能的话,你能解释一下这两个公式吗?@hyeri当然!第二个公式将从一个范围中提取/隔离最后5行,并执行重复项的查找。如果在最后5个单元格中发现重复项,则会对其进行着色,但缺点是,它会对所有重复项进行着色,而不仅仅是在最后5个单元格中,因此您需要一个第一个公式,该公式将通过提取/分离列中减去最后5个单元格的所有内容来纠正此行为。因为CF是基于优先级的,所以白色背景更优越,因为它是第一个颜色,红色CF规则只显示剩余的颜色(例如最后5个单元格)。嗨,感谢您的解释,最后一个问题是,我是否可以自动/动态添加截止值5,而不是手动更新它?例如,我使用计数公式来计算范围,但是计数中的计数当然不起作用。在第一个公式中,我用我的计数公式替换了5,所以它起作用了。你的意思是将5更改为包含值5的单元格引用?
=UNIQUE(FILTER(A:A,ARRAYFORMULA(ROW(A:A)>COUNT(A:A)-5+1)))