【发布时间】:2018-09-21 13:32:30
【问题描述】:
我想知道以下是否有快捷方式。
我有一个客户将填写的产品表格,我需要公式来格式化他们正确输入的零件编号。如果不是,他们的条目与产品列表不匹配。
以下是各种文本/数字/其他变体... Excel Columns/ Rows Example
101
7-2009
7-5601-RT
G-2121
5728B
PI-PIXES
除了最后一个以外,我都使用了这个公式: 公式1
=AND(SUMPRODUCT(--ISNUMBER(--MID(B40,ROW($1:$9996),1)))<LEN(B40),MIN(FIND({0,1,2,3,4,5,6,7,8,9},B40&"0123456789"))<=LEN(B40))
我还必须将其保存为 .xls 格式。 基本上,我有一列检查上面的内容,它返回 TRUE/FALSE。
我有另一个检查文本的公式: 公式2:
=IF(I40=FALSE,"NUMBER", "TEXT")
最后一列 TESTS FOR TEXT/NUMBER。 公式3:
=IF(J40 = "NUMBER", VALUE(B40), B40)
PI-PIXES 由于破折号(连字符)而被标记为数字。
没有任何其他选择,我正在考虑添加第三列来查找带有连字符的 TEXT。然后我会更改 FORMULA3 检查是否列 1 = TRUE+列 2 = TRUE 和列 3 = TEXT 但这变得越来越复杂,我想知道是否有捷径。
【问题讨论】:
-
7-2009是文本还是数字? -
预期格式是什么,有哪些不正确格式的示例?如果 UDF 太复杂,您可能需要它。
-
101 需要是一个数字,其余的应该是文本。
-
7-2009 应该是文本
-
我最终添加了另一列来检查其他 (-),然后添加第四列来设置它是文本还是数字。它现在可以正确地将所有这些示例分类为文本或数字,但 PI-PIXES 与部件号不匹配。令人沮丧!
标签: excel excel-formula