发布网友
共3个回答
热心网友
这个用筛选不好实现,最好用VBA可以得出你要的结果。
在当前工作表下面标签上点鼠标右键,选“查看代码”,把下面代码复制进去。
回到EXCEL窗口,按“工具-宏-宏”,从中选择cha这个宏运行。就会在第五列(E列)显示各个值为4、8的行号及它们下一行的数据值。
Sub cha()
s = 1
For i = 1 To 100 '假设数据有100行
If Cells(i, 1) = 4 And Cells(i + 1, 1) = 8 Then
'在第五列显示等于4的各行号
Cells(s, 5) = i: s = s + 1
'在第五列显示等于8的各行号
Cells(s, 5) = i + 1: s = s + 1
'在第五列显示4、8的下一行数据
Cells(s, 5) = Cells(i + 2, 1): s = s + 1
End If
Next
End Sub
如果想让结果显示在其他列中(不在E列),可将代码中的CELLS(S,5)中的数字5改成其他列标,比如改成6就是在F列。
热心网友
高级筛选不行,但构造辅助列加自动筛选就可以。
方法如下(按照你的例子):
1。B3写入公式:(因为按照你的说法,A1,A2肯定不符合要求,不管他)
=AND(A1=4,A2=8)
下拉填充至B13
2.选中B列,数据-筛选-自动筛选,筛选B中为Ture的项。
祝你成功!
热心网友
因为你没有描述清楚你是哪种想法,依我的理解你可能有两种意图:
一、在每列后分别插入新的一列来筛选
1、在新的一列比如原A列B列之前插入新的B列
2、在新的B2中录入公式=IF(AND(A6=8,A5=4),A7,"")
3、依次向下拖动。
4、在BC列之间如法炮制。
二、还可以在ABCD等的最后一列之外的单元格中录入以下公式。
=IF(AND(A2=8,A1=4),A3,IF(AND(B2=8,B1=4),B3,IF(AND(C2=8,C1=4),C3,IF(AND(D2=8,D1=4),D3,""))))
如果你的数据有更多列,把这公式向右复制更长,即可。最多可以支持8列。
最后在这一列中筛选值不为空的就可以看到符合条件的全部行了。
如有不明继续补充。