如何解析Google表格中的整数?


16

Google表格中的parseInt()(JS)或intval()(PHP)等效项是什么?

我想在一个单独的单元格中计算一行中数字的总和。所以,如果我3 cups5 cups一排,我会得到18


4
您是说“ 3杯”和“ 15杯”,还是我错过了什么?
jonsca

Answers:


15

实现这样的一种方法是

=VALUE(INDEX(FILTER(SPLIT(A1, " "), ISNUMBER(SPLIT(A1, " "))); 1; 1))

下面给出了一些示例字符串的此公式的结果。

在此处输入图片说明

您可能需要修改此设置以适合您的个人需求。对于像“ 3 cups”这样简单的琴弦,它应该能很好地工作。

  • SPLIT(..., " ")将字符串拆分为以空格分隔的部分。您可以在字符串中添加更多字符,例如" -/",以便在找到这些字符时进行拆分。

  • ISNUMBER 检查字符串是否为数字。

  • FILTER 提取数组并筛选出不满足第二个函数的所有内容,即,它剔除不是数字的所有内容。

  • INDEX(...; 1; 1) 返回数组第一行第一列中的值(因此我们只获得列出的第一个数字,而不是列出的所有数字)。

  • VALUE 可能不是必需的,但是只是出于良好的考虑,它会将最终字符串转换为数字值。


2
所以答案是VALUE……
Iulian Onofrei 2015年

@IulianOnofrei不,VALUE我在答案中给出的所有示例输入都会引发错误(“无法解析为数字”)。
2015年

1
抱歉,我的意思是说这VALUE也是OP的第一个问题的答案,也是标题。
Iulian Onofrei 2015年

@IulianOnofrei我不懂JavaScript,但这不是我理解OP的问题的方式。
2015年

3

另一种可与装有细胞的杯子配合使用的选择

= ArrayFormula(SUM(INT(LEFT(B1:B2,FIND(“”,B1:B2))))))


1

正则表达式似乎很好用。例如:

WA57716示例

E2中的公式为:

="="&join("+",ArrayFormula(regexreplace(B2:D2,"\D","")))

这将除去所有非数字,将结果与+并连接在一起=

仅将值复制/粘贴/粘贴到例如F2(可以是E2)中,然后替换==

加入正则
表达式

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.