您好堆栈溢出社区,在高级筛选器中使用间接
我目前正在创建一个自动报告,从给定文件夹导入两个或多个CSV文件。我需要用于VLOOKUP的唯一标识符是一个不太明显的列,所以我需要做的是剪切并将找到的列插入到'A'列。下面的例子。
With wksRawData
'~~> Move Process ID Column to Column 'A' for VLOOKUP
.Columns(WorksheetFunction.Match("pid", .Range("1:1"), 0)).Cut
.Columns(1).Insert Shift:=xlToLeft
'~~> Remove Additional Headers
.Cells.RemoveDuplicates Columns:=Array(1)
End With
这部分的伟大工程,但我有一个应该参考$A2
另一个工作表中的公式,它被更改为$B2
。它应该参考$A2
的原因是因为它在高级过滤器公式中使用,并且是第一个数据点。下面的公式。
=IF(COUNTIF($C:$C, 'Raw Data'!$A2)=0, TRUE, FALSE)
当与其他高级筛选列一起使用时,此公式将白名单添加任何手动添加的唯一标识符。下面的例子。
PID Whitelist | | user | proc | PID Whitelisted?
---------------+------+--------+----------------+------------------
182 | | root | | <FORMULA_ABOVE>
11 | | test | | <FORMULA_ABOVE>
1776 | | | Jazzy Rabbit | <FORMULA_ABOVE>
我已经尝试在'Raw Data'!$A2
的地方使用INDIRECT
,ADDRESS
和INDEX
,但由于他们绝对参考目的地高级筛选总是使用第一个唯一标识符值;而不是当前行的值。
预先感谢您的时间,我非常感谢您提供的任何帮助!
- NOX