excel编程问题!!请各位高手多多帮忙。。

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:21:14
我想在表中按照一列值筛选数据,如,表中有A B C D四列数据,共1万行,A列(文本格式)有如下值:00101、00102、00142、10254、12032、00154、00235、10100、10011.....值为固定值,按照A列值筛选大概100条数据,该如何?有什么公式或者方法可以达到此项目的?
我想到的方法是做宏,内容为:复制A列并插入到A、B两列之间,在A列中查找特定值,如00101并将其替换为1,继续查找00142,并将其替换为1....这样可以把我需要的筛选的值都替换为1,然后利用自动筛选功能即可达到目的,但是此宏只能替换第一个数据,不可以自动连续替换,具体代码如下:
Sub Macro1()
'
' Macro1 Macro
' 宏由 X 录制,时间: 2009-3-18
'

'
Columns("A:A").Select
Selection.Copy
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Application.CutCopyMode = False
Selection.Find(What:="11009", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
ActiveCell.Replace What:="11009", Replacement:="1", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCas

按照A列值筛选大概100条数据,是随机筛选的吗?

你在E1输入公式=IF(OR(A1="00101",A1="00102"),1,0)

然后复制该公式在E列其它单元格,A1="00101",A1="00102"可以根据需要继续增加,用逗号分隔,这样查找到的数据是1,查找不到的是0,然后再用自动筛选出等于1的所有单元格即可。

关键是掌握好IF和OR函数的应用即可。

11009,00173,00037,00148...好像没有规律可循
100个无规律的数据,这样写程序太长了,赫赫。

与其在程序中写100次,不如把它们列在G列【如果是随机抽取,可在g1-g100用函数=text(randbetween(0,99999),"00000")生成随机数】
然后在b1输入 =if(countif(g:g,a1),"OK",""),双击b1填充柄

顺便说一下,楼上的方法也有可行性,公式可改为
=if(or(a1={"00101","00102","00154"...}),1,""),把一百个数列在公式里。