Excel 高级过滤器无法使用通配符(* 星号)使用常规数字和带连字符的数字系统
Excel Advanced Filter not working with Wildcard (* asterisk) using regular numbers and hyphenated number system
我在 Excel 中设置了一个高级过滤器。当使用通配符星号 (*)、使用包含数字和带连字符的数字的源列表时,或者当使用从公式生成数字的单独列表时,我无法让高级过滤器生成任何输出。所有 adv.filter header 都已正确放置和命名; 过滤器在不使用通配符的情况下工作正常。
原始列表:
- 10
- 10-1
- 11
- 11-1
- 100
我正在使用公式转换这些带连字符的数字以忽略破折号,以便它们在我的列表中正确排序(从小到大):
=IF(A1="","",IFERROR(VALUE(LEFT(A1,FIND("-",A1)-1)),VALUE(A1)))
这会产生一个辅助列(这是高级过滤器源数据):
- 10
- 10
- 11
- 11
- 100
然后我的高级过滤条件变成 *10*
带通配符, 输出 header 是包含破折号的原始列表 。当用户输入 10 时,我希望通配符在输出中同时显示 10 和 100。但是,使用通配符时没有输出数据。当我输入没有星号的 10
时,有完全匹配的输出数据。
关于为什么通配符不起作用的任何想法?我尝试将源数据和标准数据格式化为文本、数字和一般; none 对通配符有任何影响。感谢您的帮助!!!!
当您尝试将格式设置为文本时,您的想法是正确的:通配符不适用于数值。
您 运行 遇到麻烦的地方是格式化为文本不会追溯地将数字更改为文本;仅转换格式更改后输入的数字。而是首先在另一个位置使用 TEXT
函数将您的数据转换为字符串,然后过滤该结果。
根据您在公式中对 VALUE
函数所做的具体操作,您甚至可以在其中使用 TEXT
。
我在 Excel 中设置了一个高级过滤器。当使用通配符星号 (*)、使用包含数字和带连字符的数字的源列表时,或者当使用从公式生成数字的单独列表时,我无法让高级过滤器生成任何输出。所有 adv.filter header 都已正确放置和命名; 过滤器在不使用通配符的情况下工作正常。
原始列表:
- 10
- 10-1
- 11
- 11-1
- 100
我正在使用公式转换这些带连字符的数字以忽略破折号,以便它们在我的列表中正确排序(从小到大):
=IF(A1="","",IFERROR(VALUE(LEFT(A1,FIND("-",A1)-1)),VALUE(A1)))
这会产生一个辅助列(这是高级过滤器源数据):
- 10
- 10
- 11
- 11
- 100
然后我的高级过滤条件变成 *10*
带通配符, 输出 header 是包含破折号的原始列表 。当用户输入 10 时,我希望通配符在输出中同时显示 10 和 100。但是,使用通配符时没有输出数据。当我输入没有星号的 10
时,有完全匹配的输出数据。
关于为什么通配符不起作用的任何想法?我尝试将源数据和标准数据格式化为文本、数字和一般; none 对通配符有任何影响。感谢您的帮助!!!!
当您尝试将格式设置为文本时,您的想法是正确的:通配符不适用于数值。
您 运行 遇到麻烦的地方是格式化为文本不会追溯地将数字更改为文本;仅转换格式更改后输入的数字。而是首先在另一个位置使用 TEXT
函数将您的数据转换为字符串,然后过滤该结果。
根据您在公式中对 VALUE
函数所做的具体操作,您甚至可以在其中使用 TEXT
。