【问题标题】:Identify if a cell with in text format contains any letters识别文本格式的单元格是否包含任何字母
【发布时间】:2020-04-21 17:07:04
【问题描述】:

我有一个包含大约 12,000 个标识号的列表,需要将这些标识号存储为文本以保留前导 0,我使用 =len 来标识任何长度错误的标识号,但我不知道如何快速识别单元格是否包含字母。

=isnumber 不起作用,因为导入的数据存储为文本,因此它表示所有单元格都不是数字。

答案可以是 VBA 或公式。

【问题讨论】:

  • 我不知道一个好的简短公式,但另一种方法是保存文件的副本。然后在该文件中将您的数据转换为数字,然后您可以按照您的说明执行 =isnumber 公式。
  • 如果不能将 A1 强制转换为数字,=ISERR(A1*1) 之类的东西将返回 TRUE。可能会因可以解析为(例如)十六进制的值而失败...
  • 如果你对丑陋的公式没问题,你可以做一些类似替代...(substitute(a1,"1",""),"2",""...), "9","") 并检查 len 是否为 0。Tim William 的答案更巧妙,但是
  • 另一种方式。 1. 在任何空白单元格中输入12. 复制该单元格。 3. 突出显示您的 15k 数字列表并右键单击粘贴。 4. Uner Paste 点击“Values” 5. 在 Operation set 下,点击“Multiply”。 6. 单击确定,现在您将所有数字(存储为文本)作为数字,您可以使用=IsNumber
  • 另一种方式:informit.com/articles/article.aspx?p=2027553&seqNum=11。实际上我只是注意到这个链接中也提到了上述方式(使用pastespecial)。

标签: excel vba google-sheets excel-formula


【解决方案1】:

尝试:

=ARRAYFORMULA(IF((LEN(A2:A)<7)*(NOT(ISERR(A2:A*1))), A2:A, ))

如果长度小于 7 个字符且文本字符串由数字组成

【讨论】:

    【解决方案2】:

    =isnumber 不起作用,因为导入的数据存储为文本,因此表示所有单元格都不是数字。

    Value()一起使用

    =ISNUMBER(VALUE(A1))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-13
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多