EXCEL中如何引用Sheet1中含有指定内容的行到Sheet2
表格见附件如何在EXCEL中将Sheet1中含有指定内容的行全部复制到Sheet2中例如,图片中的A列,要将其中所有含有“甲”内容的行都复制到Sheet2中,而且Shee...
表格见附件
如何在EXCEL中将Sheet1中含有指定内容的行全部复制到Sheet2中
例如,图片中的A列,要将其中所有含有“甲”内容的行都复制到Sheet2中,而且Sheet1中A列的内容如果增加或减少时Sheet2中的内容也会随即改动
如果A列增加了一个“甲”,那么在Sheet2中也会增加与含有“甲”那一行相同的一行
我的意思就是,要把Sheet1中“甲”所对应的行全部复制到Sheet2中
表达的好像不是太明确,如果不清楚可以再问我
谢谢!
wodaxiaopengyo 和 芮城老憨 给的函数只能复制出3列,怎么样能复制很多列?
要改哪一个变量?应该怎么改? 展开
如何在EXCEL中将Sheet1中含有指定内容的行全部复制到Sheet2中
例如,图片中的A列,要将其中所有含有“甲”内容的行都复制到Sheet2中,而且Sheet1中A列的内容如果增加或减少时Sheet2中的内容也会随即改动
如果A列增加了一个“甲”,那么在Sheet2中也会增加与含有“甲”那一行相同的一行
我的意思就是,要把Sheet1中“甲”所对应的行全部复制到Sheet2中
表达的好像不是太明确,如果不清楚可以再问我
谢谢!
wodaxiaopengyo 和 芮城老憨 给的函数只能复制出3列,怎么样能复制很多列?
要改哪一个变量?应该怎么改? 展开
6个回答
展开全部
用公式你如果不太明白相对与绝对引用的话,很容易搞错,不如用宏。
随便录制一个宏,编辑它,把里面所有的字清除掉,然后贴上下面的代码,运行就可以了,你也可以指定快捷键,这样更好操作。
运行时,会弹出一个对话框,要求你输入要筛选的内容,如:甲,这样所有首列是甲的行都会复制到Sheet2当中去,绝无遗漏。Sheet1中内容更换后只要再运行一遍这个宏就可以了,也就0.1秒吧。
Sub myCopy()
Dim mm, nn, myStr, i
mm = ActiveSheet.[a65536].End(xlUp).Row
nn = Worksheets("sheet2").[a65536].End(xlUp).Row + 1
myStr = InputBox("Pls input filtering word below ")
Debug.Print mm; nn; myStr
For i = 1 To mm
If Cells(i, 1) = myStr Then
Rows(i).EntireRow.Copy Worksheets("sheet2").Cells(nn, 1)
nn = nn + 1
End If
Next i
End Sub
随便录制一个宏,编辑它,把里面所有的字清除掉,然后贴上下面的代码,运行就可以了,你也可以指定快捷键,这样更好操作。
运行时,会弹出一个对话框,要求你输入要筛选的内容,如:甲,这样所有首列是甲的行都会复制到Sheet2当中去,绝无遗漏。Sheet1中内容更换后只要再运行一遍这个宏就可以了,也就0.1秒吧。
Sub myCopy()
Dim mm, nn, myStr, i
mm = ActiveSheet.[a65536].End(xlUp).Row
nn = Worksheets("sheet2").[a65536].End(xlUp).Row + 1
myStr = InputBox("Pls input filtering word below ")
Debug.Print mm; nn; myStr
For i = 1 To mm
If Cells(i, 1) = myStr Then
Rows(i).EntireRow.Copy Worksheets("sheet2").Cells(nn, 1)
nn = nn + 1
End If
Next i
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在sheet2的A1单元格中输入公式:
=IF(ROW()>COUNTIF(Sheet1!$A:$A,"甲"),"",INDEX(Sheet1!$A$1:$C$100,SMALL(IF(Sheet1!$A$1:$A$100="甲",ROW($1:$100),4^8),ROW()),COLUMN()))
回车后按一下F2,再按shift+ctrl+回车,然后选中A1单元格向下向右复制公式,注意向下多复制一些行,以备你在表一中添加信息后表二也能随时更新.
=IF(ROW()>COUNTIF(Sheet1!$A:$A,"甲"),"",INDEX(Sheet1!$A$1:$C$100,SMALL(IF(Sheet1!$A$1:$A$100="甲",ROW($1:$100),4^8),ROW()),COLUMN()))
回车后按一下F2,再按shift+ctrl+回车,然后选中A1单元格向下向右复制公式,注意向下多复制一些行,以备你在表一中添加信息后表二也能随时更新.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先在Sheet2的A1输入=IF(ISERROR(INDEX(Sheet1!A1:A1,MATCH("甲",Sheet1!A1:A1,))),"",INDEX(Sheet1!A1:A1,MATCH("甲",Sheet1!A1:A1,)))并向下填充.再在B1输入=IF(ISERROR(INDEX(Sheet1!B1:B1,MATCH($A1,Sheet1!$A1:$A1,))),"",INDEX(Sheet1!B1:B1,MATCH($A1,Sheet1!$A1:$A1,)))先向右填充至C1,然后再向下填充.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-02-28 · 知道合伙人软件行家
关注
展开全部
最好是使用VBA,方便很多。直接刷新过去,不需要频繁地添加一些函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询