Поскольку вы указываете определенные ключевые слова, которые должны быть найдены, мы можем искать эти ключевые слова, а затем соответствующий разделитель на основе вашего примера.
В вашем примере за أمانة
следует тире,и بلدية
косой чертой. ( с последующим соответствует ориентации арабских слов справа налево).
Попробуйте это:
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!
, не имеют этого ключевого слова вline.
Например:
A6: //olyservice/GIS-TANSIQ01/Storage/103-أمانة منطقة عسير -أحد رفيدة
не содержит بلدية
Кстати, эти формулы, похоже, также работают на листах.
Edit2:
Поскольку вы также разместили пример в Sheets, если вы можете реализовать его в Sheets , вы можете использовать регулярные выражения для учета нескольких завершений.
В этом случае вы должны использовать:
=iferror(REGEXEXTRACT(A2,"(أمانة.*?)\s*(?:[-/\\.]|$)"),"")
или
iferror(REGEXEXTRACT(A2,"(بلدية.*?)\s*(?:[-/\\.\w]|$)"),"")
для столбцов.
Регулярное выражение извлекает шаблон, начинающийся сключевая фраза, вплоть до терминатора, который может быть любым символом в наборе -/\.A-Za-z0-9
или в конце строки. Это похоже на примеры в вашей рабочей таблице, но если есть другие терминаторы, вы можете добавить их в последовательность.
В Excel для реализации движка Regex потребуется UDF VBA.