Excel formula Excel公式查找文本,并在其后面提取特定长度的字符

Excel formula Excel公式查找文本,并在其后面提取特定长度的字符,excel-formula,Excel Formula,我正在尝试从多种类型的具有不同条形码输出的Chromebook中提取序列号。下面是一个照片示例 是否可以使用一个公式从所有条形码类型中提取序列号 这是我的要求。我想知道“=if”命令是否适合我的需要: 首先搜索“5CD”或“5CG”,若找到了,则用尾随的7个字符将其提取出来。(共10个) 若并没有找到“5CD”或“5CG”,那个么搜索P20并用尾随的5个字符将其提取出来。(共8个) 如果两者均未找到,请将单元格保持为空 这是一个工作公式,但它只找到一个字符串 =IFERROR(TRIM(MID

我正在尝试从多种类型的具有不同条形码输出的Chromebook中提取序列号。下面是一个照片示例

是否可以使用一个公式从所有条形码类型中提取序列号

这是我的要求。我想知道“=if”命令是否适合我的需要:

  • 首先搜索“5CD”或“5CG”,若找到了,则用尾随的7个字符将其提取出来。(共10个)
  • 若并没有找到“5CD”或“5CG”,那个么搜索P20并用尾随的5个字符将其提取出来。(共8个)
  • 如果两者均未找到,请将单元格保持为空
  • 这是一个工作公式,但它只找到一个字符串

    =IFERROR(TRIM(MID(SUBSTITUTE(A2,"",REPT("",99)),MAX(1,SEARCH("5CG",SUBSTITUTE(A2,"",REPT("",99)))-0),10)),"")
    
    我知道这个公式可能会很长时间。谢谢你的建议。(如果可能的话,我不想使用带有多个公式的多列)

    使用:

    =MID(A1,MIN(FIND({"5CD","5CG","P20"},A1&"5CD5CGP20")),IF(ISNUMBER(FIND("P20",A1)),8,10))
    

    根据用户的版本,这可能需要使用Ctrl-Shift-Enter而不是Enter来确认。

    谢谢!!!这正是我需要的。你的代码也很整洁。我真的很喜欢它!请通过点击复选标记来正确地标记。我试着进行投票,但是它说我的投票是隐藏的,因为我是一个新用户。