Поскольку вы указываете определенные ключевые слова, которые нужно найти, мы можем искать эти ключевые слова, а затем соответствующий разделитель на основе вашего примера.
В вашем примере за أمانة
следует тире, а за بلدية
- косая черта. (за которым следует означает ориентацию арабских слов справа налево).
Попробуй это:
Col1: =MID(A1,FIND("أمانة",A1),FIND(CHAR(1),SUBSTITUTE(A1,"-",CHAR(1),LEN(A1) - LEN(SUBSTITUTE(A1,"-",""))))-FIND("أمانة",A1))
Col2: =MID(A1,FIND("بلدية",A1),FIND(CHAR(1),SUBSTITUTE(A1,"/",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-FIND("بلدية",A1))
Col3: =TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",99)),99))
Если ключевые слова не найдены, формула вернет ошибку. Таким образом, вы можете просто «обернуть» формулу в IFERROR
, чтобы она возвращала пробел, если ключевые слова отсутствуют.
Изменить:
Фактическая книга не имеет того же образца, что и опубликованный вами образец. Особенно. Попробуйте это для данных столбца 2:
=MID(A2,FIND("بلدية",A2),99)
или с подавлением ошибок:
Col1: =IFERROR(MID(A2,FIND("أمانة",A2),FIND("-",A2,FIND("أمانة",A2))-FIND("أمانة",A2)),"")
Col2: =IFERROR(MID(A2,FIND("بلدية",A2),99),"")
И ячейки, которые все еще возвращают ошибку #VALUE!
, не имеют этого ключевого слова в строке.
Например:
A6: //olyservice/GIS-TANSIQ01/Storage/103-أمانة منطقة عسير -أحد رفيدة
не содержит بلدية
Кстати, эти формулы, похоже, работают и в Таблицах.
Edit2:
Поскольку вы также разместили пример в Таблицах, если вы можете реализовать это в Таблицах, вы можете использовать регулярные выражения для учета нескольких завершений.
В этом случае вы должны использовать:
=iferror(REGEXEXTRACT(A2,"(أمانة.*?)\s*(?:[-/\\.]|$)"),"")
or
iferror(REGEXEXTRACT(A2,"(بلدية.*?)\s*(?:[-/\\.\w]|$)"),"")
для колонн.
Регулярное выражение извлекает шаблон, который начинается с ключевой фразы, до терминатора, который может быть любым символом из набора -/\.A-Za-z0-9
или концом строки. Кажется, это покрывает примеры в вашем образце рабочего листа, но если есть другие терминаторы, вы можете добавить их в последовательность.
В Excel для этого потребуется UDF VBA для реализации механизма Regex.
![введите здесь описание изображения](https://i.stack.imgur.com/IE1an.png)
person
Ron Rosenfeld
schedule
07.11.2019