我正在寻找谷歌电子表格公式 如果值在同一列中重复,则突出显示单元格
请问有人能帮我解答这个问题吗?
我正在寻找谷歌电子表格公式 如果值在同一列中重复,则突出显示单元格
请问有人能帮我解答这个问题吗?
当前回答
@zolley的答案是正确的。只是添加了一个Gif和步骤作为参考。
后转菜单格式>条件格式。 找到格式化单元格如果.. Add =countif(A:A,A1)>1 in field自定义公式为 注意:用您自己的列更改字母A。
其他回答
试试这个:
选择整个列 点击格式 单击“条件格式” 单击“添加另一个规则”(或编辑现有/默认的规则) “格式单元格”如果为:自定义公式为 设置值为:=countif(A:A,A1)>1(或将A更改为您选择的列) 设置格式样式。 确保该范围适用于您的列(例如,A1:A100)。 点击完成
在A1:A100单元格中写入的任何内容都将被检查,如果有重复的(出现多次),那么它将被着色。
对于使用逗号(,)作为小数分隔符的区域,参数分隔符很可能是分号(;)。也就是说,尝试:=countif(A:A;A1)>1。
对于多列,使用计数。
从“文本包含”下拉菜单中选择“自定义公式是:”,并写入:“=countif(A:A, A1) > 1”(不带引号)
我完全按照zolley的建议做了,但应该做一个小修正:使用“自定义公式是”而不是“文本包含”。 然后条件渲染就可以工作了。
@zolley的答案是正确的。只是添加了一个Gif和步骤作为参考。
后转菜单格式>条件格式。 找到格式化单元格如果.. Add =countif(A:A,A1)>1 in field自定义公式为 注意:用您自己的列更改字母A。
虽然zolley的答案完全适合这个问题,但这里有一个更普遍的解决方案,适用于任何范围,并有解释:
=COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1
请注意,在这个例子中,我将使用范围A1:C50。 第一个参数($A$1:$C$50)应该替换为您想要突出显示重复项的范围!
要突出重复的内容:
选择需要重复标记的整个范围。 菜单显示:Format >条件格式设置… 在“应用到范围”下,选择规则应应用到的范围。 在“格式单元格”中,在下拉菜单中选择“自定义公式”。 在文本框中插入给定的公式,调整范围以匹配步骤(3)。
为什么它能起作用?
COUNTIF(范围,标准),将范围内的每个单元格与标准进行比较,处理方法类似于公式。如果没有提供特殊的操作符,它将比较范围内的每个单元格与给定的单元格,并返回找到的与规则匹配的单元格数(在本例中为比较)。我们使用一个固定的范围(带$符号),以便始终查看整个范围。
第二个块,INDIRECT(ADDRESS(ROW(), COLUMN(), 4)),将返回当前单元格的内容。如果它被放置在单元格内,文档会抱怨循环依赖,但在这种情况下,公式的计算就像它在单元格中一样,没有改变它。
ROW()和COLUMN()将分别返回给定单元格的行号和列号。如果不提供参数,则返回当前单元格(这是基于1的,例如,B3将为ROW()返回3,为COLUMN()返回2)。
然后我们使用:ADDRESS(row, column, [absolute_relative_mode])将数字行和列转换为单元格引用(如B3。记住,当我们在单元格的上下文中时,我们不知道它的地址或内容,我们需要内容来进行比较)。第三个参数负责格式化,4返回INDIRECT()喜欢的格式。
,将接受单元格引用并返回其内容。在本例中,是当前单元格的内容。然后回到开始,COUNTIF()将测试范围内的每个单元格,并返回计数。
最后一步是使我们的公式返回一个布尔值,方法是将其设置为逻辑表达式:COUNTIF(…)> 1。之所以使用> 1,是因为我们知道至少有一个单元格与我们的相同。这是我们的单元格,它在值域内,因此会和它自己比较。因此,为了表示副本,我们需要找到两个或更多与我们的单元格匹配的单元格。
来源:
文档编辑帮助:COUNTIF() 文档编辑器帮助:INDIRECT() 文档编辑器帮助:ADDRESS() 文档编辑器帮助:ROW() 文档编辑帮助:COLUMN()
我试了所有的方法,没有一个奏效。
只有谷歌应用程序脚本帮助我。
来源:https://ctrlq.org/code/19649-find-duplicate-rows-in-google-sheets
在你的文档顶部
1.-进入工具>脚本编辑器
2.-设置脚本的名称
3.-粘贴以下代码:
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.-保存并运行
在不到3秒的时间里,我的重复行被着色了。只需要复制脚本。
如果你不知道谷歌应用程序脚本,这个链接可以帮助你:
https://zapier.com/learn/google-sheets/google-apps-script-tutorial/
https://developers.google.com/apps-script/overview
我希望这能有所帮助。