Извлечь частичную строку между двумя одинаковыми символами в Excel - PullRequest
0 голосов
/ 27 июня 2019

У меня в ячейке A1 следующее значение

Kate/Nancy/Judy

Если я хочу получить Нэнси Мне нужно использовать

=SUBSTITUTE(MID(SUBSTITUTE("/" & A3&REPT(" ",6),"/",REPT(",",255)),2*255,255),",","")

Что если яхотите получить Джуди или Кейт ?Я не могу просто настроить MID на LEFT или RIGHT, потому что эти функции имеют разные характеристики.

Спасибо

Ответы [ 3 ]

0 голосов
/ 27 июня 2019

Если вы хотите сделать это с одной формулой, вы можете использовать:

enter image description here

Формула в B2:

=TRIM(MID(SUBSTITUTE($A2,"/",REPT(" ",LEN($A2))),(B$1-1)*LEN($A2)+1,LEN($A2)))

Перетащите вправо и вниз.

Более подробную информацию об этой формуле можно найти на этом веб-сайте.

Мы могли бы также использовать функцию VBA SPLIT() довольно красиво, например:

Function GetNth(Rng As String, Delmt As String, Nth As Long) As String
    Dim Arr() As String
    Arr() = Split(Rng, Delmt)
    GetNth = Arr(Nth - 1)
End Function

Позвоните на листе, как: =GetNth(A2,"/",1), =GetNth(A2,"/",2) или =GetNth(A2,"/",3), чтобы вернуть Кейт, Нэнси или Джуди соответственно.

0 голосов
/ 27 июня 2019

Вы можете попробовать:

  1. Выбрать данные
  2. Вкладка данных - Инструменты данных - Текст в столбцы
  3. Выбрать с разделителями - Далее
  4. Выберите Другое и используйте «/» (без двойных кавычек) - Далее - Готово

Результаты:

enter image description here

0 голосов
/ 27 июня 2019
=TRIM(MID(SUBSTITUTE(U20,"-",REPT(" ",100)),200,100))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...