我在Excel中设置了一个高级过滤器。当使用通配符星号 (*)、使用包含数字和连字符数字的源列表时,或者当使用从公式生成数字的单独列表时,我无法让高级过滤器产生任何输出。 所有 adv.filter 标头都正确放置和命名;过滤器不使用通配符工作正常。
原始列表:
- 10
- 10-1
- 11
- 11-1
- 100
我正在使用一个公式来转换这些带连字符的数字以忽略破折号,以便它们在我的列表中正确排序(从小到大):
=IF(A1="","",IFERROR(VALUE(LEFT(A1,FIND("-",A1)-1)),VALUE(A1)))
这将生成辅助列(即高级筛选器源数据):
- 10
- 10
- 11
- 11
- 100
然后,我的高级过滤条件变得*10*
通配符,输出标题是包含破折号的原始列表。我希望通配符在用户键入 10 时在输出中同时显示 10 和 100。 但是,使用通配符时没有输出数据。 当我只输入没有星号的10
时,有完全匹配的输出数据。
关于为什么通配符不起作用的任何想法?我尝试将源数据和条件数据格式化为文本、数字和常规;通配符没有任何区别。感谢您的帮助!!!
当您尝试格式化为文本时,您的想法是正确的:通配符不适用于数值。
您遇到麻烦的地方是,格式化为文本不会追溯将数字更改为文本;只有在格式更改后输入的数字才会被转换。而是先使用另一个位置的 TEXT
函数将数据转换为字符串,然后筛选该结果。
根据您对公式中的VALUE
函数执行的操作,您甚至可以在其中使用TEXT
。