Перенести только заполненные ячейки excel

Перенос данных из таблиц только заполненных строк

andreika21

Дата: Пятница, 03.06.2016, 11:22 |
Сообщение № 1

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

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

Сообщений: 132


Репутация:

1

±

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


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

 

Ответить

китин

Дата: Пятница, 03.06.2016, 11:31 |
Сообщение № 2

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

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

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


Excel 2007;2010;2016

Здравствуйте .так надо? масс ивная формула

Код

=ЕСЛИОШИБКА(ИНДЕКС(B$4:B$34;НАИМЕНЬШИЙ(ЕСЛИ($C$4:$C$34<>»»;СТРОКА(B$4:B$34)-3);СТРОКА(A1)));»»)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

Сообщение отредактировал китинПятница, 03.06.2016, 11:32

 

Ответить

andreika21

Дата: Пятница, 03.06.2016, 11:44 |
Сообщение № 3

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

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

Сообщений: 132


Репутация:

1

±

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


китин, Спасибо большое, на один столбец работает попробую на другие переделать, у вас в формуле запятая надо » ; «

 

Ответить

andreika21

Дата: Пятница, 03.06.2016, 11:53 |
Сообщение № 4

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

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

Сообщений: 132


Репутация:

1

±

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


китин, Спасибо за файл, разобрался формула работала у меня формат не тот был.

 

Ответить

_Boroda_

Дата: Пятница, 03.06.2016, 16:20 |
Сообщение № 5

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

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

А у Вас за одну дату несколько одинаковых городов не бывает? И, вроде, Вам по возрастанию дат нужно было?
Предлагаю сводную таблицу. В файле сделал на 9999 строк. Для обновления — прав. кн. мыши на ней — Обновить.


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

 

Ответить

jakim

Дата: Пятница, 03.06.2016, 18:32 |
Сообщение № 6

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

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

Сообщений: 1150


Репутация:

305

±

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


Excel 2010

Предлагаю вариант для ексель 2010+.

 

Ответить

andreika21

Дата: Понедельник, 06.06.2016, 08:01 |
Сообщение № 7

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

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

Сообщений: 132


Репутация:

1

±

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


_Boroda_, jakim, Спасибо за помощь, тема закрыта.

 

Ответить

 

artmeb

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

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

Добрый день!
Прошу помощи, так, как excel знаю только поверхностно.

Нужна помощь в создании документа (спецификации) с автоматическим переносом строк с Листа1 на Лист2 по условию заполнения в строке значения количества. При этом нужно учитывать, что количество строк на Лист2 со временем могут увеличится.
Перерыл «ВЕСЬ» Интернет, всё не то…
Буду очень признателен за помощь.

 

Sanja

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

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

Накидали-бы в примере с десяток строк с данными в Лист1
И куда их копировать? В конец таблицы на Лист2?
З.Ы. ПримЕчание

Изменено: Sanja02.10.2015 18:51:14

Согласие есть продукт при полном непротивлении сторон.

 

artmeb

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

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

Вот так должно заполняться

 

Sanja

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

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

По каким признакам у Вас группируются наименования в Калькуляторе?

Согласие есть продукт при полном непротивлении сторон.

 

artmeb

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

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

Группирую в ручную (как мне удобнее с ними работать)

 

gling

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

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

Если правильно все понял, то можно попробовать как в файле. Изменения выделены.

Изменено: gling02.10.2015 22:22:21

 

Sanja

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

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

#7

02.10.2015 22:11:29

Цитата
Необходим механизм (макрос…

А макросу желательна логика распределения по группам. Сможете Ваше «как мне удобнее…» алгоритмизировать?

Согласие есть продукт при полном непротивлении сторон.

 

Sanja

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

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

gling, в файле из первого сообщения должно быть НАОБОРОТ, из Лист1(Прилложение1) в Лист2(Калькулятор). Как я понял…

Согласие есть продукт при полном непротивлении сторон.

 

gling

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

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

Sanja

, в первом файле лист 1 не заполнен, а в #3 как должно заполняться, Лист1 частично заполнен. Думаю что Калькулятор — это просто каталог для выбора продукции, в нем выбирается продукция и рассчитывается суммарная стоимость. Все данные и расчеты должны попасть в приложение к договору с указанием стоимости. Я так понял.

 

Sanja

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

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

#10

02.10.2015 22:43:49

Ну да, одно из двух. Хотя вроде недвусмысленно написано..

Цитата
artmeb написал: с автоматическим переносом строк с Листа1 на Лист2

Согласие есть продукт при полном непротивлении сторон.

 

artmeb

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

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

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

gling, да всё верно, это каталог, а приложение №1 — спецификация, в ней должны быть только товары из калькулятора, у которых есть значение в столбце количество или сумма.

 

Sanja

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

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

Я не угадал. Ориентировался на вопрос в первом сообщении. Вопрос про группировку отменяется

Согласие есть продукт при полном непротивлении сторон.

 

artmeb

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

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

#13

02.10.2015 23:00:16

Цитата
gling написал: можно попробовать как в файле

Спасибо за помощь!
Всё работает.

 

Юрий М

Модератор

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

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

#14

02.10.2015 23:17:35

Цитата
artmeb написал: алгроитизироманно

Добавил в словарь ))

 

sidorenko

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

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

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

Есть 2 листа: «база», «результат»
Необходимо автоматическое внесение строк с задолженностями с листа База на лист Результат.
В какую сторону смотреть для решения?
Спасибо.

Петр.

 

sidorenko, петр думаю вас модераторы попросят создать свою тему..

PS.поищете в приемах многоразовый ВПР…

Изменено: a.i.mershik09.11.2018 11:20:18

Не бойтесь совершенства. Вам его не достичь.

 

sidorenko

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

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

Спасибо за ответ.

Лучше создать или дождаться указания модератора?
С ВПР что-то получалось, но в данном случае почему-то не вышло. Может ли ВПР работать по разному в разных версиях  Excel?

Изменено: sidorenko09.11.2018 11:27:36

 

Не бойтесь совершенства. Вам его не достичь.

 

sidorenko

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

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

Спасибо за решение!
В этом файле все прекрасно работает.

Переношу в рабочий файл (он не отличается), не работает… в чем причина, не понимаю, пошел читать теорию )

Видимо, дело в скобках { … } В вашем решении в формуле скобки есть. В моей версии excel они почему-то не ставятся и не читаются.

Изменено: sidorenko09.11.2018 12:19:46

 

sidorenko, смотрите ссылку..внимательно и изучайте ..
{} — это формула массива и вводится сочетанием клавишь ctrl+shift+enter

Не бойтесь совершенства. Вам его не достичь.

 

sidorenko

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

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

#21

09.11.2018 12:29:19

Заработало!

Вся проблема изначально было в этих скобках ))))
Огромное спасибо.

Большинство из нас может столкнуться с этой проблемой, когда мы копируем список данных, который содержит несколько пустых ячеек, а затем вставляем их в другой столбец, пустые ячейки также будут вставлены. Это очень раздражает, когда нам не нужны пробелы и мы хотим вставить только непустые ячейки. Как в таком случае быстро и удобно копировать и вставлять в Excel только непустые ячейки? Вот несколько быстрых приемов, чтобы решить эту проблему:

Скопируйте и вставьте только непустые ячейки с помощью команды Перейти к специальной

Копируйте и вставляйте только непустые ячейки с помощью функции фильтра

Скопируйте и вставьте только непустые ячейки с формулой массива

Скопируйте и вставьте только непустые ячейки с кодом VBA

Скопируйте и вставьте только непустые ячейки с Kutools for Excel хорошая идея3


стрелка синий правый пузырь Скопируйте и вставьте только непустые ячейки с помощью команды Перейти к специальной

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

1. Выберите свой список данных, которые вы хотите использовать.

doc-copy-only-nonblanks1

2. Затем нажмите Главная > Найти и выбрать > Перейти к специальному, см. снимок экрана:

doc-copy-only-nonblanks1

3. В Перейти к специальному диалоговое окно, отметьте Константы вариант, см. снимок экрана:

doc-copy-only-nonblanks1

4. Затем нажмите OK, и в списке выбраны только ячейки значений.

doc-copy-only-nonblanks1

5. А затем скопируйте и вставьте данные в нужное место. И были вставлены только непустые значения ячеек. Смотрите скриншот:

doc-copy-only-nonblanks1

Внимание: Этот метод доступен только для констант, он не применяется к ячейкам формулы.


стрелка синий правый пузырь Копируйте и вставляйте только непустые ячейки с помощью функции фильтра

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

2. Нажмите Данные > Фильтр, см. снимок экрана:

документ копировать только без пустых 6

3. Затем нажмите кнопку раскрывающегося списка в правом углу ячейки в выбранном списке и снимите флажок Пробелы вариант в раскрывающемся меню. Смотрите скриншот:
doc-copy-only-nonblanks1

4, Затем нажмите OK, все непустые ячейки были отфильтрованы, как показано на следующем снимке экрана:

doc-copy-only-nonblanks1

5. Наконец, вы можете скопировать отфильтрованные данные и вставить их в любое нужное место.

Внимание: Таким образом вступают в силу и значения, и формулы.



стрелка синий правый пузырь Скопируйте и вставьте только непустые ячейки с формулой массива

Чтобы скопировать и вставить только непустые ячейки, вы также можете применить следующую формулу массива.

1. Помимо ваших данных, введите в пустую ячейку следующую формулу:

=LOOKUP(«zzzzz»,CHOOSE({1,2},»»,INDEX(A:A,SMALL(IF($A$1:$A$15<>»»,ROW($A$1:$A$15)),ROWS($B$1:B1)))))

doc-copy-only-nonblanks1

Внимание: В приведенной выше формуле A1: A15 — это список данных, который вы хотите использовать. Вы можете изменить его по своему усмотрению.

2, Затем нажмите Shift + Ctrl + Enter вместе, а затем выберите ячейку B1 и перетащите маркер заполнения в диапазон, который вы хотите содержать эту формулу, и все непустые значения ячеек были извлечены. Смотрите скриншот:

doc-copy-only-nonblanks1

3. Поскольку они являются формулами, когда вы копируете их в другое место, вы должны копировать и вставлять их как значения.

Внимание: Эта формула доступна только для констант и не применяется к ячейкам формулы.


стрелка синий правый пузырь Скопируйте и вставьте только непустые ячейки с кодом VBA

Если вас интересует код VBA, вы можете выполнить следующий код, чтобы завершить эту задачу.

1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

Код VBA: копируйте и вставляйте только непустые ячейки в Excel

Sub PasteNotBlanks()
'Update 20140325
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
If InputRng.Columns.Count > 1 Then
    MsgBox "Please select one column."
    Exit Sub
End If
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
InputRng.SpecialCells(xlCellTypeConstants).Copy Destination:=OutRng.Range("A1")
End Sub

3, Затем нажмите F5 Нажмите клавишу для запуска этого кода, появится окно с подсказкой, напоминающее вам о выборе диапазона данных, который вы хотите использовать. Смотрите скриншот:

doc-copy-only-nonblanks1

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

doc-copy-only-nonblanks1

5. Нажмите OK чтобы завершить этот код, и только непустые значения ячеек были вставлены в указанную вами позицию.

Внимание: Этот код доступен только для констант.


стрелка синий правый пузырь Скопируйте и вставьте только непустые ячейки с Kutools for Excel

Есть ли способ намного проще, чем указано выше? Конечно, Kutools for Excel‘s Выбрать непустую ячейкуУтилита s может помочь вам сначала выбрать непустые ячейки, а затем скопировать и вставить их.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите диапазон ячеек и щелкните Кутулс > Выберите > Выбрать непустые ячейки. Смотрите скриншот:
документ выберите непустую ячейку 2

2. Затем выбираются непустые ячейки, нажимаем Ctrl + C чтобы скопировать их, затем выберите ячейку, в которой вы хотите вывести результат, нажмите Ctrl + V для вставки выбранных непустых ячеек. Смотрите скриншот:
документ выберите непустую ячейку 3

стрелка синий правый пузырь Скопируйте и вставьте только непустую ячейку


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

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

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

вкладка kte 201905


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

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

офисный дно

0 / 0 / 0

Регистрация: 25.04.2013

Сообщений: 6

1

Перенос данных на другой лист, исключая пустые ячейки

25.04.2013, 14:01. Показов 22837. Ответов 14


Студворк — интернет-сервис помощи студентам

Сразу хочу сказать, что я не программист, поэтому не судите строго Зарегистрироваться вынудил вопрос, на который никак не могу найти ответа.
Суть вопроса:
-есть таблица №1 с тремя строками, но ячейки заполнены через одну.
-необходимо составить формулу-ссылку, посредством которой данные, при внесении в табл.1 будут автоматически копироваться в табл.2 на Листе 2 и в табл.3 на Листе 3. Уже без пустых ячеек!
У меня никак не получается сделать это, пустые ячейки постоянно все портят.
прилагаю файл с примером.
Заранее Благодарна всем, кто откликнется



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

25.04.2013, 14:28

2

для второго листа формула массива

Код

=ЕСЛИ(СЧЁТЗ(Лист1!7:7)>=СТОЛБЕЦ();ИНДЕКС(Лист1!7:7;;НАИМЕНЬШИЙ(ЕСЛИ(Лист1!7:7>0;СТОЛБЕЦ(Лист1!7:7);"");СТОЛБЕЦ()));"")



0



0 / 0 / 0

Регистрация: 25.04.2013

Сообщений: 6

25.04.2013, 15:51

 [ТС]

3

Спасибо, но Вы могли бы на моем примере поставить эту формулу?
А формулы попроще нету?



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

25.04.2013, 16:11

4

так.



0



0 / 0 / 0

Регистрация: 25.04.2013

Сообщений: 6

25.04.2013, 16:41

 [ТС]

5

Спасибо, но ничего не выходит. Необходимо другое решение.



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

25.04.2013, 16:49

6

что именно не выходит?



0



0 / 0 / 0

Регистрация: 25.04.2013

Сообщений: 6

26.04.2013, 10:02

 [ТС]

7

мне надо не просто разово скопировать, а прописать формулу в табл. 2 и 3 так что бы при введении данных в табл.1 они автоматом появлялись в табл 2 и 3. Не сильно запутанно ???)))))



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

26.04.2013, 10:08

8

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



0



0 / 0 / 0

Регистрация: 25.04.2013

Сообщений: 6

26.04.2013, 14:42

 [ТС]

9

да, в остальных таблицах данные должны оставаться а новые дописываться дальше.
оптимально былобы поставить формулы в табл. 2 и 3 и забыть. Формулы, которые могут подбирать данные из главной табл.1 пропуская один ненужный столбец (независимо от того пустой он или с какими-то цифрами)



0



3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

26.04.2013, 14:58

10

для второго листа

Код

=ИНДЕКС(Лист1!7:7;;СТОЛБЕЦ()*2-1)

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



1



0 / 0 / 0

Регистрация: 25.04.2013

Сообщений: 6

26.04.2013, 15:13

 [ТС]

11

Огромное Вам Спасибо!!!! все получилось!!!!
Удачи и весеннего настроения!!!



0



SegeevAV

09.03.2014, 13:58

12

Здравствуйте!

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

Код

=ЕСЛИ(СЧЁТЗ(Лист1!7:7)>=СТОЛБЕЦ();ИНДЕКС(Лист1!7:7;;НАИМЕНЬШИЙ(ЕСЛИ(Лист1!7:7>0;СТОЛБЕЦ(Лист1!7:7);"");СТОЛБЕЦ()));"")

Если я вставляю эту формулу в ячеку, она перестает работать, но при просмотре формулы в вашем файле, формула отражается в таких кавычках {=…}, что это значит?

5942 / 3154 / 698

Регистрация: 23.11.2010

Сообщений: 10,524

09.03.2014, 16:42

13

Цитата
Сообщение от SegeevAV
Посмотреть сообщение

формула отражается в таких кавычках {=…}, что это значит?

Это означает формулу массива, которая вводится сочетанием Ctrl+Shift+Enter



0



0 / 0 / 0

Регистрация: 06.01.2016

Сообщений: 4

15.01.2016, 01:15

14

Подскажите пожалуйста возможно ли применить подобное или похожее решение применительно не к пустым ячейкам, а ячейкам, содержащим формулу условие? Например необходимо напечатать ярлыки для товара по накладной, количество товара может меняться. Необходимо, чтобы на вкладке «Ярлык» по порядку отображались только ячейки со значением «Товар №», а не » «.



0



0 / 0 / 0

Регистрация: 06.01.2016

Сообщений: 4

15.01.2016, 22:44

15

Vlad999, Влад, поможете в решении задачи?



0



Копирование только видимых ячеек

Если некоторые ячейки, строки или столбцы на листе не отображаются, вы сможете скопировать все ячейки (или только видимые ячейки). По умолчанию Excel копирует не только видимые, но и скрытые или фильтрованные ячейки. Если же требуется скопировать только видимые ячейки, выполните действия, описанные ниже. Например, можно скопировать только сводные данные из структурированного листа.

Выполните указанные ниже действия.

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

Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.

Щелкните Главная > Найти и выделить, а затем выберите пункт Выделение группы ячеек.

Выберите параметр только видимые ячейки и нажмите кнопку ОК.

Щелкните Копировать (или нажмите клавиши CTRL+C).

Выделите левую верхнюю ячейку области вставки и нажмите кнопку Вставить (или нажмите клавиши CTRL + V).

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

Примечание: При копировании значения последовательно вставляются в строки и столбцы. Если область вставки содержит скрытые строки или столбцы, возможно, потребуется отобразить их, чтобы увидеть все скопированные данные.

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

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

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Как скопировать только видимые ячейки в Excel

По умолчанию Excel копирует как видимые, так и скрытые ячейки. Однако можно скопировать только видимые ячейки.

В этом примере строка 2 скрыта:

Если просто скопировать, а затем вставить этот диапазон, результат получается следующим:

Чтобы скопировать только видимые ячейки, выполните несколько простых действий:

  1. Выделите диапазон A1:A4.
  2. На вкладке Home (Главная) нажмите кнопку Find & Select (Найти и выделить) и кликните по Go To Special (Выделить группу ячеек).
  3. Выберите опцию Visible cells only (Только видимые ячейки) и нажмите OK.
  4. Excel выделит видимые ячейки. Теперь нажмите сочетание Ctrl+C, чтобы скопировать диапазон.
  5. Выберите ячейку A6 и нажмите Ctrl+V, чтобы вставить диапазон.

Как вставить скопированные ячейки только в видимые/отфильтрованные ячейки

В общем-то смысл статьи уже, думаю, понятен из названия. Просто чуть-чуть расширю.

Ни для кого не секрет, что Excel позволяет выделить только видимые строки(например, если некоторые из них скрыты или применен фильтр).

если кто-то не знает, как это сделать: выделяем диапазон — Alt+;(для английской раскладки);Alt+ж(для русской). Подробнее можно почитать здесь.

Так вот, если скопировать таким образом только видимые ячейки, то скопируются они как положено. Но при попытке вставить скопированное в диапазон отфильтрованный(либо содержащий скрытые строки) — то результат вставки будет не совсем такой, как Вы ожидали. Данные будут вставлены даже в скрытые строки.

Копируем единый диапазон ячеек и вставляем только в видимые
Чтобы данные вставлялись только в видимые ячейки, можно применить такой макрос:

Option Explicit Dim rCopyRange As Range ‘Этим макросом копируем данные Sub My_Copy() If Selection.Count > 1 Then Set rCopyRange = Selection.SpecialCells(xlVisible) Else: Set rCopyRange = ActiveCell End If End Sub ‘Этим макросом вставляем данные, начиная с выделенной ячейки Sub My_Paste() If rCopyRange Is Nothing Then Exit Sub If rCopyRange.Areas.Count > 1 Then MsgBox «Вставляемый диапазон не должен содержать более одной области!», vbCritical, «Неверный диапазон»: Exit Sub Dim rCell As Range, li As Long, le As Long, lCount As Long, iCol As Integer, iCalculation As Integer Application.ScreenUpdating = False iCalculation = Application.Calculation: Application.Calculation = -4135 For iCol = 1 To rCopyRange.Columns.Count li = 0: lCount = 0: le = iCol — 1 For Each rCell In rCopyRange.Columns(iCol).Cells Do If ActiveCell.Offset(li, le).EntireColumn.Hidden = False And _ ActiveCell.Offset(li, le).EntireRow.Hidden = False Then rCell.Copy ActiveCell.Offset(li, le): lCount = lCount + 1 End If li = li + 1 Loop While lCount >= rCell.Row — rCopyRange.Cells(1).Row Next rCell Next iCol Application.ScreenUpdating = True: Application.Calculation = iCalculation End Sub

Для полноты картины, данные макросы лучше назначить на горячие клавиши(в приведенных ниже кодах это делается автоматически при открытии книги с кодом). Для этого приведенные ниже коды необходимо просто скопировать в модуль ЭтаКнига(ThisWorkbook):

Option Explicit ‘Отменяем назначение горячих клавиш перед закрытием книги Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.OnKey «^q»: Application.OnKey «^w» End Sub ‘Назначаем горячие клавиши при открытии книги Private Sub Workbook_Open() Application.OnKey «^q», «My_Copy»: Application.OnKey «^w», «My_Paste» End Sub

Теперь можно скопировать нужный диапазон нажатием клавиш Ctrl+q, а вставить его в отфильтрованный — Ctrl+w.

Tips_Macro_CopyPasteInHiddenRows.xls (46,5 KiB, 9 515 скачиваний)

Копируем только видимые ячейки и вставляем только в видимые
По просьбам посетителей сайта решил доработать данную процедуру. Теперь возможно копировать любые диапазоны: со скрытыми строками, скрытыми столбцами и вставлять скопированные ячейки также в любые диапазоны: со скрытыми строками, скрытыми столбцами. Работает совершенно так же, как и предыдущий: нажатием клавиш Ctrl+q копируем нужный диапазон(со скрытыми/отфильтрованными строками и столбцами или не скрытыми), а вставляем сочетанием клавиш Ctrl+w. Вставка производится так же в скрытые/отфильтрованные строки и столбцы или без скрытых.
Если в копируемом диапазоне присутствуют формулы, то во избежание смещения ссылок можно копировать только значения ячеек — т.е. при вставке значений будут вставлены не формулы, а результат их вычисления. Или если необходимо сохранить форматы ячеек, в которые происходит вставка — будут скопированы и вставлены только значения ячеек. Для этого надо заменить строку в коде(в файле ниже):

Великолепная семерка. 7 лучших быстрых приемов ускорения работы в Microsoft Excel на каждый день

В этой статье мне хотелось бы представить вам самые эффективные приемы работы в Microsoft Excel, собранные мной за последние 10 лет работы над проектами и проведения тренингов по этой замечательной программе. Здесь нет описания суперсложных технологий, но есть приемы на каждый день — простые и эффективные, описанные без «воды» — только «сухой остаток». На освоение большинства из этих примеров у вас уйдет не более одной-двух минут, а вот сэкономить они вам помогут гораздо больше.

Быстрый переход к нужному листу

Случается ли вам работать с книгами Excel, состоящими из большого количества листов? Если их больше десятка, то каждый переход к очередному нужному листу сам по себе становится маленькой проблемой. Простое и элегантное решение такой задачи — щелкнуть в левом нижнем углу окна по кнопкам прокрутки ярлычков листов не левой, а правой кнопкой мыши — появится оглавление книги с полным списком всех листов и на нужный лист можно будет перейти в одно движение:

Это намного быстрее, чем прокручивать ярлычки листов этими же кнопками в поисках нужного.

Копирование без повреждения форматирования

Сколько сотен (тысяч?) раз я видел эту картину, стоя за спиной своих слушателей во время тренингов: пользователь вводит формулу в первую ячейку затем и «протягивает» ее на весь столбец, нарушая форматирование нижерасположенных строк, поскольку такой способ копирует не только формулу, но и формат ячейки. Соответственно, дальше приходится вручную исправлять повреждения. Секунда на копирование и потом 30 — на починку испорченного копированием дизайна.

Начиная с Excel 2002, есть решение этой проблемы — простое и изящное. Сразу после копирования (протаскивания) формулы на весь столбец, нужно воспользоваться смарт-тегом — небольшим значком, который временно появляется в правом нижнем углу диапазона. Нажатие на него выведет список возможных вариантов копирования, где и можно выбрать Копировать только значения ( Fill without formatting). В этом случае формулы копируются, а форматирование — нет:

Копирование только видимых ячеек

Если вы работаете в Microsoft Excel больше недели, то должны были уже сталкиваться с подобной проблемой: в некоторых случаях при копировании-вставке ячеек их вставляется больше, чем было, на первый взгляд, скопировано. Это может происходить, если копируемый диапазон включал в себя скрытые строки/столбцы, группировки, промежуточные итоги или фильтрацию. Рассмотрим в качестве примера один из таких случаев:

В этой таблице посчитаны промежуточные итоги и сделана группировка строк по городам — это легко понять по кнопкам «плюс-минус» слева от таблицы и по разрывам в нумерации видимых строк. Если выделить, скопировать и вставить данные из этой таблицы обычным способом, то мы получим 24 лишних строки. Нам же хочется скопировать и вставить только итоги!

Можно решить проблему, кропотливо выделяя каждую строку итогов и удерживая при этом клавишу CTRL — как для выделения несмежных диапазонов. Но если таких строк не три-пять, а несколько сотен или тысяч? Есть другой, более быстрый и удобный путь:

Выделите копируемый диапазон (в нашем примере — это A1:C29)

Нажмите на клавиатуре клавишу F5 и затем кнопку Выделить ( Special) в открывшемся окне.
Появится окно, позволяющее пользователю выделять не все подряд, а только нужные ячейки:

В этом окне выберите опцию Только видимые ячейки ( Visible cells only) и нажмите ОК.

Полученное выделение теперь можно смело копировать и вставлять. В результате мы получим копию именно видимых ячеек и вставим вместо ненужных 29-ти только необходимые нам 5 строк.

Если есть подозрение, что подобную операцию вам придется проделывать часто, то имеет смысл добавить на панель инструментов Microsoft Excel кнопку для быстрого вызова такой функции. Это можно сделать через меню Сервис>Настройка (Tools> Customize), затем перейти на вкладку Команды (Commands), в категории Правка (Edit) найти кнопку Выделить видимые ячейки (Select visible cells) и перенести ее мышью на панель инструментов:

Превращение строк в столбцы и обратно

Простая операция, но если не знать как сделать ее правильно — можно потратить полдня на перетаскивание отдельных ячеек вручную:

На самом деле все просто. В той части высшей математики, которая описывает матрицы есть понятие транспонирования — действия, которое меняет строки и столбцы в матрице местами друг с другом. В Microsoft Excel это реализуется в три движения: Копируем таблицу

Щелкаем правой кнопкой мыши по пустой ячейке и выбираем команду Специальная вставка ( Paste Special)

В открывшемся окне ставим флаг Транспонировать ( Transpose) и жмем ОК:

Быстрое добавление данных в диаграмму

Представим себе простую ситуацию: у вас есть отчет за прошлый месяц с наглядной диаграммой. Задача — добавить в диаграмму новые числовые данные уже за этот месяц. Классический путь ее решения — это открыть окно источника данных для диаграммы, где добавить новый ряд данных, введя его имя и выделив диапазон с нужными данными. Причем зачастую сказать это легче, чем сделать — все зависит от сложности диаграммы.

Другой путь — простой, быстрый и красивый — выделить ячейки с новыми данными, скопировать их (CTRL+C) и вставить (CTRL+V) прямо в диаграмму. Excel 2003, в отличие от более поздних версий, поддерживает даже возможность перетаскивания выделенного диапазона ячеек с данными и забрасывания его прямо в диаграмму с помощью мыши!

Если хочется контролировать все нюансы и тонкости, то можно использовать не обычную, а специальную вставку, выбрав в меню Правка>Специальная вставка ( Edit> Paste Special). В этом случае Microsoft Excel отобразит диалоговое окно, позволяющее настроить куда и как именно будут добавлены новые данные:

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

Заполнение пустых ячеек

После выгрузки отчетов из некоторых программ в формат Excel или при создании сводных таблиц пользователи часто получают таблицы с пустыми ячейками в некоторых столбцах. Эти пропуски не позволяют применять к таблицами привычные и удобные инструменты типа автофильтра и сортировки. Естественным образом возникает необходимость заполнить пустоты значениями из вышестоящих ячеек:

Безусловно, при небольшом количестве данных, это легко можно сделать простым копированием — вручную протянув каждую заглавную ячейку в столбце А вниз на пустые ячейки. А если в таблице несколько сотен или тысяч строк и несколько десятков городов?

Есть способ решить эту задачу быстро и красиво при помощи одной формулы:

Выделите все ячейки в столбце с пустотами (т.е. диапазон A1:A12 в нашем случае)

Чтобы в выделении остались только пустые ячейки, нажмите клавишу F5 и в открывшемся окне переходов — кнопку Выделить. Увидите окно, позволяющее выбрать — какие именно ячейки мы хотим выделить:

Установите переключатель в положение Пустые ( Blank ) и нажмите ОК. Теперь в выделении должны остаться только пустые ячейки:

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

Чтобы ввести созданную формулу сразу во все выделенные пустые ячейки, нажмите не клавишу ENTER, а сочетание CTRL+ ENTER. Формула заполнит все пустые ячейки:

Теперь осталось только заменить формулы на значения для фиксации результатов. Выделите диапазон A1:A12, скопируйте его и вставьте в ячейки их значения, используя специальную вставку.

Выпадающий список в ячейке

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

Идея очень проста — во всех случаях, когда вы должны ввести данные из какого-либо набора, вместо ручного ввода в ячейку с клавиатуры выбирать нужное значение мышью из выпадающего списка:

Выбор товара из прайс-листа, имени клиента из клиентской базы, ФИО сотрудника из штатного расписания и т.д. Вариантов применения этой функции множество.

Чтобы создать выпадающий список в ячейке:

Выделите ячейки, в которых вы хотите создать выпадающий список.

Если у вас Excel 2003 или старше, то выберите в меню Данные>Проверка (Data>Validation). Если у вас Excel 2007/2010, то перейдите на вкладку Данные (Data) и нажмите кнопку Проверка данных (Data validation).

В открывшемся окне выберите вариант Список (List) из раскрывающегося списка.

В поле Источник (Source) надо указать значения, которые должны быть в списке. Тут возможны варианты:

Вписать в это поле текстовые варианты через точку с запятой

Если диапазон ячеек с исходными значениями находится на текущем листе — достаточно его просто выделить мышью.

Если он находится на другом листе этой книги, то ему придется заранее дать имя (выделить ячейки, нажать CTRL+F3, ввести имя диапазона без пробелов), а затем прописать это имя в поле Источник:

Также, именованный диапазон может быть динамическим, т.е. созданным на основе функций СМЕЩ ( OFFSET) и СЧЁТЗ ( COUNTA). Тогда при дописывании к нему новых данных, они будут автоматически в него включаться и отображаться в выпадающем списке.

На вкладках Сообщение для ввода (Input Message) и Сообщение об ошибке (Error Alert) можно ввести подсказку для пользователя, которая будет появляться при выделении ячейки ввода и ругательное сообщение, если пользователь вместо выбора одного из разрешенных вариантов упрямо попытается вписать свой текст напрямую с клавиатуры:

Заключение

Надеюсь, что хотя бы некоторые из вышеописанных приемов вы найдете для себя полезными и они облегчат вам ежедневную работу в Microsoft Excel.

Копирование и вставка в Excel, включая скрытые столбцы

Я использую рабочий лист Excel 2016, в котором есть несколько столбцов, скрытых по причинам пользовательского интерфейса. Мне нужно иметь возможность отфильтровывать данные, а затем копировать и вставлять их на другой лист со скрытыми столбцами в целости и показывать после вставки в место назначения (он будет содержать более длинный журнал аналогичных транзакций, а не только одну копию-вставку).

Добавление картинки цели — то есть в надежде вставить скрытое содержимое столбцов B и C в целевую электронную таблицу. Это вообще возможно?

Вероятно, не очень хорошая форма, чтобы задать 2 вопроса в одном посте, однако есть ли альтернативы выполнению функции фильтрации и копирования-вставки в другую электронную таблицу вручную? То есть:

  • запустить ручной фильтр для очистки пробелов в поле Количество;
  • сделать выбор
  • сделать ручную функцию Ctrl + C — Ctrl + V

Есть ли способ сделать это проще? К сожалению, пока нет VBA или макро-опыта.

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

Возможно, сейчас самое время войти в мир макросов, поскольку вам не нужен специальный код, но вы можете использовать записанный макрос без каких-либо дополнительных манипуляций. Эта функция Excel предназначена для таких неопытных пользователей, как вы.

Просмотр / Макросы / Запись макроса

Назовите свой макрос

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

  • Отфильтруйте пробелы с помощью поля со списком фильтров
  • Выберите диапазон, используя CTRL-G / Специальный / Текущий регион (не выделяйте ячейки мышью или с помощью клавиатуры, ваш код должен быть универсальным, не должен содержать ручные диапазоны, поскольку вы не хотите выполнять какое-либо кодирование)
  • CTRL-C для копирования
  • Если ячейка «для вставки» не зафиксирована во всех ваших случаях, вам следует прекратить запись макроса здесь. Если ячейка вставки зафиксирована, вставьте содержимое во время записи макроса.

После записи макроса назначьте ярлык для нового макроса, используя: Макросы / Просмотр макросов / Меню параметров

Вуаля! Теперь вы можете делать точно то же, что и при записи макроса, с помощью этой комбинации клавиш. Если вы не вставляли содержимое во время записи, то вы с / б используете макро-ярлык и переходите к ячейке, которую хотите вставить, и нажимаете CTRL-V .

Когда вы почувствуете себя достаточно уверенно, попробуйте меню « Правка» в макросах и посмотрите, какой код у вас в руках, возможно, внесите небольшие изменения и т. Д. Я видел много людей, которые вначале не знакомы с базовым кодированием, но каким-то образом начали писать свои собственные коды. увидев эту функцию в Excel. Удачи!

Понравилась статья? Поделить с друзьями:
  • Перенос данных на другой лист в excel макрос
  • Перенести текст в ячейке excel на другой лист
  • Перенос данных в excel с условием если
  • Перенести текст в excel это
  • Перенос группы ячеек в excel