0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
1 | |
Извлечь данные14.07.2017, 11:24. Показов 2217. Ответов 18
Метки нет (Все метки)
Здравствуйте! Очень нужна Ваша помощь.
Имеется ячейка примерно такого формата: куча текста, страна, 1400 МВт, 2000 26.12.2014 Требуется: извлечь в отдельные столбцы страну, 1400 МВт ( то бишь мощность), год пуска (2000), дату (26.12.2014 ) Прикол в том что могут стоять запятые, а могут не стоять. Четкого формата данных нет. Может быть написано например: 1400МВт или 1400 МВт. Так же год пуска может стоять перед мощностью и так далее. Извлечь дату у меня уже получается к счастью. Как извлечь год пуска, зная что это число четырехзначное начинающееся с "20??" или с "19??" ? Как извлечь мощность, зная что это данное пишется в формате "??? МВт", "???? МВт" или без пробела "???МВт", "????МВт" Ну и тот же вопрос по стране, правда это не так принципиально как для года пуска и мощности. Если недостаточно одного примера могу еще поскидывать. Я просто плохо владею стандартными функциями эксель, попытался поразбираться и все равно пока не могу написать необходимые условия, а мне это нужно скорее сделать.
0
|
14.07.2017, 11:24 | |
Ответы с готовыми решениями:
18
Требуется извлечь данные из ячейки Трансформировать один большой столбец в таблицу (извлечь данные из одного столбца в несколько строк) Извлечь текст до определенного символа и извлечь из кавычек Извлечь дату |
0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
14.07.2017, 13:11 [ТС] | 3 |
таблица большая и всю нет смысла скидывать, оставил парочку строк
еще раз говорю четкого формата записи нет, к сожалению.
0
|
0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
17.07.2017, 09:35 [ТС] | 4 |
да ладно, никто не в курсе? я ж уже даже условия написал, только не знаю как запрограть это стандартными функциями эксель
0
|
0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
17.07.2017, 10:50 [ТС] | 6 |
Если бы было так все просто, то я бы не писал. Запятые могут стоять а могут нет, я ж описал проблему.
Дату как вытащить я тоже знаю (опять же написал). Вы вообще прочитали, что я написал вначале? Прочтите еще раз. Мне нужно загнать следующее: Как извлечь год пуска, зная что это число четырехзначное начинающееся с "20??" или с "19??" ? Как извлечь мощность, зная что это данное пишется в формате "??? МВт", "???? МВт" или без пробела "???МВт", "????МВт" Дату кстати я извлекаю след образом: =ЕСЛИ(ЕТЕКСТ(J16);ПСТР(J16;ПОИСК("??.??.????";J16);10);0) Потому что она может опять же стоять где угодно. Опять напишу, в ячейках формата четкого нет. В любом случае спасибо за ваши старания и помощь
0
|
772 / 615 / 294
Регистрация: 05.01.2014
Сообщений: 1,338
|
|
17.07.2017, 13:12 | 7 |
Вам же уже сказали.
Это сайт по решению вопросов в Excel, никто не побежит переделывать ваш файл из формата Word в формат Excel, чтобы дать вам ответ. Приложите файл в формате Excel, покажите что есть и что хотите получить. С таким подходом вы и на других форумах не найдете ответа.
0
|
0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
17.07.2017, 14:04 [ТС] | 8 |
колонка A - исходные данные
Колонки D,E,F,G - то что мне необходимо получить Если Вам и это будет не понятно, то я уже не знаю как объяснить.
0
|
Динохромный
1376 / 749 / 273
Регистрация: 22.12.2015
Сообщений: 2,344
|
||||||
17.07.2017, 15:55 | 9 | |||||
Очевидно читали, если предлагают из полученной вами даты извлечь год с помощью функции =ПРАВСИМВ(Дата_по_вашей_формуле",4), результатом как раз будет требуемый вам год.
Обращайте внимание на предлагаемые вам решения, это ускорит получение результата. Могу предложить нестандартные, на VBA. Вставьте код ниже в отдельный модуль редактора VBA В пустую ячейку вбейте формулу "=text_split_power(A1)", протяните. Предусматривать в коде проверки я не стал, поскольку вы не посчитали нужным выложить реальные примеры текста, ограничившись абстрактным "Текст1", "Текст2" и т.д., так что работоспособность с вашим набором данных протестируйте самостоятельно. Кликните здесь для просмотра всего текста
Готов ответить на конкретные вопросы. Добавлено через 12 минут Исходя из чего Excel должен понять, что некий кусок текста - это страна, а не скажем блюдо национальной кухни? Вот вы сами не заглядывая в гугл, можете сказать, что из перечисленного страны, а что нет: Джибути, Того, Свазиленд, Науру? Полагаю, нужно составить перечень стран, с которым и будет сравниваться каждая строка.
0
|
0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
17.07.2017, 17:47 [ТС] | 10 |
Начнем с начала, если тут никто не умеет или не хочет читать
Есть ячейка примерно такого формата: куча текста, страна, год , мощность и дата Все это в одной ячейке и таких ячеек много! Кроме того нет строгого формата записи. Это значит, что может быть не соблюдена последовательность приведенная выше, т.е. может быть так: куча текста, страна, год , мощность , дата страна, куча текста, год , мощность , дата куча текста, страна, год , мощность , дата, куча текста, страна, год , мощность , ... т.е. четкой последовательности нет, я надеюсь это понятно Кроме того!!!!! запятые между этими элементами могут и вовсе не стоять. Т.е. может быть так: куча текста страна год мощность дата Что нужно? - вытащить из ячейки отдельно страну, мощность, год, дату в отдельные стобцы Что точно известно о формате записи: Всегда год - это четырехзначное число, начинающееся с 19 или 20 Дата всегда в формате ??.??.???? Значение мощности стоит рядом с МВт (может слитно, а может и через пробел) В приведенном файле экселе нетрудно это увидеть. Все случаи различных перестановок данных привести нереально, поэтому привел парочку чтобы вы поняли смысл. Теперь отвечаю конкретно г-ну Dinoxromniy: 1) Мне не нужно извлекать из даты значение года! дата и год это разные данные, обратите внимание. посмотрите пример экселя 2) В приведенном примере экселя ясно видно название стран, они никак не связаны с кусками текста, которые я обозначил Текст1,2,3 и т.п.. 3) саму дату я уже давно извлек (что я написал выше и показал как я это сделал), из нее не надо извлекать год, это вообще разные данные по сути!!! год это одно данное, дата это другое данное никак не связанные между собой. 4) зачем вам видеть сам текст? это не принципиально, представьте любую информацию из разного количества слов. это вообще никак не относится к сути вопроса. 5) Я попробую использовать вашу мысль по VBA, за что спасибо 6) еще раз, если у вас остались вопросы лучше спрашивайте, а не утверждайте что мне тут кто-то якобы что-то подксазал. пока что мне это все видится каким-то стебом надо мной, потому что яснее сформулировать задачу ну просто не возможно.
0
|
Динохромный
1376 / 749 / 273
Регистрация: 22.12.2015
Сообщений: 2,344
|
|
17.07.2017, 19:33 | 11 |
Теперь понятно, спасибо за пояснение.
Разумеется, это видит сам пользователь. Но вопрос я вам другой задал: откуда об этом узнает Эксель? Еще раз попробую донести свою мысль: чтобы Эксель смог вытащить из всего набора символов ту часть, которая является страной, необходимо иметь перечень стран. В чем разница этого пункта и пункта 1), поясните. Последуйте своей собственной рекомендации и в эту часть любой кусок, который содержит мВт, увидите, что код сработает неправильно. Могут быть и менее очевидные нюансы. Мне видеть текст действительно не нужно, это нужно вам, как указано - для того чтобы отследить его корректную работу. Полагаю, если вы опишете закономерности в вашем тексте более подробно, то станет возможным подобрать решение с помощью стандартных средств. Остались - могут ли встречаться в Тексте слова - дубликаты, четырехзначные цифры, не являющиеся годом, какая средняя длина текста в ячейке и другие вопросы, писать которые лень и которых бы не было, еслибы вы приложили реальный пример. Ну доступнее изложить можно, чтоб все поняли.
0
|
5989 / 1998 / 323
Регистрация: 10.12.2013
Сообщений: 6,882
|
|
20.07.2017, 22:03 | 12 |
Читать умеешь?
Тогда: 1) Предоставляешь тут реальные данные. 2) Озвучиваешь тут мотивацию, почему надо тратить своё время на решение твоей задачи.
0
|
6 / 23 / 2
Регистрация: 29.01.2013
Сообщений: 174
|
|
20.07.2017, 22:47 | 13 |
можно на файлообменник кинуть польный файл для анализа.
Для возможного составления формул (без вба) хочу проанализировать весть перечень стран, диапазоны годов и диапазоны дат.
0
|
0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
21.07.2017, 15:12 [ТС] | 14 |
Отвечаю г-ну Володин661:
1) файл с примерами я привёл, на него и ориентируйтесь. Также детально описал возможные варианты - на что также можно опираться. Добавлю к тому что писал раньше, реальные данные мне нельзя распространять, ввиду этого создал файл с примерами без реального наполнения для понимания сути вопроса. 2) мне вас печеньками мотивировать? Насколько я понял помощь здесь предоставляется бескорыстно. Проходите мимо, вас конкретно никто не принуждает заниматься чужими проблемами. Задачу я считаю тривиальной ввиду того что зная ВБА не сложно запрогать те условия которые я описал. А если не понятно что за условия, прочитайте все ещё раз, я как минимум два раза их описал. итог: в полуавтоматическом режиме я уже справился с этой задачей, хотя возможно в скором это опять будет актуально.
0
|
0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
21.07.2017, 16:19 [ТС] | 16 |
ну я первоначально искал решение без применения ВБА, но если такого нет, то можно и перенести в другой раздел.
0
|
0 / 0 / 0
Регистрация: 14.07.2017
Сообщений: 12
|
|
24.07.2017, 13:17 [ТС] | 18 |
я уже привел пример в ворде, в экселе, и описал в общем какие варианты возможны, т.е. я уже предоставил данные близкие к реальным, убрав оттуда основной текст (на который можно не обращать внимания, в нем нет годов, чисел, названия стран, слова "МВт" - т.е. всего того что мне нужно выделить из ячейки).
У меня скажем порядка нескольких тысяч таких ячеек, я не могу перебирать каждую, удаляя оттуда текст - это слишком долго, надеюсь это понятно; поэтому привел столько, сколько мне показалось достаточным для понимания сути. если формула будет работать с указанными примерами (которые я привел раньше), то задача можно сказать решена.
0
|
Динохромный
1376 / 749 / 273
Регистрация: 22.12.2015
Сообщений: 2,344
|
|||||||||||||||||||||
24.07.2017, 13:40 | 19 | ||||||||||||||||||||
Это упрощает задачу. Используйте функции аналогичные приведенной выше, они все протестированы на Вашем примере, все дают однозначный правильный ответ, что заведомо соответствует Вашим озвученным требованиям.
Функция для мощности (приводил выше): Кликните здесь для просмотра всего текста
Для даты: Кликните здесь для просмотра всего текста
Для года: Кликните здесь для просмотра всего текста
Для страны: Кликните здесь для просмотра всего текста
1
|
24.07.2017, 13:40 | |
24.07.2017, 13:40 | |
Помогаю со студенческими работами здесь
19
Извлечь текст Извлечь значения из массива Необходимо извлечь формат ячейки Извлечь значения и подставить в формулу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |