Excel 选择所有单元格彼此相等的所有行
我有一个大表格,只显示了一种信息:某个研究地点是否存在某种植物。我有500多个物种列在第一栏,30个网站作为列名。表格中填充了一个简单的“Y”或“N”以显示状态。例如:Excel 选择所有单元格彼此相等的所有行,excel,select,conditional,Excel,Select,Conditional,我有一个大表格,只显示了一种信息:某个研究地点是否存在某种植物。我有500多个物种列在第一栏,30个网站作为列名。表格中填充了一个简单的“Y”或“N”以显示状态。例如: Scientific Name Old Wives Beach Dadi Orote N Airstrip Abelmoschus moschatus N N N Abrus precatorius Y
Scientific Name Old Wives Beach Dadi Orote N Airstrip
Abelmoschus moschatus N N N
Abrus precatorius Y N Y
Abutilon indicum N N N
但是,物种列表包含一些在任何地点都没有出现的物种,这使得一行中充满了“N”,就像上面示例中的第一行和第三行一样。我需要删除这些行以使表更易于管理
没有长时间的IF和声明,有没有办法实现这一点 受pnuts评论的启发,在新专栏中,使用a公式。例如,
=COUNTIF(B2:AE2,“Y”)
,假设行/列标题位于行1和列A中,数据位于B2:AE501+范围内
如果然后选择整个范围(包括标题和新公式列)并添加过滤器,则只能选择Y的计数为0的行。一旦只显示了0,就可以选择整行并删除它们(使用右键单击,删除),而不影响非零行
此时,如果您不再需要count列,您可以关闭过滤器并删除该列,但是如果您发现由于其他原因计数很方便,我也不会感到惊讶
或者,您可以使用筛选器隐藏0行,而不是删除它们,这样就不会完全删除数据,但不再妨碍您的工作。下面的代码是一种方法,假设数据中没有间隙。动画gif逐步演示其工作原理。理解.select语句后,应将其删除
Sub-deleteIfAllN()
Dim PLANT作为范围,单元格作为范围,allN作为布尔值
设置plantR=范围(“A2”)
而花盆“
植物选择
设置r=种植机偏移(0,1)
allN=真
做
r、 挑选
如果r“N”,那么
allN=False
退出Do
如果结束
设置r=r.Offset(0,1)
循环直到r=“”
设置种植园=种植园偏移(1,0)
行(plantR.row-1)。选择
如果为allN,则为行(plantR.row-1)。删除
温德
端接头
您可以使用高级过滤器
如下所示设置您的数据和标准区域
对于您发布的示例,公式为:
=COUNTIF($B8:$D8,"N")<>3
=COUNTIF($B8:$D8,“N”)3
对于30列,只需修改范围和计数
之前
之后
我选择就地过滤
请注意,还有一个选项可以复制到另一个位置
,这将把筛选结果放在另一个位置
=COUNTIF($B8:$D8,"N")<>3