2017-06-10 27 views
-1

我在excel文件中有必要为每个列独立应用过滤器的数据,但过滤条件是相同的。提出这个问题的原因是每列都有一个满足不同行号条件的单元格。在表1中,我有3列a,b和c。 table 1如何在excel中为每个列创建具有相同条件的独立过滤器?

我想与值相独立地过滤每列= 20,使得结果看起来像见下表table 2

+0

如何向我们展示一些数据? –

+0

@GthathamShiva你能回答我的更新问题吗? –

+0

如果它只有3列,为什么不能手动应用过滤器? –

回答

1

试试此VBA代码,

Sub matchvalues() 
Dim i As Long, j As Long 
Sheets.Add.Name = "newSheet" 
j = InputBox("Enter the value to filter") 
Rows("1:1").Copy Sheets("newSheet").Cells(1, 1) 
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column 
    If IsError(Application.Match(j, Columns(i), 0)) Then 
     Sheets("newSheet").Cells(2, i) = "" 
    Else 
     Sheets("newSheet").Cells(2, i) = j 
    End If 
Next i 
End Sub 

该代码将提示值必须过滤。需要将其作为输入来创建新工作表并输出值(如果存在)。

如果你想用公式来做到这一点,请尝试下面的内容。如果您正在搜索的值位于单元格E1中,请在单元格G2中输入以下公式并拖动。

=IF(ISNUMBER(MATCH($E$1,A:A,0)),$E$1,"") 

enter image description here

您可以更改值E1直接看到更新后的结果。希望这可以帮助。

相关问题