Подстрока в Excel

У меня есть набор данных, которые показаны ниже в excel.

R/V(208,0,32)   YR/V(255,156,0)         Y/V(255,217,0)
R/S(184,28,16)  YR/S(216,128,0)         Y/S(209,171,0)
R/B(255,88,80)  YR/B(255,168,40)    Y/B(255,216,40)

И я хочу, чтобы данные в каждой ячейке выглядели так.

R/V 208 0 32
R/S 184 28 16
R/B 255 88 80

какую функцию в excel я могу использовать для этого случая. Заранее спасибо.


person Celops    schedule 28.04.2010    source источник
comment
Data->Text to Columns из строки меню может подойти.   -  person Fionnuala    schedule 28.04.2010
comment
Я нахожу лучший метод, в этом случае я получаю первое значение с помощью функции +find или +hallar, затем я получаю последнее значение с той же функцией и последнее с помощью функции +extraer или mid получаю значение между первым значением и последнее значение, хорошо с разницей между двумя значениями.   -  person camilo lopez    schedule 06.05.2017


Ответы (5)


ссылки kennytm мертвы, и он не приводит пример, поэтому вот как вы делаете подстроки:

=MID(text, start_num, char_num)

Допустим, ячейка A1 равна Hello.

=MID(A1, 2, 3) 

Вернулся бы

ell

Потому что он говорит начинать с символа 2, e, и возвращать 3 символа.

person Charles Clayton    schedule 15.05.2015
comment
Я обновил URL-адреса в ответе KennyTm. Спасибо за предупреждение о неработающих ссылках! - person ; 16.05.2015

В Excel функция подстроки называется функция MID, а indexOf называется НАЙТИ для расположения с учетом регистра и Функция ПОИСК для местоположения без учета регистра. Для разбора первой части вашего текста Функция LEFT также может быть полезна.

См. все текстовые функции здесь: Текстовые функции (справочник).

Полные справочные списки функций рабочего листа доступны по адресу:

Функции Excel (по категориям )
    Функции Excel (по алфавиту)

person kennytm    schedule 28.04.2010
comment
он мог бы сделать все это с помощью 1 функции, если бы использовал замену. Не нужно выполнять сложные манипуляции со строками с поиском, серединой, левой и т. д., и это на самом деле не решает проблему, это просто обучение паре строковых функций и связывание его со страницами MS... - person iliketocode; 16.05.2015
comment
Спасибо. Действительно вводит в заблуждение называть функцию substring как mid. - person Zsolti; 15.10.2018

Другой способ сделать это — использовать функцию замены. Замените "(", ")" и "," пробелами. например

 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "(", " "), ")", " "), ",", " ")
person andyb    schedule 28.04.2010

Я считаю, что мы можем начать с основ для достижения желаемого результата.

Например, у меня была ситуация с извлечением данных после «/». Данное поле Excel имело значение 2rko6xyda14gdl7/VEERABABU%20MATCHA%20IN131621.jpg . Я просто хотел извлечь текст из ячейки «I5» после символа косой черты. Итак, во-первых, я хочу найти, где находится символ «/» (НАЙТИ («/», I5). Это дает мне позицию «/». Затем я должен знать длину текста, которую я могу получить LEN (I5) .so общая длина минус позиция "/" . что LEN(I5)-(FIND("/",I5)) . Это сначала найдет позицию "/", а затем даст мне общий текст, который должен быть извлечена. ПРАВАЯ функция ПРАВАЯ (I5,12) просто извлечет все значения последних 12 цифр, начиная с самого правого символа. Поэтому я заменю приведенную выше функцию «ДЛСТР (I5) - (НАЙТИ («/», I5) )» для 12 числа в функции RIGHT, чтобы динамически получить количество символов, которые мне нужно извлечь в любой данной ячейке, и мое решение представлено, как указано ниже.

Подход был

=RIGHT(I5,LEN(I5)-(FIND("/",I5))) выдаст меня как ВЕЕРАБАБУ%20МАТЧА%20IN131621.jpg . Я думаю, что я ясно.

person Community    schedule 14.04.2018

Как насчет использования Заменить все? Просто замените All в скобках пробелом. И запятая в пробел. И я думаю, вы сможете этого добиться.

person Toffee Tanaka    schedule 18.06.2017
comment
В общем, действия пользовательского интерфейса — очень плохая замена функциям Excel. - person Nathan Tuggy; 18.06.2017