2015-01-06 3 views
0

Итак, я пытаюсь извлечь текст из Excel, есть тысячи данных, поэтому я думаю, что было бы здорово, если бы был быстрый способ сделать что-то. В любом случае, вот как это делается:Извлеките слова из ячейки Excel с ограничениями

Сотовый A1 имеет: (RI-650, RJ-7500, KM-1000; TL-650;) < - 4 переменные (RI-650, RJ-7500, KM-1000 , и TL-650)

В то время как ячейка A2 имеет: (RI-650, RJ-11875, KM-1000, RB-5000; TL-650;) < - 5 переменных, а также RB-5000 сверху ,

Могу ли я попасть в B1, C1, D1, E1 и т. Д., Заполненные каждой переменной? Пример в столбцах B Я получаю столбцы RI-xxx и C, я получаю RJ-xxx и т. Д.? Я пробовал LEFT, RIGHT, MID и некоторые IFs, но застрял.

Любое понимание этого вопроса?

+1

Посмотрите на функцию «Текст в столбцы» на вкладке «Данные». –

+0

Вы просто пытаетесь разделить содержимое или пытаетесь сказать, что все «TL» находятся в одном столбце друг с другом? – pnuts

+1

@pnuts Я пытаюсь разбить контент –

ответ

1

Если действительно скобки bookending использовать значение Найти & Заменить (Ctrl + H), чтобы избавиться от них.

Когда открывающиеся и закрывающие кронштейны удалены (если они действительно были там), выберите весь столбец A и выберите Data ► Data Tools ► Text to Columns. На первом экране мастера выберите «Разделить» и нажмите «» Далее. На втором экране мастера установите чек рядом с точкой с запятой и очистите все остальное. Щелкните Отделка.

Если вы намерены сохранить значения в столбце A, скопируйте их и вставьте их в столбец B и настройте метод выше, чтобы разделить их.

+1

Хотя я думаю, что Q был неоднозначным в то время, когда был опубликован этот A, мое понимание последующего «разъяснения» заключается в том, что это действительно все, что требуется. – pnuts

+1

@pnuts - * есть тысячи данных * говорит мне, что это наиболее жизнеспособное решение. С минимальным количеством строк 2K и неизвестным числом «переменных» для разделения, T2C является идеальным. Если бы это была повторяющаяся задача, быстрый VBA Sub выполнил бы короткую работу и не оставил бы лишние пустые строки в выпуске оборванного края. – Jeeped

+0

@ Подростковые работы, такие как магия, спасибо! (fyi, это 2K столбцы, lol) –

2

Эта формула будет делать то, что вы ищете, если ваши переменные разделены «;». Если они разделены другим символом или пробелом, просто замените «;» на этот символ или пробел. Не забудьте изменить переменную для поиска с каждым новым столбцом, который вы создаете. Просто скопируйте это по столбцу для каждой переменной:

Редактировать: Обновлено Формула Теперь вы можете скопировать эту формулу, считая имена переменных в B1, C1, D1 и т. Д., Учитывая мой пример на моем снимке.(Более универсальная формула)

=IF(FIND(B$1, $A2)>0, MID($A2, FIND(B$1, $A2), FIND(";", $A2, FIND(B$1,$A2))-FIND(B$1, $A2)), "Nothing") 

ScreenCap

+1

приятное решение! если бы я мог выбрать более одного ответа, я бы выбрал именно этот! –

+1

@AbieGiordano. Вы всегда можете проголосовать за решения, которые вам нравятся или найти интересные (в том числе тот, который вы приняли). – Chrismas007

-1

Решение состоит в том, чтобы использовать функцию находки разобрать ваши условия, а затем использовать функцию MID для создания подстроки

Вот как:
ШАГ 1: С ячейкой A1, содержащей (RI-650; RJ-7500; KM-1000; TL-650;) вы можете рассчитать точки останова с помощью Ячейка F1-J1 как

| 1 | = FIND (";", $ A1, F1 + 1) | = FIND (";", $ A1, G1 + 1) | = НАЙТИ (";", $ A1, H1 + 1) | = FIND (";", $ А1, I1 + 1)

ШАГ 2: Набор Ячейка B1 Е1 в

| = MID ($ A1, F1 + 1, G1-F1-1) | = MID ($ A1, G1 + 1, H1-G1-1) | = MID ($ A1, H1 + 1, I1-H1-1) | = MID ($ A1, I1 + 1, J1-I1-1)

ПРИМЕЧАНИЯ:

  1. формулы можно записать один раз и скопирована правильно.
  2. Вы можете скрыть значения FIND, если вам нужно.
+0

Это не решает его проблему, когда он имеет разные переменные в каждой строке и нуждается в них в разных столбцах в зависимости от переменной. – Chrismas007

+1

Thx. U R вправо ... Я не правильно прочитал вопрос. Я думал, что это просто простой вопрос о синтаксическом анализе. –

+0

Я не был уверен в этом требовании, спросил, и, как я понял, было сказано, что это * простой вопрос синтаксического анализа. – pnuts

Смежные вопросы