筛选Excel中特定长度和属性的单元格值

筛选Excel中特定长度和属性的单元格值,excel,Excel,在大型Excel电子表格(超过20000行)中,过滤单元格值的最佳方法是什么?仅过滤长度为6位数、不包含字母且有时存储为文本的数值。 单元格值还可以包含: -特殊字符和/或字母 -可能有前零或前导零(存储为文本以保留零) -最多30位数字(字符、数字、字母) 我已经尝试了函数LEN、ISNUMBER、ISERROR 如果您有任何建议,我们将不胜感激。您觉得呢 IF(ISNUMBER(A1+0), LEN(A1+0) = 6) 它将隐式地将任何可以是数字的内容转换为正确的数字(即没有前导零),并

在大型Excel电子表格(超过20000行)中,过滤单元格值的最佳方法是什么?仅过滤长度为6位数、不包含字母且有时存储为文本的数值。 单元格值还可以包含: -特殊字符和/或字母 -可能有前零或前导零(存储为文本以保留零) -最多30位数字(字符、数字、字母) 我已经尝试了函数LEN、ISNUMBER、ISERROR 如果您有任何建议,我们将不胜感激。

您觉得呢

IF(ISNUMBER(A1+0), LEN(A1+0) = 6)
它将隐式地将任何可以是数字的内容转换为正确的数字(即没有前导零),并查看是否有6个字符长,否则返回false

如果可以在谷歌表单中进行过滤,您可以使用regula rexpressions,这将使整个过程变得更加简单,特别是如果您想测量数字的长度,包括其前导零。
粘贴数据后,可以使用
=ArrayFormula(REGEXMATCH(A1:A,“^(?::*)(\D{6})$”)


对于前面有任何非数字的六位数字(包括前导零),这将返回true。

什么是“过滤掉”?你说的“我已经尝试了这些功能…”是什么意思?先在6个字符上进行自动筛选,然后继续进行?谢谢你的反馈。让我澄清一下。可能有83000行记录。应为所有记录分配6位标识符(即000001、170890…)。应保留带前导零的标识符。但是,此列表中有字母数字标识符,包含特殊字符,6位数字。过滤此列表的最佳方法是什么,以便我知道哪些标识符仅为6位数字,哪些标识符不为(或需要更正)?再次感谢。@pnuts我认为这些不应被视为数字,否则如果“fda564”应被解释为564,您还需要询问“fda654gd89”是否应被解释为数字。在这种情况下,两者都不是,它将返回false。我的理解是OP只想检索那些是数字的单元格,而有些单元格可能不是,因为他说要过滤的值不应该包含字母。(“只有长度为6位的数值,不包含字母,有时存储为文本。”)我明白了。如果OP想要任何包含六个连续数字的单元格,复制粘贴到谷歌工作表并运行regexmatch可能会更快。我不熟悉谷歌工作表。你能进一步解释一下吗?此外,由于我正在处理的列表包含前导零,因此我知道在电子表格单元格中保留它们的唯一方法是将其格式化为文本。有道理?谢谢。我扩展了我的答案,请看一看它是否适合你。谢谢!我将尝试一下并发布更新。