Excel скопировать все строки по условию

Содержание

  1. Excel скопировать все строки по условию
  2. суббота, 29 сентября 2018 г.
  3. Excel Копирование ячеек с условием без макросов
  4. Excel скопировать все строки по условию
  5. Как скопировать строки на новый лист на основе критериев столбца в Excel?
  6. Простое копирование и вставка нескольких ячеек / диапазонов одновременно в Excel
  7. Excel скопировать все строки по условию
  8. Как скопировать строки, если столбец содержит определенный текст / значение в Excel?

Excel скопировать все строки по условию

суббота, 29 сентября 2018 г.

Excel Копирование ячеек с условием без макросов

В некую таблицу скопировать все значения из столбца другой таблицы где значение справа равно некоторому.

Когда у меня первый раз спросили про такое, я ответил- фигушки, без макроса никак, по крайней мере для неопределенного количества найденных строк.

Спустя время мне задали этот вопрос повторно и тут меня осенило — это не невозможно.

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

на деле это выглядит так:
Искать будем значение из ячейки $B$5 (в этой ячейке динамический выпадающий список) в другом листе:

Во втором аргументе формулы ПоискПоз ( ДВССЫЛ(«Карт.сч.!R»&$C16+1&»C2:R[1000]C2»;ЛОЖЬ); ) формируется диапазон $B$0+предыдущее положение+1 т.е. R9C2:R1000C2
Т.о. мы исключаем уже найденную строку из массива для поиска.

В итоге вот такой формулой

Мы получаем значение из пятой колонки строки номер 8, и так далее.

Это можно записать в одну ячейку, но в моем случае получается очень громоздкая конструкция:

Для двойных/тройных условий в поиске предлагаю использовать доп колонку, в таблице поиска, с конкатенацией колонок.

Источник

Excel скопировать все строки по условию

Как скопировать строки на новый лист на основе критериев столбца в Excel?

Например, есть таблица покупки фруктов, и теперь вам нужно скопировать записи на новый лист на основе указанных фруктов, как это легко сделать в Excel? Здесь я расскажу о нескольких методах копирования строк на новый лист на основе критериев столбца в Excel.

Вы можете фильтровать данные по указанному значению столбца, а затем вручную копировать отфильтрованные строки на новый лист в Excel. Пожалуйста, сделайте следующее:

1. Выберите столбец, на основе которого вы будете копировать строки, в нашем примере выберите столбец Fruit. А затем щелкните Данные > Фильтр.

2. Щелкните стрелку рядом с указанным заголовком столбца, а затем проверьте только указанный фрукт в раскрывающемся списке и щелкните значок OK кнопку.

В нашем примере щелкните стрелку рядом с заголовком столбца Fruit, а затем отметьте Apple только в раскрывающемся списке. См. Снимок экрана ниже:

3. Теперь отфильтровываются только записи указанных фруктов. Скопируйте эти записи.

4. Создайте новый лист, щелкнув значок or на панели вкладок листа.

5. Затем вставьте скопированные записи в новый лист.

И тогда вы увидите, что все записи об Apple скопированы и сохранены на новом листе. См. Снимок экрана ниже:

6. Повторите шаги 2–5, чтобы скопировать другие записи фруктов на новые листы.

Если в таблице много видов фруктов, копирование каждого вида записей фруктов на новые листы будет пустой тратой времени.

Второй метод поможет вам пакетно копировать строки на новый лист на основе критериев столбца Kutools for Excel Разделить данные утилита.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Бесплатная пробная версия сейчас!

Kutools for Excel — Combines more than 300 Advanced Functions and Tools for Microsoft Excel

1. Выберите диапазон, в который вы будете копировать строки на основе критериев столбца, и нажмите кнопку Кутулс Плюс > Разделить данные.

2. В открывшемся диалоговом окне «Разделить данные на несколько листов» вам необходимо:

(1) Проверьте Конкретный столбец вариант, щелкните раскрывающийся список ниже и укажите столбец, из которого вы будете копировать строки;

(2) Щелкните значок Правила поле и укажите Значения столбца из выпадающего списка;

3. Нажмите Ok кнопку.

Затем вы увидите, что каждый вид фруктовых записей копируется на отдельный новый лист новой созданной книги, как показано ниже:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

Простое копирование и вставка нескольких ячеек / диапазонов одновременно в Excel

Возможно, вы заметили, что Microsoft Excel не поддерживает одновременное копирование нескольких непоследовательных ячеек (находящихся в разных столбцах). Но копирование этих ячеек / выделений одно за другим — пустая трата времени и утомительно! Kutools для Excel Копировать диапазоны Утилита может помочь сделать это легко, как показано на скриншоте ниже.

Источник

Excel скопировать все строки по условию

Как скопировать строки, если столбец содержит определенный текст / значение в Excel?

Предположим, вы хотите найти ячейки, содержащие определенный текст или значение в столбце, а затем скопировать всю строку, в которой находится найденная ячейка, как вы можете с этим справиться? Здесь я представлю несколько методов, чтобы определить, содержит ли столбец определенный текст или значение, а затем скопировать всю строку в Excel.

For copying rows to new sheet if column contains a certain value, you can try Kutools for Excel’s Split Data feature, which will split the selection based on values in the specified column, and name the new sheet with corresponding values in the specified column.

Этот метод поможет вам найти ячейки, содержащие определенный текст или значение в указанном столбце, сначала с помощью команды «Фильтр», а затем вы можете легко скопировать отфильтрованные строки в Excel.

1. Выберите столбец, который вы будете фильтровать, а затем щелкните значок Данные > Фильтр.

2. Щелкните кнопку со стрелкой справа от первой ячейки выбранного столбца, а затем щелкните значок Текстовые фильтры > Комплект из выпадающего списка.

3. Во всплывающем диалоговом окне Custom AutoFilter введите определенный текст или значение в поле за содержит и нажмите OK кнопка. Смотрите скриншот выше:

4. Теперь выберите все отфильтрованные строки и скопируйте их, нажав Ctrl + C ключи одновременно.

5. Выберите пустую строку или ячейку и вставьте отфильтрованную строку, нажав Ctrl + V одновременно.

Обычно мы можем легко найти ячейки, содержащие определенный текст или значение, с помощью команды «Найти» (Ctrl + F), но она не может выделить всю строку. Тем не мение, Kutools for Excel‘s Выберите специальные ячейки Функция может не только помочь нам найти ячейки с определенным текстом или значением, но и выбрать целые строки, в которых находятся найденные ячейки.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

1. Выберите столбцы, в которых вы найдете ячейки, содержащие определенный текст или значение.

2, Нажмите Кутулс > Выбрать > Выбрать определенные ячейки.

3. В диалоговом окне Выбрать определенные ячейки (см. Снимок экрана выше)
(1) Проверьте Весь ряд вариант в Тип выбора раздел;
(2) В разделе «Определенный тип» щелкните первое поле и выберите Комплект из раскрывающегося списка, затем введите конкретный текст или значение в следующее поле (см. снимок экрана ниже);
(3) Щелкните значок Ok кнопку.

4. Затем появляется другое диалоговое окно Select Specific Cells. Щелкните значок OK чтобы закрыть его.

Все ячейки, содержащие определенный текст или значение в выбранных столбцах, обнаруживаются, и все строки с выбранными ячейками выбираются сразу.

5, нажмите Ctrl + C ключи тем временем, чтобы скопировать эти строки.

6. Выберите пустую строку или ячейку и вставьте эти строки, нажав Ctrl + V ключи тем временем.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

Kutools для Excel Сравнить диапазоны Утилита предоставляет другой обходной путь для копирования строк, если столбец содержит определенный текст / значения другого столбца в Excel. Пожалуйста, сделайте следующее:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

1. Нажмите Кутулс > Выбрать> Выбрать одинаковые и разные ячейки.

2. В открывшемся диалоговом окне «Выбор одинаковых и разных ячеек» выполните следующие действия:

(1) Укажите столбец, который вы будете проверять, содержит ли конкретный текст / значение в Найдите значения в коробка;
(2) Укажите, что столбец содержит конкретный текст / значение в Согласно информации коробка;
Внимание: Пожалуйста, проверьте У моих данных есть заголовки варианты, основанные на вашей ситуации.
(3) Проверьте Те же ценности вариант в Найдите раздел;
(4) Проверьте Выбрать целые строки опцию.
(5) Щелкните значок Ok кнопку, чтобы применить эту утилиту.

3. Затем появляется другое диалоговое окно «Сравнить диапазоны», в котором показано, сколько строк было выбрано. Пожалуйста, нажмите на OK чтобы закрыть его.

4. А затем скопируйте эти выделенные строки, нажав Ctrl + C одновременно, а затем вставьте в целевой диапазон по мере необходимости.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

Kutools for Excel поддерживает другой обходной путь, который копирует целые строки на новые листы, если указанный столбец содержит определенный текст / значение с помощью его утилиты Split Data. Вы можете сделать следующее:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

1. Выберите диапазон, в котором вы будете копировать строки на новые листы, если столбец содержит указанный текст / значение, и нажмите Кутулс Плюс > Разделить данные.

2. В открывшемся диалоговом окне «Разделить данные на несколько листов» установите флажок Конкретный столбец опцию и выберите имя столбца, в который вы будете копировать строки на основе раскрывающегося списка ниже; укажите правило именования новых листов и нажмите кнопку Ok кнопка. Смотрите левый снимок экрана:

И тогда вы увидите, что все строки в выбранном диапазоне были скопированы в новые рабочие листы, если указанный столбец содержит определенный текст / значение. Смотрите скриншот:

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30 -день, кредитная карта не требуется! Get It Now

Источник

Всем добра.

Задача:

В некую таблицу скопировать все значения из столбца другой таблицы где значение справа равно некоторому.

Мысли:

Когда у меня первый раз спросили про такое, я ответил- фигушки, без макроса никак, по крайней мере для неопределенного количества найденных строк.

 Спустя время мне задали этот вопрос повторно и тут меня осенило — это не невозможно.

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

на деле это выглядит так:
Искать будем значение из ячейки $B$5 (в этой ячейке динамический выпадающий список) в другом листе:

=ПОИСКПОЗ($B$5;ЛИСТ2!B:B;0)

ПоискПоз — ищет вхождения в диапазоне
Результат формулы = 8, т.е. восьмая строчка

Проверяем, и вправду так.

Последующие ячейки при расчете будут учитывать предыдущую:

=ПОИСКПОЗ($B$5;ДВССЫЛ(«Карт.сч.!R»&$C16+1&»C2:R[1000]C2»;ЛОЖЬ);0)+C16)

Во втором аргументе формулы ПоискПоз ( ДВССЫЛ(«Карт.сч.!R»&$C16+1&»C2:R[1000]C2»;ЛОЖЬ); ) формируется диапазон $B$0+предыдущее положение+1 т.е. R9C2:R1000C2
Т.о. мы исключаем уже найденную строку из массива для поиска.

В итоге вот такой формулой

ДВССЫЛ(«Карт.сч.!R»&C16&»C5»;ЛОЖЬ)

Мы получаем значение из пятой колонки строки номер 8, и так далее.

Это можно записать в одну ячейку, но в моем случае получается очень громоздкая конструкция:

=ЕСЛИОШИБКА(ЕСЛИ(ЕПУСТО(ДВССЫЛ(«Карт.сч.!R»&ЕСЛИОШИБКА(ПОИСКПОЗ(ДВССЫЛ(«$B»&СТРОКА()-B17-10;ИСТИНА);ДВССЫЛ(«Карт.сч.!R»&$C16+1&»C2:R[1000]C2″;ЛОЖЬ);0)+C16;»-«)&»C5″;ЛОЖЬ));»АВАНС «;»»)&ТЕКСТ(ДВССЫЛ(«Карт.сч.!R»&ЕСЛИОШИБКА(ПОИСКПОЗ(ДВССЫЛ(«$B»&СТРОКА()-B17-10;ИСТИНА);ДВССЫЛ(«Карт.сч.!R»&$C16+1&»C2:R[1000]C2″;ЛОЖЬ);0)+C16;»-«)&»C3″;ЛОЖЬ);»дд.ММ.гггг»);»»)

Для двойных/тройных условий в поиске предлагаю использовать доп колонку, в таблице поиска, с конкатенацией колонок.

Здравствуйте, уважаемые форумчане.
Не прошло и полгода, и я опять прошу Вашей помощи.
Отписываюсь в этой теме, т.к. сложности плавно вытекли из неё, суть вопроса осталась та же, так как предложенное AlexM решение проблемы теперь не помогает. Проблема была такая:

«Есть файл (во вложении), в котором существует огромный список адресов (каждая строка это отдельный адрес с кучей нужной информации по нему).
Каждая строка (т.е. каждый адрес) имеет 2 состояния (столбец «H») «Закрыт» и «В работе».
Задача у меня такая: скопировать на другой лист, который «ОТК», все строки, имеющие статус «В работе».»

Теперь же появилось третье состояние этого столбца (в примере P) — «На выплату» (дополнительно меня нагрузили теперь бухгалтерскими вопросами) и данная формула не помогает:

Код

=ИНДЕКС(Адреса!$A$1:$A$175;НАИМЕНЬШИЙ(ЕСЛИ(Адреса!$H$5:$H$175<>"Закрыт";СТРОКА($A$5:$A$175));СТРОКА(A1)))

, т.к. в листе ОТК теперь выводятся и объекты в работе и на выплату.

Попытка заменить «<> «Закрыт» на «= «В работе» приводит у тому, что пустые клетки выдают ошибку «!#ЧИСЛО».
Собственно 1 вопрос в том, как грамотно поменять формулу, чтобы сохранить функционал.

Есть 2 вопрос, уже бухгалтерский: в том же примере есть окно «Бухгалтерия», в котором я пытался автоматизировать подсчет зарплаты. Т.е. мне надо, чтобы все объекты со статусом «На выплату» автоматически забивались в ведомость, соответственно если одна фамилия встречается более 1 раза, зарплата суммировалась.

Буду благодарен, если кто поможет решить задачу или подскажет, как её победить.
Заранее спасибо.

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

Доброе время суток, уважаемые форумчане! Столкнулся с проблемой, которая, откровенно говоря, привела меня в некий ступор.    
Есть таблица на Листе1, которая ежедневно заполняется, необходимо из нее скопировать строки по условию значения в ячейке столбца C (он же 3)и вставить (добавлял) удовлетворяющую условию строку на Лист3. условием является шестизначное число (от 000000 до 999999).  
Заранее Спасибо всем за интерес и ответы!  
Поиск ничего не дал

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Чем автофильтр не устраивает?

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Если сломан автофильтр…

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

огромное спасибо!  
то, что надо!

 

а нельзя сделать, чтобы при заполнении Листа3 данные добавлялись, а не заполнялись по новой?

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

а нельзя сделать, чтобы при заполнении Листа3 данные добавлялись, а не заполнялись по новой?

 

Hugo

Пользователь

Сообщений: 23249
Регистрация: 22.12.2012

Как такой вариант — ставите вызов кода Юрия на событие активации листа (отключив обновление экрана на время работы).  
Только нужно Cells первого листа указать, чьи они, а третьего тогда не надо.  
И можно код на одну строку сократить:  

  If .Cells(i, 3) Like «######» Then

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

попробую с этим разобраться

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=}{date=11.11.2011 10:38}{thema=}{post}а нельзя сделать, чтобы при заполнении Листа3 данные добавлялись, а не заполнялись по новой?{/post}{/quote}А смысл? Результат будет тот же самый. Берите что дают, а то скачаю обратно.

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

Смысл есть, при изменении уже скопированных строк на Листе3 и последующем выполнении макроса измененные данные, на Листе3, будут переписаны и нужно будет  либо по новой вносить изменения или дублировать полученные данные на другом листе.

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Изменяют строки обычно в исходных данных, а по ним уже строится отчёт. Если Вы планируете изменять сам отчёт — делайте это на копии листа 3.

 

Миха73

Пользователь

Сообщений: 6
Регистрация: 11.11.2011

да, обычно так и происходит, в смысле изменение данных в исходном документе, работать с копией полученного отчета, не проблема, вот только при создании нового отчета нужно будет учитывать, ранее полученный отчет…

 

Просматривая ответ на интересующий меня вопрос, нашел данную тему. Очень помогла. Скажите, а как можно было бы ограничить число копируемых ячеек в строке, например если исходная таблица имеет 10 ячеек в строке, а на том листе, куда переноситься (лист2 например) необходимы только 4 первых ячейки в строке (4 столбца)?

 

Hugo

Пользователь

Сообщений: 23249
Регистрация: 22.12.2012

Range(Cells(i, 1), Cells(i, 4)).Copy

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Если правильно понял вопрос:  
Range(Cells(i, 1), Cells(i, 4)).Copy .Cells(LastRow + 1, 1)

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

#16

21.08.2012 16:02:45

{quote}{login=}{date=21.08.2012 03:52}{thema=}{post}Просматривая ответ на интересующий меня вопрос{/post}{/quote}Просматривая Ваш вопрос, обнаружил, что Вы не подписываетесь. Анонимно легче? Наоборот: многие их тут не любят

Копирование строк по условию

Ольга93

Дата: Четверг, 25.04.2013, 21:15 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Здравствуйте. Подскажите пожалуйста, как автоматически копировать строки из первого листа на новый (включая столбцы A-I), если в столбце J истина. Можно ли это сделать с помощью встроенных функций, или нужен макрос?
заранее спасибо smile

Сообщение отредактировал Ольга93Четверг, 25.04.2013, 23:14

 

Ответить

AlexM

Дата: Четверг, 25.04.2013, 21:44 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Цитата (Ольга93)

Можно ли это сделать с помощью встроенных функций

Нельзя

Цитата (Ольга93)

или нужен макрос

Нужен

Цитата (Ольга93)

автоматически копировать

Макрос с запуском по событию на листе
smile



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

Ольга93

Дата: Четверг, 25.04.2013, 23:18 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Спасибо

Сообщение отредактировал Ольга93Четверг, 25.04.2013, 23:19

 

Ответить

Ольга93

Дата: Пятница, 26.04.2013, 09:08 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


А если не автоматически копировать?

 

Ответить

ShAM

Дата: Суббота, 27.04.2013, 05:01 |
Сообщение № 5

Группа: Друзья

Ранг: Старожил

Сообщений: 1347


Репутация:

249

±

Замечаний:
0% ±


Excel 2010

Может, ИНДЕКС и ПОИСКПОЗ помогут? Но это точно будет не «копирование».

 

Ответить

Ольга93

Дата: Суббота, 27.04.2013, 20:58 |
Сообщение № 6

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Ну можно и не копирование, главное чтобы на другом листе отобразилось это значение.

 

Ответить

taxi_driver

Дата: Суббота, 27.04.2013, 21:05 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 34


Репутация:

1

±

Замечаний:
0% ±


Ольга93, файл примера бы было не плохо, а то слово истина слишком широкое понятие

 

Ответить

AlexM

Дата: Суббота, 27.04.2013, 21:06 |
Сообщение № 8

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Вы же к Сообщению №3 хотели добавить файл. Почему-то передумали. ???



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

Ольга93

Дата: Суббота, 27.04.2013, 22:48 |
Сообщение № 9

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Файл прикрепляла несколько раз, пишет что прикреплено, но почему то не отображается:(

 

Ответить

Pelena

Дата: Суббота, 27.04.2013, 22:51 |
Сообщение № 10

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Цитата (Ольга93)

Файл прикрепляла несколько раз

Ольга93, Вы, наверное, Правила форума невнимательно прочитали


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Ольга93

Дата: Суббота, 27.04.2013, 23:58 |
Сообщение № 11

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Пробую еще раз)

Сообщение отредактировал Ольга93Воскресенье, 28.04.2013, 00:01

 

Ответить

AlexM

Дата: Воскресенье, 28.04.2013, 00:00 |
Сообщение № 12

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Файл должен быть до 100Кб



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

ShAM

Дата: Воскресенье, 28.04.2013, 00:00 |
Сообщение № 13

Группа: Друзья

Ранг: Старожил

Сообщений: 1347


Репутация:

249

±

Замечаний:
0% ±


Excel 2010

Пусть даже не Правила. Здесь же внизу (между «Прикрепить файл» и «Добавить ответ») все написано.

 

Ответить

Ольга93

Дата: Воскресенье, 28.04.2013, 00:07 |
Сообщение № 14

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


 

Ответить

AlexM

Дата: Воскресенье, 28.04.2013, 00:21 |
Сообщение № 15

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Предполагаю, вы не смогли найти правила форума.
Рекомендации по составлению примера из правил.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

Ольга93

Дата: Воскресенье, 28.04.2013, 00:24 |
Сообщение № 16

Группа: Пользователи

Ранг: Прохожий

Сообщений: 8


Репутация:

0

±

Замечаний:
0% ±


Хорошо, исправлюсь)

К сообщению приложен файл:

20_15.xls
(34.5 Kb)

Сообщение отредактировал Ольга93Воскресенье, 28.04.2013, 00:27

 

Ответить

ShAM

Дата: Воскресенье, 28.04.2013, 01:25 |
Сообщение № 17

Группа: Друзья

Ранг: Старожил

Сообщений: 1347


Репутация:

249

±

Замечаний:
0% ±


Excel 2010

Можно отфильтровать по ИСТИНЕ в столбце J. Потом выделяем нужный диапазон, жмем F5, Выделить, Только видимые ячейки, ОК.
Копируем, переходим на Лист1, вставляем. Убираем автофильтр.
Записал макрорекордером, немного подкорректировал и вот, что получилось:
[vba]

Код

Sub Макрос1()
Application.ScreenUpdating = False
       Dim LastRow As Long
       LastRow = Cells(Rows.Count, 10).End(xlUp).Row
       Range(«$A$2:$J$» & LastRow).AutoFilter Field:=10, Criteria1:=»ИСТИНА»
       Range(«A1:I» & LastRow).SpecialCells(xlCellTypeVisible).Copy Sheets(«Лист1»).[a1]
       Range(«A2:J» & LastRow).AutoFilter
Application.ScreenUpdating = True
End Sub

[/vba]

Сообщение отредактировал ShAMВоскресенье, 28.04.2013, 01:36

 

Ответить

AlexM

Дата: Воскресенье, 28.04.2013, 01:28 |
Сообщение № 18

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Вариант с формулой, в составе которой именованная формула.

Код

=ЕСЛИ(НИРиД<9^9;ИНДЕКС(НИР_20_15!$A$1:$I$1000;НИРиД;СТОЛБЕЦ(A1));»»)

Именованная формула НИРиД

Код

=НАИМЕНЬШИЙ(ИНДЕКС((НИР_20_15!$J$1:$J$1000<>ИСТИНА)*9^9+СТРОКА(НИР_20_15!$J$1:$J$1000););СТРОКА(НИР_20_15!A1))



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

Сообщение отредактировал AlexMВоскресенье, 28.04.2013, 01:35

 

Ответить

AlexM

Дата: Воскресенье, 28.04.2013, 02:17 |
Сообщение № 19

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Еще вариант макроса



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

Сообщение отредактировал AlexMВоскресенье, 28.04.2013, 02:21

 

Ответить

Serge_007

Дата: Воскресенье, 28.04.2013, 07:34 |
Сообщение № 20

Группа: Админы

Ранг: Местный житель

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

Цитата (Ольга93)

пишет что прикреплено

Зачем обманывать? Нет на форуме такой опции (надписи при создании поста о том что файл прикреплён)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

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

Работе со строками был посвящен целый ряд публикаций о том как выборочно удалять и/или скрывать строки по условию, как добавлять новые пустые строки в таблицу, как выделять строки по условию или производить их выделение с заданным шагом. Логичным продолжением этого цикла статей будет тема копирования строк, подходящих под заданные условия на новый лист или в новую рабочую книгу.

Обойдем стороной ручной труд с использованием копирования и вставки предварительно выделенных строк, а также использование сортировки и различных фильтров для выбора нужных строк и рассмотрим способ, позволяющий быстро разнести строки с определенными значениями по разным листам или книгам. Делается это при помощи надстройки для Excel.

Использование надстройки позволяет:

1. Одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel;

2. Задавать значение для поиска;

3. Задавать несколько значений для поиска через символ-разделитель «;» точку с запятой;

4. Учитывать либо не учитывать регистр при поиске заданных значений;

5. Выбирать диапазон ячеек для поиска заданных значений;

6. При необходимости устанавливать ограничения для выбранного диапазона;

7. Выбирать одно из восьми условий для выбранных ячеек:

    а) совпадает с искомым значением;

    б) не совпадает с искомым значением;

    в) содержит искомое значение;

    г) не содержит искомое значение;

    д) начинается с искомого значения;

    е) не начинается с искомого значения;

    ж) заканчивается искомым значением;

    з) не заканчивается искомым значением.

8. Выбирать в качестве места вставки для скопированных строк либо новый лист, либо новую рабочую книгу.

kopirovanie strok v excel po usloviyuCompleteSolutionмакрос (надстройка) для выборочного копирования строк по условию на новый лист

А знаете ли Вы, что все листы рабочей книги можно быстро превратить в отдельные файлы?

Другие материалы по теме:

Копирование строк по условию из существующего набора данных в отдельную таблицу с помощью кода VBA Excel. Определение числа строк в исходной таблице.

Условие задачи

Есть исходная таблица (набор данных) со списком файлов, расположенных в двух папках. Необходимо строки таблицы, содержащие слово «Изображения», скопировать в новую таблицу, расположенную ниже исходного набора данных, через одну пустую строку. В результате должно получиться, как на изображении ниже:

Решение задачи

Код VBA Excel для копирования строк исходного набора данных по условию в отдельную таблицу:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Sub KopirovaniyeStrok()

Dim s As String, n As Long, m As Long, i As Long

‘Задаем условие поиска

s = «Изображения»

‘Определяем номер последней строки исходной таблицы

n = Range(«A2»).CurrentRegion.Rows.Count

‘Задаем номер первой строки новой таблицы

m = n + 2

    For i = 2 To n

        ‘Проверяем условие

        If Cells(i, 1) = s Then

            ‘Копируем строку, удовлетворяющую условию, в новую таблицу

            Cells(i, 1).Resize(1, 3).Copy Cells(m, 1)

            m = m + 1

        End If

    Next

End Sub

При желании, можно добавить в эту процедуру еще одну переменную и автоматическое определение количества столбцов:

Dim c As Long

c = Range(«A2»).CurrentRegion.Columns.Count

Тогда выражение копирования примет следующий вид:

Cells(i, 1).Resize(1, c).Copy Cells(m, 1)


MulTEx »

17 Февраль 2014              19110 просмотров

Работа со строками/столбцами по условию

Данная функция является частью надстройки MulTEx


 
Вызов команды:
MulTEx -группа Ячейки/ДиапазоныРабота со строками/СтолбцамиРабота со строками/столбцами по условию


Данная команда позволяет удалить, переместить или скопировать строки/столбцы по различным условиям:
Работа со строками/столбцами
Операция — выбор действия над строками/столбцами. Возможно Удаление, Перемещение и Копирование. Перемещение и Копирование возможно на новый лист или в указанный диапазон того же листа.
Удалить/Переместить/Скопировать — в данном разделе можно выбрать над чем производить Удаление/Копирование/Перемещение: над строками или столбцами, а так же выбрать диапазон для выполнения действий.

Строки — действия будут произведены со строками
Столбцы — действия будут произведены со столбцами
На всем листе — действия над строками/столбцами будут произведены на всем листе
В диапазоне — действия над строками/столбцами будут произведены только внутри указанного диапазона. На картинке выше указан диапазон Лист1!$A$1:$E$25. Это значит, что если выбрано Удаление Строк, то строки будут удалены только в этом диапазоне. Даже если строка 27 листа будет удовлетворять условиям, она не будет удалена, т.к. выходит за пределены указанного диапазона.

Переместить — указывается место назначения для копируемых или перемещаемых строк/столбцов.

На новый лист — в данном случае строки/столбцы будут вставлены на новый лист, который будут создан в ходе выполнения команды. Вставка отобранных строк/столбцов начинается с ячейки А1 нового листа.
Начиная с указанной ячейки — в данном случае строки/столбцы будут вставлены на тот же лист, в котором производится Копирование/Перемещение. Вставка отобранных строк/столбцов начинается именно с указанной ячейки. Примечание: Если указать диапазон для вывода результата внутри диапазона с данными для отбора строк/столбцов, то появится сообщение:
Сообщение
После этого лучше проверить заданные параметры и убедиться в том, что перемещение или копирование строк/столбцов не будет произведено в имеющиеся данные. Это сообщение может появиться даже в том случае, если в ячейках для вывода результата нет данных и в качестве исходных данных указано На всем листе. Что вполне логично, т.к. ячейка для вывода в любом случае расположена на этом листе.

Наименование данного раздела меняется в зависимости от выбранного действия и принимает три значения: Переместить, Скопировать и Не доступно. Не доступно появляется при выборе действия Удалить, т.к. в данном случае определение диапазона для вывода результата не требуется.

Переместить строки — указываются критерии для отбора строк/столбцов к удалению/перемещению/копированию.

  • Все пустые — будут удалены все пустые строки/столбцы в указанном диапазоне.
  • Если значение ячейки:Ниже в примерах применения данных параметров описаны операции по удалению строк, но все это применимо для любой выбранной операции.
    • Равно — будут удалены те строки в ячейках которых есть значение, равное указанному. В критериях можно применять символы подстановки(звездочка(*), вопр.знак(?) ). Например на картинке указан критерий: «*С.Петербург*». Это означает, что если в ячейке будет записано «Произведено в г. С.Петербург 12.03.2008», то данная строка будет удалена. Если же указать «С?Петербург», то будут удалены строки, значение в которых равно либо «С.Петербург», либо «С-Петербург», либо «С Петербург» и т.п. Если же указать «С.Петербург», то будут удалены только те строки, значение которых в точности совпадает с «С.Петербург».
    • Не равно — будут удалены те строки в ячейках которых нет значения, равного указанному. Все работает так же, как и при выборе Равно, но в обратном направлении. Т.е. если указать «С.Петербург», то будут удалены все строки, значение которых не равно «С.Петербург».
    • Учитывать регистр — при отборе значений будет учитываться регистр критерия или нет. Если не установлено, то при указании равно «С.Петербург» будут удалены строки равные и значению «С.Петербург» и значению «с.петербург».
    • В поле ниже указывается номер столбца, в котором просматривать эти критерии. Например, если в этом поле указать 2 и На всем листе, то критерии будут просматриваться во втором столбце листа — $B. Если указать 2 и диапазон $B$1:$E$25, то критерии будут просматриваться во втором столбце указанного диапазона, т.е. в третьем столбце листа — $C. Если данное поле оставить пустым, то значения будут просматриваться во всех столбцах диапазона.

Закрыть форму после выполнения операции — по умолчанию включен. Если снять, то после Удаления/Перемещения/Копирования строк/столбцов форма не закроется и можно будет указать следующий критерий.


Расскажи друзьям, если статья оказалась полезной:

  Плейлист   Видеоинструкции по использованию надстройки MulTEx

Отбор данных по условию и копирование на новый лист

Автор Эдик, 03.03.2010, 20:58

« назад — далее »

Здравствуйте!У меня проблема,для меня сложная:есть таблица с данными,и надо данные,содержащие определенный идентификатор отбирать и копировать на отдельный лист.Проблема в том,чтоб автоматизировать этот процесс для многократного использования.И еще чтоб цифры,соответствующие этим данным,складывались под одними данными.Помогите пожалуйста.


приложите пример чтобы было понятней!!!


фильтр по условию «если есть #»


Понятнее не стало…
Автор явно не хочет, чтобы ему помогли.
Нарисуйте в примере, что нужно получить на другом листе.



есть два варианта, если я правильно понял задачу то можно использовать функцию надстройки Plex если она установлена-суммирование ячеек с определенным цветом заливки или суммирование ячеек с определенным цветом шрифта(пример на листе 2), а можно использовать функцию СУММЕСЛИМН только символ для фильтрации ставить перед словом. Функция примет форму =СУММЕСЛИМН(Лист1!B2:B5;Лист1!A2:A5;»#*») пример на листе 3


Не,там надо ессли в строке в первом столбце содержиться #,то эту строку(состоящую из 3 столбцов) просто копировать на другой лист и все.А суммировать надо 2 столбец,если 1-ый у строк совпадают



Вот оно!!!! :DВот,да вот так.А как это делается??Если можно,чтоб нажать на кнорочку.и …


Просто мне надо автоматизировать этот процесс.те чтоб открыл(с любым кол-вом строк и столбцов),провел пару действий и уже есть результат  :'(


просто укажите диапозон с расчетом на будущее =СУММЕСЛИМН(Лист1!$B$2:$B$100;Лист1!$A$2:$A$100;A1) например так, и после внесения изменений или добавлении строк Excel будет проводить пересчет автоматически


Предлагаю вариант с помощью сводной таблицы.


Чего то у меня етот html документ не открывается.А _сводные_ таблицы-это как?


Так а куда вносить =СУММЕСЛИМН(Лист1!$B$2:$B$100;Лист1!$A$2:$A$100;A1),вообще и он сам копирует строку,и куда эту формулу вставлять??


В общем,надо так-файл содержит 200 строк(3 столбца),если в первом столбце строки стоит #, то вся строка должна автоматически копироваться на другой лист.И если совпадают первый столбец строки,то тогда просто суммировать 2 столбуц.Только чтоб все это делалось автоматом


на листе два в столбце А вносите товар в ручную, эта жэ ячейка будет служить критерием для поичка и суммирования, в соседнюю ячейку столбца В вводим формулу =СУММЕСЛИМН(Лист1!$B$2:$B$200;Лист1!$A$2:$A$200;A3) она будет искать в таблице значения соответствующие названию товара и суммировать, в соседнюю ячейку столбца С вводим формулу =ВПР(A1;Лист1!A2:$C$200;3) эта формула возвращает значение столбца С соответствующее заданному критерию т.е. цена товара


А давайте попробуем так — см. вложение.
На листе 2 товар заносится сам, в лист 1 можно добавлять значения, диапазон формул динамический.
Усложнять проверкой на ошибку не стал, если значеия с «#» кончаются, то появляющееся значение ошибки (строки 8-12 листа 2) условным форматированием красятся в серый цвет. Если это критично, то можно добавить ЕСЛИ(ЕШИБКА(…….);»»;…….), где ……. — формула в столбце А листа 2. Для 2007 и выше — ЕСЛИОШИБКА(……..;»»).

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


согласен, только цифры в столбце цена суммировать не надо, или я не прав?


А, ну да, точно.
Тогда в столбце С листа 2 формула

=ВПР(A2;СМЕЩ(Лист1!$A$1;;;СЧЁТЗ(Лист1!A:A);3);3;0)

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_,
Красиво выкрутили с уникальными строками:
ПОИСКПОЗ(Предм;Предм;0)=СТРОКА(Предм)-1


Цитата: Эдик от 03.03.2010, 23:09
В общем,надо так-файл содержит 200 строк(3 столбца),если в первом столбце строки стоит #, то вся строка должна автоматически копироваться на другой лист.И если совпадают первый столбец строки,то тогда просто суммировать 2 столбуц.Только чтоб все это делалось автоматом

Ещё вариант со сводной.




  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • Отбор данных по условию и копирование на новый лист

Понравилась статья? Поделить с друзьями:
  • Excel скрыть часть строки
  • Excel скрыть формулы в строке формул
  • Excel скрыть формулу оставить значение
  • Excel скрыть формулу если есть не все значения
  • Excel скрыть строку с нулем в ячейке