首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高级筛选器无法识别公式返回的空格

高级筛选器无法识别公式返回的空格
EN

Stack Overflow用户
提问于 2015-01-03 23:33:27
回答 2查看 2.1K关注 0票数 2

我正在使用Excel中的高级筛选来快速筛选所设置的条件。我已经确定了“标准范围”,并录制了一个工作宏。当我在没有任何条件的情况下运行宏时,宏会返回整个底层数据库,这正是应该发生的事情。

但是,当我在'criteria range‘中插入公式时,如果设置的criteria为空,则返回空格,宏不会将该单元格识别为空,即不返回任何内容。

我的问题是:如何让Excel将单元格识别为空,从而通过“条件范围”中插入的公式返回整个底层数据集?

录制的宏:

代码语言:javascript
复制
Sub Filter()

    Sheet2.Range("A1").CurrentRegion.AdvancedFilter _
        Action:=xlFilterCopy, CriteriaRange:=Range("Interface!Criteria"), _
        CopyToRange:=Range("Interface!Extract"), Unique:=False
    ActiveWindow.ScrollColumn = 1
End Sub

插入“条件范围”的公式:

代码语言:javascript
复制
=IF(ISBLANK(D4),"","<="&D4)

提前谢谢你,

Hieronymus5

EN

回答 2

Stack Overflow用户

发布于 2015-01-04 10:00:32

看起来你是对的,公式结果行不通。

如果= D4 (“接口!条件”)是范围E1:E2,则可能检查vba中的范围并写入空值,而不是使用公式

代码语言:javascript
复制
  If Range("D4") = "" Then Range("E2") = "" Else Range("E2") = "<=" & Range("D4")` 

‘然后你的过滤器

票数 0
EN

Stack Overflow用户

发布于 2015-01-05 18:01:28

首先,非常感谢所有试图帮助我解决这个问题的人。

话虽如此,对我来说,解决方案实际上相当简单。我希望将条件范围留空的主要原因是强制高级筛选器返回基础数据集中的所有数据。

但是,筛选器返回所有数据的条件范围不必为空,还可以强制Excel返回除特定值之外的所有值。

如果您选择这个特定值是一些胡言乱语,而不是在您的底层数据集中,它将返回完整的数据。

所以在我的例子中,我用=IF(ISBLANK(D4),"<>TEST","<="&D4)替换了=IF(ISBLANK(D4),"","<="&D4)。后一个带有"<>TEST“的公式返回的所有数据都不等于TEST。TEST是一个在我的数据集中不存在的值。

我还没有尝试过datatoo提供的解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27756447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档