Excel копирование строки если

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

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

  • Скопируйте строки, если столбец содержит определенный текст / значение с помощью команды фильтра в Excel
  • Скопируйте строки, если столбцы содержат определенный текст/значение с помощью Kutools for Excel
  • Копировать строки, если столбец содержит определенный текст / значение другого столбца
  • Копировать строки на новый лист, если столбец содержит указанный текст / значение в Excel

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

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

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

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

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

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

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


Скопируйте строки, если столбцы содержат определенный текст/значение с помощью Kutools for Excel

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

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

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

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

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 for Excel’s Сравнить диапазоны Утилита предоставляет другой обходной путь для копирования строк, если столбец содержит определенный текст / значения другого столбца в Excel. Пожалуйста, сделайте следующее:

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

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

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

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

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

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

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


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

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


Демо: копирование строк, если столбец содержит определенный текст / значение в Excel


Статьи по теме


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Всем добра.

Задача:

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

Мысли:

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

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

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

на деле это выглядит так:
Искать будем значение из ячейки $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″;ЛОЖЬ);»дд.ММ.гггг»);»»)

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

 

Миха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}Просматривая Ваш вопрос, обнаружил, что Вы не подписываетесь. Анонимно легче? Наоборот: многие их тут не любят

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


Это только макросом! Вам это нужно динамически? то есть чтоб при заполнении количестко строка автоматом копировалась в новую таблицу. Или по кнопке заполнили и нажали кнопку все колонки где количество заполнено скопировались?

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


Цитата: Poltava от 22.08.2012, 12:53
Это только макросом! Вам это нужно динамически? то есть чтоб при заполнении количестко строка автоматом копировалась в новую таблицу. Или по кнопке заполнили и нажали кнопку все колонки где количество заполнено скопировались?

Можно и формулой, но зачем , если есть фильтр по непустым.


А как воспользоваться этим фильтром



ЦитироватьМожно и формулой,

А по моему формулой как раз и нельзя. На сколько мне известно формулы не могут физически изменять содержимое ячейки (хотя может с формулами массива можно что то придумать), а просят именно копирование. А вот про фильтры это вы очень правильно вспомнили но опять таки обычный фильтр не скопирует данные только расширенный. Хотя если человеку нужно просто наглядно увидеть, или его устраивает копировать данные в ручную то тогда да

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.



СПАСИБО БОЛЬШОЕ   :D      ZORRO2005  Вроде как проблема  решена


:) Ну это не «копирование», а вычисление заведомо написанной формулой. Просто как говориться правильно заданный вопрос это пол ответа спрашивали ведь о копировании

Не пытайтесь спорить с дебилом. Иначе вы опуститесь до его уровня. Где он задавит вас своим опытом.


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


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

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

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

Код

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

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

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

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

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

Копирование строки данных при совпадении значения с образцом

Otter

Дата: Понедельник, 30.03.2015, 16:28 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 174


Репутация:

0

±

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


Excel 2019, Word 2019

Доброго время суток.
Нужно копировать определенные диапазоны ячеек строк в указанное
место при изменении данных в ячейке с образцом числа.
Копирование должно происходить сразу как только произошло изменение в образце.
В прилагаемом файле думаю все понятно.
Желательно дать решение макросом и формулами.

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

_125.rar
(8.3 Kb)

 

Ответить

_Boroda_

Дата: Понедельник, 30.03.2015, 16:32 |
Сообщение № 2

Группа: Модераторы

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Так нужно?

Код

=ИНДЕКС(A2:A6;ПОИСКПОЗ($C8;$C2:$C6;))

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

_125_1.xlsx
(11.4 Kb)


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

 

Ответить

Rustem

Дата: Понедельник, 30.03.2015, 16:39 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 281


Репутация:

48

±

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


Excel 2013

Можно так…

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

_125.xlsx
(11.6 Kb)


WMR: R183220163895

 

Ответить

Otter

Дата: Понедельник, 30.03.2015, 16:41 |
Сообщение № 4

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 174


Репутация:

0

±

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


Excel 2019, Word 2019

Спасибо огромное. Это то? что нужно. Да еще оперативно. yes
Жду решения задачи макросом на VBA

 

Ответить

_Boroda_

Дата: Понедельник, 30.03.2015, 16:50 |
Сообщение № 5

Группа: Модераторы

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Да не вопрос
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address(0, 0) = «C8» Then Range(«A11») = Range(«A» & WorksheetFunction.Match(Target, Range(«C1:C6»), 0)).Resize(, 5).Value
End Sub

[/vba]

Изменение —
в код добавлено .Value. Файл перекладен.


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

 

Ответить

Otter

Дата: Понедельник, 30.03.2015, 18:24 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 174


Репутация:

0

±

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


Excel 2019, Word 2019

Спасибо и за макрос, только ячейки по столбцу А не копируются.
Что надо изменить чтоб копировались.
Осталось совсем малость как понимаю
Простите, но для меня пока сложно самому исправить ошибку..

 

Ответить

_Boroda_

Дата: Понедельник, 30.03.2015, 19:40 |
Сообщение № 7

Группа: Модераторы

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

Странно. На работе работало, а дома тоже А11 теряется. А Excelи одинаковые.
Добавьте взад второй строки
.Value
Файл перевложил в свое пред. сообщение и код поправил


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

 

Ответить

Otter

Дата: Понедельник, 30.03.2015, 20:11 |
Сообщение № 8

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 174


Репутация:

0

±

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


Excel 2019, Word 2019

Да теперь все работает. Благодарю за работу.
Вопрос полностью закрыт hands

 

Ответить

VEKTORVSFREEMAN

Дата: Понедельник, 30.03.2015, 20:24 |
Сообщение № 9

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

Ранг: Ветеран

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

так а макрос меняет только А11, а что с В11, С11, D11 и Е11? Там же они меняются за счёт формул (если их убрать, меняется только А11)
Или я чего то не понял?


«Опыт — это то, что получаешь, не получив того, что хотел»

 

Ответить

VEKTORVSFREEMAN

Дата: Понедельник, 30.03.2015, 20:29 |
Сообщение № 10

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

Ранг: Ветеран

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

Предложу такую формулу

Код

=ИНДЕКС($A2:$E6;ПОИСКПОЗ($C8;$C2:$C6;0);ПОИСКПОЗ(A10;$A1:$E1;0))

поиск по номеру и шапке основной таблицы


«Опыт — это то, что получаешь, не получив того, что хотел»

Сообщение отредактировал VEKTORVSFREEMANПонедельник, 30.03.2015, 20:31

 

Ответить

_Boroda_

Дата: Понедельник, 30.03.2015, 20:32 |
Сообщение № 11

Группа: Модераторы

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

макрос меняет только А11, а что с В11, С11, D11 и Е11?

Там два отдельных решения — макросом и формулой. А если ты про то, что мы приравниваем только Range(«A11») = …, то здесь дело в том, что при вставке не обязательно выделять весь диапазон вставки. Достаточно выделить левую верхнюю ячейку. Попробуй без макроса, просто скопировать диапазон А1:С5, встать в Е15 и вставить. У тебя вставится не только А1 в Е15, но и весь остальной диапазон.

А по поводу формулы — зачем искать еще и столбец, если столбцы откуда и куда соответствуют? См. сообщение №2.


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

 

Ответить

VEKTORVSFREEMAN

Дата: Понедельник, 30.03.2015, 20:42 |
Сообщение № 12

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

Ранг: Ветеран

Сообщений: 772


Репутация:

129

±

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


MS Office Excel 2010

не понимаю

В11, С11, D11 и Е11 … если их убрать, меняется только А11

Там два отдельных решения

к этому сообщению приложен файл с одним из решений (через макрос) см. файл который приложил из сообщения №5
почему не меняются В11:Е11?

на случай, если файл пример имеет лишь приближенное оформление относительно оригинала. Так на всякий случай.

первоначально решение было у меня такое же. Но за тобой не успеешь :D . Опоздал на 3 мин. с ответом и не стал выкладывать.
[p.s.]Беру свои слова обратно, если условием задачи было достигнуть результата частично формулой, частично макросом. Я понял так, что необходимо применить разные решения по отдельности.[/p.s.]


«Опыт — это то, что получаешь, не получив того, что хотел»

Сообщение отредактировал VEKTORVSFREEMANПонедельник, 30.03.2015, 21:05

 

Ответить

_Boroda_

Дата: Понедельник, 30.03.2015, 21:07 |
Сообщение № 13

Группа: Модераторы

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

С макросом не готов пока ответить — мой файл работает. И с компа, и я еще раз скачал свой же — оба работают. А вот твой — не хочет почему-то. Все одинаково. Более того, я создал новый файл — там тоже не работает. Возможно, несовпадение обновлений. Или еще что-то.
Более того, проверил в 2007 и в 2013 (до этого работал в 2010) — там аналогично.


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

 

Ответить

На чтение 7 мин. Просмотров 31 Опубликовано 21.05.2021

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

  • Копировать строки, если столбец содержит конкретный текст/значение с помощью команды «Фильтр» в Excel
  • Копировать строки, если столбцы содержат определенный текст/значение с помощью Kutools for Excel
  • Копировать строки, если столбец содержит определенный текст/значение другого столбца
  • Копировать строки на новый лист, если столбец содержит указанный текст/значение в Excel

Содержание

  1. Легко копируйте строки на новый лист, если столбец содержит указанное значение/текст в Excel
  2. Скопируйте строки, если столбец содержит определенный текст/значение с помощью команды «Фильтр» в Excel
  3. Копировать строки, если столбцы содержат определенный текст/значение с помощью Kutools for Excel
  4. Копировать строки, если столбец содержит определенный текст/значение другого столбца
  5. Копировать строки на новый лист, если столбец содержит указанный текст/значение в Excel
  6. Демонстрация: копирование строк, если столбец содержит определенный текст/значение в Excel
  7. Статьи по теме

Легко копируйте строки на новый лист, если столбец содержит указанное значение/текст в Excel

Для копирования строк в новый лист, если столбец содержит определенное значение, вы можете попробовать Kutools for Excel’s Split Data , которая разделит выбор на основе значений в указанном столбце и назовет новый лист с соответствующими значениями в указанный столбец. 30-дневная бесплатная пробная версия полнофункциональной версии!

Вкладка «Office» Включает редактирование и просмотр с вкладками в Office и делает вашу работу намного проще …

Подробнее … Бесплатная загрузка …

Kutools for Excel решает большинство ваших проблем и увеличивает Ваша продуктивность на 80%.

  • Повторное использование чего угодно: добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
  • Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
  • Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
  • Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Подробнее … Скачать бесплатно …

–>


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

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

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

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

3 . Во всплывающем диалоговом окне «Пользовательский автофильтр» введите определенный текст или значение в поле за полем содержит и нажмите кнопку OK . См. Снимок экрана выше:

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


Демонстрация: копирование строк, если столбец содержит определенный текст/значение в Excel

Kutools for Excel включает более 300 удобных инструментов для Excel, которые можно бесплатно попробовать без ограничений в течение 30 дней. Загрузить и бесплатную пробную версию !


Статьи по теме

Как проверить или найти, содержит ли ячейка определенную строку/текст/слово в Excel?

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


MulTEx »

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

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

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


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


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

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

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

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

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

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

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

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


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

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

Порой возникает необходимость разделить табличные данные на части и разнести их на разные листы. Для того, чтобы разделить таблицу на составные части можно использовать стандартные средства 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)


Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel копирование строки в строку
  • Excel копирование строк по значению
  • Excel копирование строк их других листов по условию
  • Excel копирование ссылок на листы
  • Excel копирование ссылка на одну ячейку

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии