基于条件的Excel-Len函数

基于条件的Excel-Len函数,excel,excel-formula,Excel,Excel Formula,我的excel文件中有两列 Full ID Expected Result 159473A1 159473 159696A1 159696 160614A1 160614 43293J1A 43293 43293D1A 43293 43293A2B 43293 43293J2B 43293 43293B2B 4

我的excel文件中有两列

   Full ID       Expected Result
  159473A1         159473
  159696A1         159696
  160614A1         160614
  43293J1A          43293
  43293D1A          43293
  43293A2B          43293
  43293J2B          43293
  43293B2B          43293
我所尝试的:

=Left(A2,LEN(A2)-2)

159473
159696
160614
43293J
43293D
43293A
43293J
43293B
53202
但是你可以看到,我不能这样做,因为我仍然有一些字符在预期的结果

43293J
43293D
43293A
43293J
43293B
我如何才能像上面的例子那样在B2中获得预期结果?

请尝试:

如果您可以访问DA功能O365,如序列:


注意:如果您也在处理整数,可能为了防止匹配过程中可能出现的错误,您可以使用=LEFTA2、MATCHFALSE、ISNUMBERMIDA2&A、SEQUENCELENA2+1,1*1,0-1

因此,首先非常简单:

但是你对第四行有意见。。。因此,这将有助于:

IF(ISNUMBER(VALUE(LEFT(A3,LEN(A3)-2))),VALUE(LEFT(A3,LEN(A3)-2)),VALUE(LEFT(A3,LEN(A3)-3)))

此公式适用于您,请记住在粘贴公式后单击Ctrl+Shift+Enter,将其作为基于矩阵的公式

提及你的电子邮件,我可以将我的训练发送给你
=LEFTA2、IFERRORMATC1、ISERRMIDA2、ROWINDIRECT1:&LENA2,1*1*1、-1

右侧的最后两个字符是否总是要删除?HI@SolarMike始终是!显然不真实,因为您的第四个示例有3个字符需要删除。我已将公式应用于值95759A1,并返回一个9@SimonGIS,查看我的结果第二个解决方案解决我的问题!太棒了,谢谢!如果可能的话,我会远离波动性。你是说不要使用基于矩阵的公式?间接是波动性的,因此会在打开、保存和更改工作簿等多种情况下进行计算,因此在大量使用时会显著影响性能。既然OP想要拖拽公式,我建议远离这个。有关该主题的更多信息和有用链接,请参阅。这是事实,但对于类似的情况,间接引用比直接引用单元格的行要安全一些。
=LEFT(A2,MATCH(FALSE,ISNUMBER(MID(A2,SEQUENCE(LEN(A2)),1)*1),0)-1)
IF(ISNUMBER(VALUE(LEFT(A3,LEN(A3)-2))),VALUE(LEFT(A3,LEN(A3)-2)),VALUE(LEFT(A3,LEN(A3)-3)))