Excel – 删除两列之间的所有一对一行

问题:我有列A和列B.列A是可预测的,有数千列A行。 B列在每列A有不同的行。例如,A列可能在列B中有5行的值REQ_000021。这些都可以。 我需要删除的行是每列A只有一列B的行。

我知道这不是一个典型的事情,人们这样做,我不能find一个VB脚本在那里做这个。 如果网站允许,我会张贴一张照片。 首先需要15个代表点。

编辑:
我刚刚学会了如何在stackoverflow上进行换行,所以在这里:

 Col A Col B 
----------------------------------
斯科特我们
德国
西class牙
----------------------------------
布莱恩美国
----------------------------------
马克美国
----------------------------------
意大利
蒂姆葡萄牙
爱尔兰
----------------------------------

删除布莱恩和马克,因为列A和列B有一行。
离开Scott和Tim,因为每列A行有多于一列的B行。 请记住,Scott和Tim的列A是大的合并行。
这就是我想要完成的。

编辑:
每个斯科特的答案,这是输出:
为了清楚起见,我正在标注一些标记,以便看到这个的其他人。
Scott的解决方案的输出

编辑:这下面的VB脚本将删除列C中的“DELETE”值的任何行
我在Excel中用它作为macros。 对于那些刚刚接触macros的用户,请在Excel 2007中启用“开发人员”视图以访问允许切换到VB屏幕的视图。

 Sub deleteDeleteString()
 Dim rng As Range,cell As Range,del As Range
 Dim strCellValue As String
设置rng = Intersect(Range(“C:C”),ActiveSheet.UsedRange)
对于每个单元格rng

 strCellValue =(cell.Value)
 '如果在列C中的单元格中发现DELETE超过0次,则将其删除整行
如果InStr(strCellValue,“DELETE”)> 0那么
如果del不是那么
设置del =单元格
否则:设置del =联合(del,cell)
万一
万一
下一个单元格
在错误恢复下一步
 del.EntireRow.delete
结束小组

这是根据您的数据格式化编辑的新公式。

在C1中放置以下公式并在列中运行以获取要删除的行:

=IF(OR(ISBLANK(A1),ISBLANK(A2)),"","DELETE") 

您可能希望也可能不希望先取消合并列A中的单元格,但根据Excel如何处理合并单元格的规则,这应该不重要。 我在您提供的数据集上testing了这一点,它在合并或不合并单元格的情况下工作。

我不提供VBA解决scheme,因为您不需要在这里。 运行此公式,而不是在列C上为“DELETE”筛选并删除行。