Excel 查找某列第一个符合条件的单元格位置

找到O列第一个<10的行,并将该行以下数据删除掉
这里是234行以下全部删除
用vba实现最好了

Excel查找某列第一个符合条件的单元格位置,使用MID函数即可实现。

下面以查找B列第一个小于60的数值所在行为例。

方法步骤如下:

1、打开需要操作的EXCEL表格,在任意空白单元格中输入函数=MIN(IF(B:B<60,ROW(O:O)))。

【MID函数的作用是返回给定参数表中的最小值】

2、通过ctrl+shift+enter三键组合完成公式编辑输入即可得到符合条件的行号,根据行号可快速得到相关单元格位置。

【注意需要使用ctrl+shift+enter三键组合完成输入,excel会将输入的公式当成数组公式来处理,外部表现是在公式两边加上了花括号{},和手动输入{}是完全不同的】

3、返回EXCEL表格,可快速得到该列第一个符合条件的单元格位置。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-03

如下图所示,找出第一个小于60的单元格所在的行。

在B1单元格输入“=MIN(IF(O:O<60,ROW(O:O)))”按“Ctrl+Shift+回车”结束输入即可。结果显示:第7行。

第2个回答  2014-07-04

亲,第一步可以用公式实现。找一个空白单元格,粘贴下面的公式,按“Ctrl+Shift+回车”结束输入:

=MIN(IF(O:O<10,ROW(O:O)))

这就找到了O列第一个<10的行

 

删除就没法用公式了。要么您受累手工删,要么做VBA。

VBA代码如下:

Sub fo()
Dim rc As Long
Dim rg As Range
rc = Range("O" & Rows.Count).End(xlUp).Row
For Each rg In Range("O1:O" & rc)
    If rg.Value < 10 Then
        Rows(rg.Row + 1 & ":" & rc).Delete
        Exit For
    End If
Next
End Sub

本回答被网友采纳
第3个回答  2014-07-04
好像只能用筛选,筛选出不符合条件的记录,标记第一行,取消筛选反再删除??追问

vba 如何实现 朋友 先谢了

第4个回答  2014-07-04
用条件格式
相似回答