首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在google sheets中获取产品名称的数值

在google sheets中获取产品名称的数值
EN

Stack Overflow用户
提问于 2020-12-30 21:05:20
回答 3查看 38关注 0票数 1

我有个问题。我们有编码的项目名称,其中有某些值,我需要做计算。例如,ASG-120U9624M我只需要提取120,96,24,因为它们是计算所需的参数。96也可以是220(2-3位数字)。24可能只有12或24。我知道你可以在某些符号之后得到值,例如(-,u),但是你能检测到值在12/24之前结束吗?如果96的值只能是两位数,那就很容易了,但现在我不知道该怎么做。我需要一些帮助。

EN

回答 3

Stack Overflow用户

发布于 2020-12-30 21:35:00

B1:

代码语言:javascript
复制
=ARRAYFORMULA(IFNA(REGEXEXTRACT(A1:A, "-(\d+)U")))

C1:

代码语言:javascript
复制
=ARRAYFORMULA(IFNA(REGEXEXTRACT(A1:A, "U(\d+)..M")))

D1:

代码语言:javascript
复制
=ARRAYFORMULA(IFNA(REGEXEXTRACT(A1:A, ".+(\d{2})M")))

票数 2
EN

Stack Overflow用户

发布于 2020-12-30 22:15:36

试试这个:

代码语言:javascript
复制
=ARRAYFORMULA(IFNA(IF(IFERROR(LEN(REGEXEXTRACT(A1:A, ".*U(\d{4})M")), 5) = 4, REGEXEXTRACT(A1:A, "^ASG-(\d{3})U(\d{2})(\d{2})M$"), REGEXEXTRACT(A1:A, "^ASG-(\d{3})U(\d{3})(\d{2})M$"))))

LEN(REGEXEXTRACT(A1:A, ".*U(\d{4})M")), 5) = 4 -确定U-M中的位数

REGEXEXTRACT(A1:A, "^ASG-(\d{3})U(\d{2})(\d{2})M$") -如果位数为4,则使用此正则表达式。

REGEXEXTRACT(A1:A, "^ASG-(\d{3})U(\d{3})(\d{2})M$") -如果位数为5,则使用此正则表达式。

样本表:

票数 0
EN

Stack Overflow用户

发布于 2020-12-31 04:01:13

假设您的原始数据运行A2:A。在B2中放置以下内容:

=ArrayFormula(IF(A2:A="",,REGEXEXTRACT(A2:A,"(\d+)\D(\d+)(12|24)")))

这一个公式将提取所有三列数字。

正则表达式捕获三个组,每个组都包含在括号中。它是这样写的:“任何数字后面跟着一个非数字,后面跟着任何数字,直到12或24。”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65507438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档