【发布时间】: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. 在任何空白单元格中输入
1。 2. 复制该单元格。 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