Найти частичную строку в ячейке и вернуть точное значение по формуле? - PullRequest
1 голос
/ 31 января 2020

Мне нужна помощь по этому вопросу. Я хотел бы найти две разные частичные строки в ячейке, используя формулу. Например, если ячейка (A1) содержит «Скрепки A-12345, Грузия, США» или другая ячейка может содержать только «g345» или «g100, g000», или в других случаях она содержит оба A-12345 g345 в ячейке в качестве примера.

Моя цель - вернуть значение «GXXX» или, если его нет, использовать «A-XXXXX».

Поиск в ячейке A1 частичного текста «A-» или «G». («A-, должен содержать 7 символов» и «G, должен содержать 4 символа.)

  • Если true, C1 возвращает значение GXXX или, если оно отсутствует, используйте другой .
  • Если он содержит несколько кодов (GXXX, GXXX), тогда возвращаются оба значения, разделенные запятой
  • Если в ячейке содержатся и "A-", и "G", возьмите только Код «G».
  • Если ячейка пуста, вернуть пустое значение.
  • Если значение ячейки не содержит ни «GXXX», ни «A-XXXXX», скопируйте и верните одно и то же значение.

В настоящее время я использую эту формулу. Я не могу отобразить фактическую строку.

=IFS(
ISNUMBER(SEARCH("*A-*",A1)),"TRUE",
ISNUMBER(SEARCH("*G*",A1)),"TRUE")

Я запутался и застрял в этом. Ваше время и помощь очень важны. Спасибо вы.

1 Ответ

2 голосов
/ 01 февраля 2020

использование:

=IFNA(IF(A1="",,
 IF(REGEXMATCH(A1, "(g\d{3}).*(g\d{3})|(g\d{3})"), TEXTJOIN(", ", 1, 
  REGEXEXTRACT(A1, "(g\d{3}).*(g\d{3})|(g\d{3})")), REGEXEXTRACT(A1, "A-\d{5}"))), A1)

0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...