У меня есть данные в следующем формате в Excel:
ABC - DEF - XYZ; GHI, JKL, MNO, PQR, STU, VWX, YYY, ZZZ
Можно ли извлечь данные между вторым дефисом "-" и точкой с запятой ";" - в этом случае XYZ ?
Спасибо!
У меня есть данные в следующем формате в Excel:
ABC - DEF - XYZ; GHI, JKL, MNO, PQR, STU, VWX, YYY, ZZZ
Можно ли извлечь данные между вторым дефисом "-" и точкой с запятой ";" - в этом случае XYZ ?
Спасибо!
Ответы:
Я использую бесплатную надстройку регулярных выражений ( http://www.codedawn.com/excel-add-ins.php ), с помощью которой вы можете легко создать формулу для выбора нужного текста:
=RegExReplace(A1,"(.*-){2}(.*);.*","$2")
Если вы не хотите использовать надстройку, вы можете использовать следующее:
=TRIM(MID(A1,SEARCH("-",A1,SEARCH("-",A1,1)+1)+1,SEARCH(";",A1,1)-SEARCH("-",A1,SEARCH("-",A1,1)+1)-1))
А1 - это то место, где у вас есть строка.
Поиск найдет второе «-» (вы можете скопировать и вставить его в формулу, если вы не уверены «) и первое»; «
Обрезать, чтобы удалить ненужные пробелы
Как насчет:
=TRIM(MID(A1,(FIND("-",A1,(FIND("-",A1)+1))+1),FIND(";",A1,(FIND("-",A1,(FIND("-",A1)+1))+1))-(FIND("-",A1,(FIND("-",A1)+1))+1)))
Например: