基于公式结果的条件LEFT Excel公式(或VBA?)?

我在列C2中,我需要执行左边的公式结果以修剪单元格公式值

  1. 公式结果必须在答案中有下列之一(。OR _ OR – )
  2. 如果上述之一存在于小区中,则LEFT(C2,FIND(“the_variable_in_the_formula_answer),C2)-1)

我的VBA不是最好的,但我想我可以使用

variable = Left(Sheet1.[C2],InStr(Sheet1.[C2],".")-1) 

我不知道如何使。(句号),_(下划线)或 – (连字符)variables来寻找

在第二行试试这个公式并填写下列列表:

 =IFERROR(LEFT(Sheet1!C2, AGGREGATE(15,6,SEARCH({".","-","_"},Sheet1!C2),1)-1), "") 

它会截断,直到find {".","-","_"} 。 如果要截断到最后find,请将15更改为14


为了您的额外要求:

 =IF(ISNA(C2), D2, IFERROR(LEFT(Sheet1!C2,AGGREGATE(15,6,SEARCH({".","-","_"},Sheet1!C2),1)-1),C2))