Google sheets 谷歌左表和ISNUMBER-星际舰队人力资源部

Google sheets 谷歌左表和ISNUMBER-星际舰队人力资源部,google-sheets,Google Sheets,tl;dr-如何从列中提取前两个字符,并让第二列声明这些字符是否为数值(无文本) 子问题:IF(ISNUMBER(左(C2,2)),“yes”,“no”)为什么不照我刚才说的做 -- 我是星际舰队的人力资源官员,我们的数据库一团糟。有一段时间,瓦肯人控制着我们的人形资源,现在我们的官员和船员的追踪号码被…瓦肯人 在该样本表中,我们有一个星际舰队ID和一个瓦肯高级指挥ID,用于美国企业号(NCC-1701)舰桥机组的每个成员。那就太好了,除了有些军官同时拥有SFID和VHCID,还有一些军官在这

tl;dr-如何从列中提取前两个字符,并让第二列声明这些字符是否为数值(无文本)

子问题:
IF(ISNUMBER(左(C2,2)),“yes”,“no”)
为什么不照我刚才说的做

--

我是星际舰队的人力资源官员,我们的数据库一团糟。有一段时间,瓦肯人控制着我们的人形资源,现在我们的官员和船员的追踪号码被…瓦肯人

在该样本表中,我们有一个星际舰队ID和一个瓦肯高级指挥ID,用于美国企业号(NCC-1701)舰桥机组的每个成员。那就太好了,除了有些军官同时拥有SFID和VHCID,还有一些军官在这两个领域都拥有VHCID。我需要能够在星际舰队ID列中标记两种ID中的一种-VHCID看起来更简单

我想调用类似于
IF(ISNUMBER(左(C2,2)),“VHCID”,“SFID”)
,因为所有的VHCID都以两位数字开头。但是,正如您所看到的,该工作表为所有
输出抛出了一个SFID,尽管当我拉出这两个数字时,在某些情况下它们显然是数字

以前有人敢来这里吗

在Left()方法之后添加+0将尝试将结果转换为数字

=IF(ISNUMBER(LEFT(B2,2)+0),"VHCID","SFID")
似乎给出了预期的结果

正如评论所指出的,GoogleSheets和Excel都有一个将字符串转换为文本的函数,称为。我不知道Excel中有这个函数,所以谢谢分享。使用Value()函数的公式如下所示:

=IF(ISNUMBER(VALUE(LEFT(B2,2))),"VHCID","SFID")
回答您的编辑问题:

函数Left()是。函数是number()。由于Left()函数返回一个字符串,因此在IsNumber()函数中,它将始终计算为false

为了解决这个问题,可以在Left()函数中添加0,这将自动将字符串转换为数字(基本上,它将尝试强制字符串为数字以处理数学运算)。如果Left()函数的结果类似于“42”,那么添加0将使其成为42,这在IsNumber()函数中解析为“true”。如果Left()函数的结果是“Text”,则转换失败,“Text”+0=“Text”,并且IsNumber()函数解析为false


TLDR:“42”和42是完全不同的东西,添加0(或使用Value()函数)可以解决这个问题。

请将问题放到问题中。不是每个人都能&都想点击一张随机的谷歌表格。还有,为什么要贴标签?@AakashM做了你需要的事?我只想感谢任何一个来这里看这个的人——它仍然是我最喜欢的作品之一。我希望你喜欢!太棒了,谢谢你!这完全有道理。看了你的答案后,也解释了为什么我最终发现它有效,有效:
=IF(ISNUMBER(VALUE)(LEFT(B2,2)),“VHCID”,“SFID”)
该值在那里调用LEFT的乘积,以便ISNUMBER正确计算。谢谢,@sous2817