【发布时间】:2017-07-26 22:42:38
【问题描述】:
是否有 Excel 公式可以找到单元格内任意数字的索引?例如,该单元格可能含有“Tylenol 500mg”或“Tylenol PM 300mg”或“Advil 5.55mg”之类的物质。我需要知道文本在哪里结束,数字从哪里开始。
我希望避免编写宏,但如果没有任何现有的 Excel 公式,我会这样做。一如既往...谢谢!
【问题讨论】:
标签: excel
是否有 Excel 公式可以找到单元格内任意数字的索引?例如,该单元格可能含有“Tylenol 500mg”或“Tylenol PM 300mg”或“Advil 5.55mg”之类的物质。我需要知道文本在哪里结束,数字从哪里开始。
我希望避免编写宏,但如果没有任何现有的 Excel 公式,我会这样做。一如既往...谢谢!
【问题讨论】:
标签: excel
使用这个数组公式:
=MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&"1234567890"))
作为数组公式,退出编辑模式时需要使用 Ctrl-Shift-Enter 确认,而不是 Enter。
处理根本没有数字的。
=IF(ISERRROR(FIND({1,2,3,4,5,6,7,8,9,0},A1)),0,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&"1234567890")))
或者你可以使用这个经常输入的公式:
=AGGREGATE(15,6,FIND({1,2,3,4,5,6,7,8,9,0},A1),1)
处理没有数字的:
=IFERROR(AGGREGATE(15,6,FIND({1,2,3,4,5,6,7,8,9,0},A1),1),0)
【讨论】:
=SEARCH({0,1,2,3,4,5,6,7,8,9,0},A1) 但这不起作用。你介意解释一下它是如何工作的吗?我一直在观察和思考,但无法真正理解 A1&"1234567890" 部分背后的想法。
"1234567890" 添加到现有字符串中,以便在遍历数字时始终找到匹配项。如果那不存在并且不是所有数字都在字符串中,它将返回错误。如果包含在 MIN 中并将字符串添加到末尾,您的 Search 也可以工作:=MIN(SEARCH({1,2,3,4,5,6,7,8,9,0},A1&"1234567890")) 但我只在查找字母字符时使用 SEARCH,FIND 对类型更短,并且数字不区分大小写。 @布鲁斯韦恩