我正在尝试找到一种函数,可以检查所有其他工作表,以查看其他工作表的“项目编号”列中是否存在重复单元格。
因此:“列A中的任何单元格是否与其他工作表上的列A中的任何单元格匹配。”
有没有快速的方法来完成这个任务?
这个公式 =arrayformula(iferror(match(A2:A, AnotherSheet!A2:A, 0)))
检查当前表格中 A2:A 中的每个值是否在 AnotherSheet 的 A2:A 中。如果存在,则返回在 AnotherSheet 中的位置,否则输出为空(通过iferror
抑制错误 #N/A)。
您可以将上述公式分别用于每个表格。或者,如果您不关心位置,只想知道哪些来自 A2:A 的条目在其他地方被找到,则可以将每个表格的结果相加:
=arrayformula(iferror(match(A2:A, AnotherSheet!A2:A, 0)) + iferror(match(A2:A, ThirdSheet!A2:A, 0)))
=counta('JAN'!A:A,'FEB'!A:A)-countA(unique({'JAN'!A:A;'FEB'!A:A})
其中A:A
是您要检查的数据列和相应文件。
此公式计算您拥有的总数据量减去唯一数据,因此给出您数据集中重复项的总数。
此公式为您提供重复项的总数概述,但不显示哪个单元格是重复项。
或者,您可以添加一个检查列,并输入以下公式来检查该特定单元格是否为重复项。
=match(cell to check,{range 1;range 2;...range 12})
或者,您可以使用此公式查找范围之间的确切重复项,但是此公式不会在范围内搜索重复项。
=arrayformula(filter(range to check,(countif(arrayformula({Range 1;range 2}),{range to check}))>1))
个人认为最后一个选项是最好的,因为它提供了确切的数据来进行更正。我还是新手,希望这有所帮助:)
这个公式适用于数值:
=COUNT(QUERY({March!A:A;April!A:A},"where Col1="&A2))
如果您正在搜索文本值,则应该是:
=COUNTA(QUERY({March!A:A;April!A:A},"where Col1='"&A2&"'"))
不幸的是,QUERY函数无法在arrayformula中工作,因此您需要将公式复制到整个列中。您可以根据需要将额外的工作表添加到{ }数组中,以分号分隔。
编辑:实际上,借鉴@sandwich的方法,这个版本应该可以在不需要复制公式的情况下工作:
=arrayformula(iferror(match(A2:A,{March!A:A;April!A:A},0)))
=arrayformula(iferror(match(A2:A, April!A2:A, 0)) + iferror(match(A2:A, March!A2:A, 0)))
在五月表上检查五月份是否存在于四月或三月。 - Michael