Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенести определенные строки на другой лист. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Перенести определенные строки на другой лист.
Mark1976 Дата: Среда, 16.11.2016, 23:17 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
Всем доброго вечера. Из почтовой программы, вытаскиваю файл (список писем и их содержание). Далее копирую в эксель. В примере видно как все это выглядит. Подскажите как можно "выцепить" определенные строки на другой лист.

Эти слова всегда одинаковые:

Здравствуйте!
В аптеку по адресу
По заказу выведена счет-фактура ?
Телефон клиента: +7

После этих слов уже идут различные слова. Вот как это сделать? Я не смогу это реализовать.
К сообщению приложен файл: 8993757.xls (28.0 Kb)


Сообщение отредактировал Mark1976 - Среда, 16.11.2016, 23:17
 
Ответить
СообщениеВсем доброго вечера. Из почтовой программы, вытаскиваю файл (список писем и их содержание). Далее копирую в эксель. В примере видно как все это выглядит. Подскажите как можно "выцепить" определенные строки на другой лист.

Эти слова всегда одинаковые:

Здравствуйте!
В аптеку по адресу
По заказу выведена счет-фактура ?
Телефон клиента: +7

После этих слов уже идут различные слова. Вот как это сделать? Я не смогу это реализовать.

Автор - Mark1976
Дата добавления - 16.11.2016 в 23:17
_Boroda_ Дата: Четверг, 17.11.2016, 00:12 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16887
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно? Не особо оптимизировал. Формула массива, вводится одновременным нажатием Контрл Шифт Ентер
Код
=ИНДЕКС(оригинал!A:A;НАИМЕНЬШИЙ(ЕСЛИ(оригинал!A$1:A$999="Здравствуйте!";СТРОКА(оригинал!A$1:A$999)+ОСТАТ(СТРОКА(C1)-1;5)+СУММ(--(ОСТАТ(СЧЁТЗ(C$1:C1);5)={4;0})));ОТБР((СТРОКА(C1)-1)/5)+1))&""
К сообщению приложен файл: 8993757_1.xls (46.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно? Не особо оптимизировал. Формула массива, вводится одновременным нажатием Контрл Шифт Ентер
Код
=ИНДЕКС(оригинал!A:A;НАИМЕНЬШИЙ(ЕСЛИ(оригинал!A$1:A$999="Здравствуйте!";СТРОКА(оригинал!A$1:A$999)+ОСТАТ(СТРОКА(C1)-1;5)+СУММ(--(ОСТАТ(СЧЁТЗ(C$1:C1);5)={4;0})));ОТБР((СТРОКА(C1)-1)/5)+1))&""

Автор - _Boroda_
Дата добавления - 17.11.2016 в 00:12
Mark1976 Дата: Четверг, 17.11.2016, 08:23 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
Доброе утро. Boroda, спасибо. Я не сомневался, что решение будет. На примере все выглядит очень красиво. Сейчас еду на работу и там попробую реализовать Ваше решение. Если что то не получится, придется спросить. Еще раз спасибо. Всем удачного дня.
 
Ответить
СообщениеДоброе утро. Boroda, спасибо. Я не сомневался, что решение будет. На примере все выглядит очень красиво. Сейчас еду на работу и там попробую реализовать Ваше решение. Если что то не получится, придется спросить. Еще раз спасибо. Всем удачного дня.

Автор - Mark1976
Дата добавления - 17.11.2016 в 08:23
Mark1976 Дата: Четверг, 17.11.2016, 21:15 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
_Boroda_, еще раз спасибо формула супер. Я не учел небольшой момент. У меня в списке будет несколько адресов, они повторяются, можно сделать так, чтобы одинаковые адреса были сгруппированы. В примере: все заказы в городе S, все заказы в городе N. Пример приложил.
К сообщению приложен файл: 8993757___2.xls (46.0 Kb)


Сообщение отредактировал Mark1976 - Четверг, 17.11.2016, 22:16
 
Ответить
Сообщение_Boroda_, еще раз спасибо формула супер. Я не учел небольшой момент. У меня в списке будет несколько адресов, они повторяются, можно сделать так, чтобы одинаковые адреса были сгруппированы. В примере: все заказы в городе S, все заказы в городе N. Пример приложил.

Автор - Mark1976
Дата добавления - 17.11.2016 в 21:15
_Boroda_ Дата: Пятница, 18.11.2016, 23:22 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16887
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
чтобы одинаковые адреса были сгруппированы
и даже отсортированы по возрастанию
Код
=ИНДЕКС(A$1:A$299;МИН(ЕСЛИ(--ТЕКСТ(СЧЁТЕСЛИМН(A$1:A$299;"<="&ЛЕВБ(A$1:A$299;99);A$1:A$299;"В ап*")+ЕЧИСЛО(ПОИСК("В ап*";A$1:A$299))%;"0,00;0;-1")=ОТБР(СТРОКА(J5)/5)+1%;СТРОКА(A$1:A$299)))-2+НЕ(ОСТАТ(СТРОКА()+1;5))+ОСТАТ(СТРОКА();5))
К сообщению приложен файл: 8993757_2_1.xls (72.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
чтобы одинаковые адреса были сгруппированы
и даже отсортированы по возрастанию
Код
=ИНДЕКС(A$1:A$299;МИН(ЕСЛИ(--ТЕКСТ(СЧЁТЕСЛИМН(A$1:A$299;"<="&ЛЕВБ(A$1:A$299;99);A$1:A$299;"В ап*")+ЕЧИСЛО(ПОИСК("В ап*";A$1:A$299))%;"0,00;0;-1")=ОТБР(СТРОКА(J5)/5)+1%;СТРОКА(A$1:A$299)))-2+НЕ(ОСТАТ(СТРОКА()+1;5))+ОСТАТ(СТРОКА();5))

Автор - _Boroda_
Дата добавления - 18.11.2016 в 23:22
Mark1976 Дата: Суббота, 19.11.2016, 00:07 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
_Boroda_, спасибо. Пытаюсь вставить новые данные на лист не выходит ничего. Там фильтр какой то есть. Как мне мои данные перенести в файл?
 
Ответить
Сообщение_Boroda_, спасибо. Пытаюсь вставить новые данные на лист не выходит ничего. Там фильтр какой то есть. Как мне мои данные перенести в файл?

Автор - Mark1976
Дата добавления - 19.11.2016 в 00:07
Mark1976 Дата: Суббота, 19.11.2016, 00:14 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
В первой формуле массив был такой
Код
A$1:A$999
, а во второй уже другой :
Код
A$1:A$299
. Не будет это мало, если у меня писем будет много, то и строк надо много.
 
Ответить
СообщениеВ первой формуле массив был такой
Код
A$1:A$999
, а во второй уже другой :
Код
A$1:A$299
. Не будет это мало, если у меня писем будет много, то и строк надо много.

Автор - Mark1976
Дата добавления - 19.11.2016 в 00:14
_Boroda_ Дата: Суббота, 19.11.2016, 00:24 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16887
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Фильтр Вам не мешает. Можете его убрать - это я просто для удобства проверки его поставил.
Свои данные вставляете в столбец А листа "Оригинал" и смотрите в столбец J того же листа.
Если данных больше 299 строк, то в формуле ячейки J1 меняете все 299 на 999 (например), жмете Контрл Шифт Ентер (это формула массива) и протягиваете J1 вниз.
Или выделяете весь столбец J, жмете Контрл h и меняете там 299 на 999.

Во вложенном файле сделал на 999 строк.

Если нужно на другой лист, то все аналогично, только не 299 меняете на 999, а A$1:A$299 на оригинал!A$1:A$999

В вложенном файле сделал на зеленом листе
К сообщению приложен файл: 8993757_2_2.xls (83.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеФильтр Вам не мешает. Можете его убрать - это я просто для удобства проверки его поставил.
Свои данные вставляете в столбец А листа "Оригинал" и смотрите в столбец J того же листа.
Если данных больше 299 строк, то в формуле ячейки J1 меняете все 299 на 999 (например), жмете Контрл Шифт Ентер (это формула массива) и протягиваете J1 вниз.
Или выделяете весь столбец J, жмете Контрл h и меняете там 299 на 999.

Во вложенном файле сделал на 999 строк.

Если нужно на другой лист, то все аналогично, только не 299 меняете на 999, а A$1:A$299 на оригинал!A$1:A$999

В вложенном файле сделал на зеленом листе

Автор - _Boroda_
Дата добавления - 19.11.2016 в 00:24
Mark1976 Дата: Суббота, 19.11.2016, 00:36 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
_Boroda_, спасибо. Наверное уже поздно и у меня ничего не получается. Выделил столбец А, удалил данные, вставил туда новые данные, в итого в столбце, J, вышла ошибка.
 
Ответить
Сообщение_Boroda_, спасибо. Наверное уже поздно и у меня ничего не получается. Выделил столбец А, удалил данные, вставил туда новые данные, в итого в столбце, J, вышла ошибка.

Автор - Mark1976
Дата добавления - 19.11.2016 в 00:36
Mark1976 Дата: Суббота, 19.11.2016, 00:39 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
_Boroda_, завтра на свежую голову все получится. Спасибо.
 
Ответить
Сообщение_Boroda_, завтра на свежую голову все получится. Спасибо.

Автор - Mark1976
Дата добавления - 19.11.2016 в 00:39
Mark1976 Дата: Вторник, 22.11.2016, 00:39 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
В вложенном файле сделал на зеленом листе

_Boroda_, не нашел во вложенном файле зеленый лист.
 
Ответить
Сообщение
В вложенном файле сделал на зеленом листе

_Boroda_, не нашел во вложенном файле зеленый лист.

Автор - Mark1976
Дата добавления - 22.11.2016 в 00:39
_Boroda_ Дата: Вторник, 22.11.2016, 09:10 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16887
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
:D :D :D
Да, действительно, если Лист1 в файле из сообщения 8 не покрасить зеленым, то формулы там работать не будут. :D :D :D


[offtop] На всякий случай, если вдруг кто слишком серьезен сегодня - вышенаписанное шутка.[/offtop]
К сообщению приложен файл: 8993757_2_2_1.xls (79.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение:D :D :D
Да, действительно, если Лист1 в файле из сообщения 8 не покрасить зеленым, то формулы там работать не будут. :D :D :D


[offtop] На всякий случай, если вдруг кто слишком серьезен сегодня - вышенаписанное шутка.[/offtop]

Автор - _Boroda_
Дата добавления - 22.11.2016 в 09:10
Mark1976 Дата: Вторник, 22.11.2016, 22:30 | Сообщение № 13
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
_Boroda_, первая формула работает на ура. Со второй не могу разобраться. Помогите. Файл прикладываю.
К сообщению приложен файл: 8993757_2_2_1.xlsb (27.1 Kb)
 
Ответить
Сообщение_Boroda_, первая формула работает на ура. Со второй не могу разобраться. Помогите. Файл прикладываю.

Автор - Mark1976
Дата добавления - 22.11.2016 в 22:30
_Boroda_ Дата: Вторник, 22.11.2016, 23:51 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 16887
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
В СЧЕТЕСЛИМН не нужно было отрубать символы слева. Сначала я там писал СЧЕТЕСЛИ, а вот там как раз нужно было. А потом ЛЕВБ остался.
Вот так вроде работает
Код
=ИНДЕКС(A$1:A$999;МИН(ЕСЛИ(--ТЕКСТ(СЧЁТЕСЛИМН(A$1:A$999;"<="&A$1:A$999;A$1:A$999;"В ап*")+ЕЧИСЛО(ПОИСК("В ап*";A$1:A$999))%;"0,00;0;-1")=ОТБР(СТРОКА(B5)/5)+1%;СТРОКА(A$1:A$999)))-2+НЕ(ОСТАТ(СТРОКА()+1;5))+ОСТАТ(СТРОКА();5))
К сообщению приложен файл: 8993757_2_2_12.xlsb (28.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВ СЧЕТЕСЛИМН не нужно было отрубать символы слева. Сначала я там писал СЧЕТЕСЛИ, а вот там как раз нужно было. А потом ЛЕВБ остался.
Вот так вроде работает
Код
=ИНДЕКС(A$1:A$999;МИН(ЕСЛИ(--ТЕКСТ(СЧЁТЕСЛИМН(A$1:A$999;"<="&A$1:A$999;A$1:A$999;"В ап*")+ЕЧИСЛО(ПОИСК("В ап*";A$1:A$999))%;"0,00;0;-1")=ОТБР(СТРОКА(B5)/5)+1%;СТРОКА(A$1:A$999)))-2+НЕ(ОСТАТ(СТРОКА()+1;5))+ОСТАТ(СТРОКА();5))

Автор - _Boroda_
Дата добавления - 22.11.2016 в 23:51
Mark1976 Дата: Четверг, 24.11.2016, 22:30 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 809
Репутация: 3 ±
Замечаний: 0% ±

Excel 2010, 2013
_Boroda_, доброго вечера. Огромное спасибо за проявленный интерес к теме и помощь в написании формулы. Проверил на реальных данных, все работает как часы. Увеличил диапазон до
Код
A$1:A$2000
. Немного подтормаживает, но эту я думаю формула массива, они всегда тормозят процесс. Ведь так, правильно я думаю? Еще раз СПАСИБО, очень помогли.
 
Ответить
Сообщение_Boroda_, доброго вечера. Огромное спасибо за проявленный интерес к теме и помощь в написании формулы. Проверил на реальных данных, все работает как часы. Увеличил диапазон до
Код
A$1:A$2000
. Немного подтормаживает, но эту я думаю формула массива, они всегда тормозят процесс. Ведь так, правильно я думаю? Еще раз СПАСИБО, очень помогли.

Автор - Mark1976
Дата добавления - 24.11.2016 в 22:30
_Boroda_ Дата: Четверг, 24.11.2016, 23:03 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16887
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Немного подтормаживает

Ясное дело. Только не из-за массивного ввода, а две СЧЁТЕСЛИМН 2000 х 2000 будет 8000000 подсчетов. Да еще ЕСЛИ под МИН. Даже если сделать немассивную формулу для подобных расчетов, то она скорее всего еще хуже будет.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Немного подтормаживает

Ясное дело. Только не из-за массивного ввода, а две СЧЁТЕСЛИМН 2000 х 2000 будет 8000000 подсчетов. Да еще ЕСЛИ под МИН. Даже если сделать немассивную формулу для подобных расчетов, то она скорее всего еще хуже будет.

Автор - _Boroda_
Дата добавления - 24.11.2016 в 23:03
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!