【问题标题】:Finding Duplicate Pairs in Excel在 Excel 中查找重复对
【发布时间】:2015-06-29 18:10:14
【问题描述】:

所以我有这个摘要表。它包含来自多个工作簿的数据。

这不是question,因为我要做的是找到此工作表中所有不一致的数据对并突出显示它们。

这是一个fiddle,它解释了我想要完成的事情。我有一个很大的工作表,并且想在整个工作表中比较前 2 行和接下来的 2 行等。下面是我想要完成的 HTML 表示。

<table class="tg">
<tr>
<th class="tg-031e">#INT1</th>
<th class="tg-031e">#INT1</th>
<th class="tg-031e">#INT2</th>
<th class="tg-031e">#INT2</th>
<th class="tg-031e">#INT3</th>
<th class="tg-031e">#INT3</th>
</tr>
<tr>
<td class="tg-031e">Apples</td>
<td class="tg-031e">Y</td>
<td class="tg-031e">Bananas</td>
<td class="tg-031e">Y</td>
<td class="tg-031e">Apples</td>
<td class="tg-031e">Y</td>
</tr>
<tr>
<td class="tg-031e">Bananas</td>
<td class="tg-031e">Y</td>
<td class="tg-031e">Peppers</td>
<td class="tg-031e">Y</td>
<td class="tg-031e">Bananas</td>
<td class="tg-031e">Y</td>
</tr>
<tr>
<td class="tg-031e">Peppers</td>
<td class="tg-031e">Y</td>
<td class="tg-031e">Pomegranite</td>
<td class="tg-031e">Y</td>
<td class="tg-031e">Peppers</td>
<td class="tg-031e">Y</td>
</tr>
<tr>
<td class="tg-031e">Pomegranite</td>
<td class="tg-031e">Y</td>
<td class="tg-031e">Nuts</td>
<td class="tg-031e">YYYYYNN</td>
<td class="tg-031e">Pomegranite</td>
<td class="tg-031e">Y</td>
</tr>
<tr>
<td class="tg-031e">Nuts</td>
<td class="tg-031e">YYYYYYNN</td>
<td class="tg-031e">Smango</td>
<td class="tg-031e">NNNYYNNN</td>
<td class="tg-031e">Nuts</td>
<td class="tg-031e">NNNYNNNN</td>
</tr>
<tr>
<td class="tg-zl7m">Oranges</td>
<td class="tg-zl7m">YYYYNNNN</td> <!-- this oranges is different from... -->
<td class="tg-031e">Blackberries</td>
<td class="tg-031e">NNNYYNNNN</td>
<td class="tg-zl7m">Oranges</td> 
<td class="tg-zl7m">NNNYYNNN</td> <!-- ...this one -->
</tr>
<tr>
<td class="tg-031e">Smango</td>
<td class="tg-031e">NNNYYNNN</td>
<td class="tg-031e">Berries</td>
<td class="tg-031e">YYNYNNNN</td>
<td class="tg-031e">Smango</td>
<td class="tg-031e">Y</td>
</tr>
<tr>
<td class="tg-031e">Skiwi</td>
<td class="tg-031e">NNNYNNNN</td>
<td class="tg-031e">Beer</td>
<td class="tg-031e">NNNYNNNN</td>
<td class="tg-031e">Steaks</td>
<td class="tg-031e">Y</td>
</tr>
<tr>
<td class="tg-031e">Steaks</td>
<td class="tg-031e">Y</td>
<td class="tg-031e">Blueberries</td>
<td class="tg-031e">YNNYNNNN</td>
<td class="tg-031e">Steaksauce</td>
<td class="tg-031e">NNNYNNNN</td>
</tr>
<tr>
<td class="tg-zl7m">Steaksauce</td>
<td class="tg-zl7m">YYNYNNNN</td>
<td class="tg-031e">Blucheese</td>
<td class="tg-031e">NNNYNNNN</td>
<td class="tg-zl7m">Apricot</td>
<td class="tg-zl7m">YYYYNNNN</td>
</tr>
<tr>
<td class="tg-031e">Apricot</td>
<td class="tg-031e">YYYYNNNN</td>
<td class="tg-031e">Blackberries</td>
<td class="tg-031e">NNNYNNNN</td>
<td class="tg-031e">Milkshake</td>
<td class="tg-031e">NNNYNNNN</td>
</tr>
</table>

我已经尝试过 VBA 解决方案以及条件格式。非常感谢任何能够完成这项工作的解决方案。

谢谢。

【问题讨论】:

  • 你到底尝试了什么?
  • 即使使用小提琴也不清楚你想要完成什么。
  • 请提供您认为不一致对与“一致对”的示例。
  • 我尝试搜索重复项,但这只给了我一列的值,例如right here。例如,如果您查看小提琴,则一致的对将包括: Bananas 与“Y”相关联三次。此外,“坚果”在 E 和 F 以及 A 和 B 中具有相同的值对。我的意思是突出橘子和牛排酱而不是杏子部分。我在这里更新了小提琴:jsfiddle.net/0qvj73ua/1。你可以看到橘子和牛排酱是如何不一致的。我在整个工作表中比较前 2 个值。
  • 无论如何我可以做一些条件格式来突出显示对一致的数据吗?例如:Bananas Y。只要是这样,Bananas 和 Y 就会突出显示。与任何相同的数据对相同。我一直在研究这个问题很长时间,但我所看到的一切都不像我正在做的那样。我正在尝试穿越。我知道必须有一个 VBA 宏或条件格式方程来完成这项任务,但我还没有遇到过。

标签: vba excel excel-formula


【解决方案1】:

我认为这个数组公式应该可以工作:-

=SUM(ISODD(COLUMN())*($A$2:$E$12=A2)*($B$2:$F$12<>B2))

如果表格从 A1 开始,这可以用作从 A2 到 E12 的条件格式,并将突出显示不一致的单元格对的左侧(水果)单元格。

然后您可以使用类似的公式突出显示每对的右侧单元格:-

=SUM(ISEVEN(COLUMN())*($A$2:$E$12=A2)*($B$2:$F$12<>B2))

将此从 B2 应用到 F12。

请注意,Smango 被突出显示是因为它们位于不一致的组中(尽管它们也位于一致的组中)。

这是突出显示一致组的替代方法(如建议的那样):-

公式是

=SUM(ISODD(COLUMN())*($A$2:$E$12=A2)*($B$2:$F$12=B2))>1

=SUM(ISEVEN(COLUMN())*($A$2:$E$12=A2)*($B$2:$F$12=B2))>1

像以前一样应用。

这次的总和总是至少为1,因为每一对cell都会和自己匹配,所以'>'符号是看是否和其他对cell有匹配。

【讨论】:

  • 谢谢!后半部分对我有用,虽然我认为突出显示使浏览 excel 相当缓慢,但我能够得到我需要的东西。
  • 好!是的,我怀疑如果应用于大量单元格,数组公式可能会有点慢。
猜你喜欢
  • 2016-06-28
  • 1970-01-01
  • 1970-01-01
  • 2014-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
相关资源
最近更新 更多