Answers:
实现这样的一种方法是
=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))
下面给出了一些示例字符串的此公式的结果。
您可能需要修改此设置以适合您的个人需求。对于像“ 3 cups”这样简单的琴弦,它应该能很好地工作。
SPLIT(..., " ")
将字符串拆分为以空格分隔的部分。您可以在字符串中添加更多字符,例如" -/"
,以便在找到这些字符时进行拆分。
ISNUMBER
检查字符串是否为数字。
FILTER
提取数组并筛选出不满足第二个函数的所有内容,即,它剔除不是数字的所有内容。
INDEX(...; 1; 1)
返回数组第一行第一列中的值(因此我们只获得列出的第一个数字,而不是列出的所有数字)。
VALUE
可能不是必需的,但是只是出于良好的考虑,它会将最终字符串转换为数字值。
VALUE
……
VALUE
我在答案中给出的所有示例输入都会引发错误(“无法解析为数字”)。
VALUE
也是OP的第一个问题的答案,也是标题。
一种parseInt()
替代方法是:
=INT()
=SUM(ARRAYFORMULA(INT(LEFT(B1:B2, LEN(B1:B2)-5))))
的LEN(B1:B2)-5
,包括白色空间。