您好我正在尝试根据两列标准进行过滤。我正在尝试使用高级过滤器选项,但它在逻辑上不像我想要的那样工作。我想我可能要编写一个输入框并找到一种方法来使用vba,但我想确保在投入时间之前我没有遗漏任何东西。
以下是我正在尝试做的一个示例
A B
1 20 30
2 21 35
3 7 15
4 26 27
5 5 15
6 9 12
7 24 26
output
A B
1 20 30
2 21 35
4 26 27
7 24 26
在这个例子中,我想只显示a和b之间有26的行。不确定如果我可以组合列并过滤那个?
答案 0 :(得分:2)
答案 1 :(得分:2)
如果添加列标题,则可以使用AutoFilter(从“数据”选项卡或通过VBA)
对于VBA,请定义范围,然后使用AutoFilter方法在每列上添加过滤器。您似乎在寻找 A列< = 26< = B列的行
Columns("A:B").AutoFilter Field:=1, Criteria1:="<=26" 'Column A, less than or equal to 26
Columns("A:B").AutoFilter Field:=2, Criteria1:=">=26" 'Column B, greater than or equal to 26
这是一个更通用的形式:
Sub FilterColumnsForNumber(rTMP As Range, dNumber As Double)
If rTMP.Worksheet.AutoFilterMode Then rTMP.Worksheet.AutoFilterMode 'Remove autofilter in case it is somewhere else in the worksheet
rTMP.AutoFilter Field:=1, Criteria1:="<=" & CStr(dNumber) 'First column of Range, less than or equal to dNumber
rTMP.AutoFilter Field:=2, Criteria1:=">=" & CStr(dNumber) 'Second column of Range, greater than or equal to dNumber
End Sub
答案 2 :(得分:0)
我会使用嵌套if
=IF(B1<26, IF(C1>26, TRUE,FALSE), FALSE)
然后过滤公式单元格为true