Excel 从多个符号之前或之后提取文本

Excel 从多个符号之前或之后提取文本,excel,Excel,目前,我有一个来自餐厅的日志文件,其中包含产品名称和所有信息 我必须只提取产品名称,而不是它的价格,这是在同一单元格 报告格式 Product Code | Product Name 00041 Beef Salted Tongue,1000 Yen (excl.tax) 00042 Pork Loin, 980 Yen (excl.tax) 并非每个产品名称都以“”,[价格][不含税] 那么,是否有必要将其从整个专栏中删除 我使用了=LEFT

目前,我有一个来自餐厅的日志文件,其中包含产品名称和所有信息
我必须只提取产品名称,而不是它的价格,这是在同一单元格
报告格式

Product Code | Product Name
00041             Beef Salted Tongue,1000 Yen (excl.tax)
00042             Pork Loin, 980 Yen (excl.tax)

并非每个产品名称都以“
”,[价格][不含税]

那么,是否有必要将其从整个专栏中删除


我使用了
=LEFT(A1,(FIND(“,”,A1,1)-1))

它确实有帮助,但有些产品包含多个“,”。
例如:鸡蛋、泡菜、酱汁、胡椒。

因此,如果我使用上述公式,它只会给我鸡蛋。

所需公式显示在所附图像中,用于计算所需文本的提取(为清晰起见,请单击图像)

=左(B2,最小值(查找({0,1,2,3,4,5,6,7,8,9},B2和“0123456789”))-1) //用于excel中B2单元格的数据或信息

输出

所需公式显示在所附图像中,用于计算所需文本的提取(为清晰起见,请单击图像)

=左(B2,最小值(查找({0,1,2,3,4,5,6,7,8,9},B2和“0123456789”))-1) //用于excel中B2单元格的数据或信息

输出

根据评论讨论发布答案:

  • 使用下面的链接查找单元格内容中最后一个逗号的位置
  • 要解决您遇到的第二个问题(将值粘贴到过滤的行中),请参阅以下解决方案(礼貌)
  • 这确实存在于Excel中(尽管隐藏或不立即) 直观的)

    选择需要复制到数据库中的数据后 已筛选的非连续单元格:

    在Excel 2007及更早版本中:编辑->转到->特殊->可见单元格 只会选择数据,然后在Excel中粘贴特殊值 2010年及以上:在主页选项卡中查找并选择->转到特别-> 仅可见单元格将选择数据,然后进行特殊粘贴 价值观


    根据评论讨论发布答案:

  • 使用下面的链接查找单元格内容中最后一个逗号的位置
  • 要解决您遇到的第二个问题(将值粘贴到过滤的行中),请参阅以下解决方案(礼貌)
  • 这确实存在于Excel中(尽管隐藏或不立即) 直观的)

    选择需要复制到数据库中的数据后 已筛选的非连续单元格:

    在Excel 2007及更早版本中:编辑->转到->特殊->可见单元格 只会选择数据,然后在Excel中粘贴特殊值 2010年及以上:在主页选项卡中查找并选择->转到特别-> 仅可见单元格将选择数据,然后进行特殊粘贴 价值观


    在单元格B3中输入以下公式

    =IF(iError(FIND(“Yen”),B2,1)),B2,LEFT(B2,FIND(“#”),SUBSTITUTE(B2,”,“#”),LEN(B2)-LEN(SUBSTITUTE(B2,”,“,”),1)-1))

    公式的第1部分检查日元的存在。 如果有可能存在文字为日元的产品,则您可以将此部分替换为If(右(B2,1)=“)或仅当项目价格存在时才存在的任何其他唯一文字

    公式的第2部分替换逗号,并比较替换逗号前后文本的长度。它将逗号替换为Has(#),并将文本返回到散列的左侧

    请务必让我知道这是否是您想要做的,或者是否需要任何更改

    问候,

    Vijaykumar Shetye

    果阿Panaji


    印度

    在单元格B3中输入以下公式

    =IF(iError(FIND(“Yen”),B2,1)),B2,LEFT(B2,FIND(“#”),SUBSTITUTE(B2,”,“#”),LEN(B2)-LEN(SUBSTITUTE(B2,”,“,”),1)-1))

    公式的第1部分检查日元的存在。 如果有可能存在文字为日元的产品,则您可以将此部分替换为If(右(B2,1)=“)或仅当项目价格存在时才存在的任何其他唯一文字

    公式的第2部分替换逗号,并比较替换逗号前后文本的长度。它将逗号替换为Has(#),并将文本返回到散列的左侧

    请务必让我知道这是否是您想要做的,或者是否需要任何更改

    问候,

    Vijaykumar Shetye

    果阿Panaji


    India

    我认为您需要定义一些只有您才能做到最好的提取规则。例如,我想提取产品名称列中最后一个逗号之前的所有内容。或者,我想查找单元格中第一个数字之前出现的所有文本。因此,我问您的问题是:满足所有产品名称的通用规则是什么提取成功我想从左边最后一个逗号中提取文本。在示例
    牛肉腌舌,1000日元(不含税)
    中,我想提取牛肉腌舌。因此,在示例
    中,鸡蛋、泡菜、酱油、胡椒,1000日元(不含税)
    。它将提取鸡蛋、泡菜、酱汁、胡椒粉OK,因此,如果你能以某种方式获得单元格中最后一个逗号的位置,那么从那里开始就是一块蛋糕?是的,非常平滑。+每个产品的格式都是
    牛肉腌舌,1000日元(不含税)
    。其中只有一些包含多个产品。好的。看看这一个-。让我们知道这是否解决了您的问题。同时,我会看看是否可以使用此链接的解决方案发布一个简洁的解决方案。我相信您需要定义一些只有您才能做到最好的提取规则。例如,我想提取中最后一个逗号之前的所有内容“产品名称”列。或者,我想查找单元格中第一个数字之前显示的所有文本。因此,我向您提出的问题是:成功提取所有产品名称的通用规则是什么?我想从左起最后一个逗号提取文本。这里