请教一下:excel 如何批量删除含有数字的行?要求:批量删除后没有数字,使用公式函数、VBA等均可。谢谢!

如题所述

  F1数组公式

    =INDEX(A:A,SMALL(IF(LENB(A$1:A$11)=2*LEN(A$1:A$11),ROW($1:$11),4^8),ROW(A1)))&""

      输入完公式后, 双击单元格, 按 Ctrl+shift+回车 三键结束

      右拉至E1, 再下拉至E11.

    追问

    应当右拉至J1, 再下拉至J11
    可否说明一下公式?谢谢!
    行数和列数增加时如何更改公式

    追答

    不好意思, 开始没考虑到空格的情况, 公式改了一下, 这回对了.

      =INDEX(A:A,SMALL(IF(LENB($A$1:$A$11)=2*LEN($A$1:$A$11),ROW($1:$11),4^8),ROW(A1)))&""


    1. LENB(A$1:A$11)=2*LEN(A$1:A$11)

    判断A1:A11中第个单元格是否包含数字, 因为数字是单字节的, 所以LEN()的2倍肯定不等于LENB(), 具体看EXCEL关于这两个函数的帮助.

    2. IF(LENB(A$1:A$11)=2*LEN(A$1:A$11),ROW($1:$11),4^8)


    如果LENB(A$1:A$11)=2*LEN(A$1:A$11)计算值为TRUE, 则返回满足条件那行的行号, 否则返回4^8. 4^8的03版EXCEL的最大行号, 就当它是个极大的数就行.

    3. SMALL(IF(LENB(A$1:A$11)=2*LEN(A$1:A$11),ROW($1:$11),4^8),ROW(A1))

    作用是取 IF(LENB(A$1:A$11)=2*LEN(A$1:A$11),ROW($1:$11),4^8) 的第N小的值, 下拉时注意ROW(A1)的变化.

    4. INDEX(A:A,SMALL(IF(LENB(A$1:A$11)=2*LEN(A$1:A$11),ROW($1:$11),4^8),ROW(A1)))&""

    这个就简单了, 引用A列, 第M个值, 这里的M是第3步计算出来的.

    5. 最后的&""

    作用是屏蔽零值, 即当引用值是0的时候, 显示为空白.

    温馨提示:内容为网友见解,仅供参考
    第1个回答  2013-01-29
    Private Sub CommandButton1_Click()
    Dim i, h As Integer
    Dim str As String
    h = Sheets(1).[a65536].End(xlUp).Row
    For i = 1 To h
    str = Sheets(1).Cells(i, 1).Value
    If str Like "*0*" Or str Like "*1*" Or str Like "*2*" Or str Like "*3*" Or str Like "*4*" Or str Like "*5*" Or str Like "*6*" Or str Like "*7*" Or str Like "*8*" Or str Like "*9*" Then
    Sheets(1).Cells(i, 1).Delete 3
    i = i - 1
    End If
    Next
    End Sub
    用个按钮运行追问

    请问一下,这段代码该如何建立?谢谢

    第2个回答  2013-01-29
    选中B列,CTRL+G,定位条件,空值,右键,删除,整行

    在excel中如何批量删除空白行或空白列
    修改公式为=TRIM(MID(SUBSTITUTE(A2,",",REPT(" ",30)),30,10))此时将left变成了MID函数 从第30个字符开始取,取10个 我们将代表作删除掉,用公式去做 将B2中的公式复制到D2,将left改成right即可,取数的数字4变成10 =TRIM(RIGHT(SUBSTITUTE(A2,",",REPT(" ",30)),10))我们实际上...

    如何批量删除EXCEL表格中的数字和数据
    方法一:使用Excel函数 1. **使用RIGHT和LEN函数**:如果数字长度不固定,但你想要删除每个单元格内容前的所有数字,可以在旁边的一个空白单元格中输入公式,如`=RIGHT(A1,LEN(A1)-LEN(TEXT(VALUE(LEFT(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789"))-1)),"")))`(注意:...

    如何删除excel表格多余的行和列
    1. 手动删除:选中需要删除的行号,右击选择“删除”。如果想删除连续的多行,可先选中这些行,然后右击选择“删除”。2. 筛选后删除:对于有数据的内容,可先通过筛选功能筛选出空白行或无效行,然后进行批量删除。筛选后的数据可以进行选中后批量删除操作。3. 使用公式或文本函数...

    如何批量删掉Excel表格中数字的几位呢?
    一个简单的方法是利用Excel的函数功能。在表格的任意一个空白单元格中,输入公式:=LEFT(A1,LEN(A1)-你想删除的位数),这里以删除三位为例,"你想删除的位数"替换为3。例如,如果你想删除单元格G8中的数字的后三位,就输入=LEFT(G8,LEN(G8)-3)。输入公式后,按下回车键,你会看到原来的数字...

    excel表格如何批量删除单元格中不需要的文字或数字,仅仅保留自己想要的...
    1、打开excel文档,假设我们要删除文档中的‘好’字符。2、我们可以点击‘编辑’菜单下的‘查找和选择’,然后选择‘替换功能’。3、在第一个输入框里输入‘好’,第二个输入框不需要输入任何内容,点击‘全部替换’按钮就行了。4、可以看到,现在文档里所有的‘好’字符就删除掉了。

    怎么快捷地删除excel表中每行前面的一段数字?
    如果数字长度不一样,可以考虑用分列的方式后删除的数字列的方式实现。签于提问中的数字长度是一样的,这里讲解一下换个思路,考虑用函数取除数字外的部分,从而达到相同的目的。步骤如下:1.源数据:2.使用如下图所示公式:3.选中B1右下角,箭头变成十字后,往下拖动,即可。

    EXCEL中 数字与文字共存,如何批量删除数字
    1、文字在前数字在后:可用LEFT函数删除数字,公式=LEFT(A1,LENB(A1)-LEN(A1)) 其中LENB(A1)-LEN(A1)计算左边文字长度。2、数字在前文字在后:可用ROGHT函数删除数字,公式=RIGHT(A1,2*LEN(A1)-LENB(A1)) 其中2*LEN(A1)-LENB(A1)计算右边文字的长度。3、数字在中间、文字在两边:删除数字...

    EXCEL如何批量删除间隔行(列)?
    1、在正文后一列G2单元格输入函数:IF(MOD(ROW(A2),2),"删除",ROW(A2)),下拉至G12。可标记出间隔行,删除奇数行。删除奇数行可输入公式:IF(MOD(ROW(A2),2),"删除",ROW(A2));删除偶数行可输入公式:IF(MOD(ROW(A2),2),ROW(A2),"删除")。2、将G列公式变为数值,防止数据增减...

    在EXCEL中,如何批量的删除一列的后几位数字
    在Excel表格中,若需批量删除数字的后几位,可以使用“LEFT”或“TEXT”函数配合适当的公式来实现。具体来说,假设我们有一列数据在A列,从A1到A100,每个单元格都包含一串数字,而我们想要删除每串数字的后三位。这时,我们可以在B列的第一个单元格中输入一个公式,然后将该公式...

    excel表格中数字如何批量删除后几位
    在Excel表格中批量删除数字的后几位,可以通过多种方法实现,以下是一种常用的方法,使用Excel的内置函数来操作:使用LEFT和LEN函数 1. **选择目标单元格**:首先,选择或定位到包含要修改数字的起始单元格。2. **输入公式**:在目标单元格或旁边的空白单元格中输入以下公式。假设我们要删除A列中每个...

    相似回答