Условия для копирования ячеек в excel

Всем добра.

Задача:

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

Мысли:

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

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

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

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

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

Авткопирование содержимого ячейки на другой лист по условию

AR84

Дата: Четверг, 11.02.2016, 11:05 |
Сообщение № 1

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

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

Сообщений: 12


Репутация:

0

±

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


Excel 2003

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

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

LABOR.xls
(18.0 Kb)

 

Ответить

buchlotnik

Дата: Четверг, 11.02.2016, 11:12 |
Сообщение № 2

Группа: Заблокированные

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

Сообщений: 3442


Репутация:

929

±

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


2010, 2013, 2016 RUS / ENG

например, так:

Код

=ЕСЛИОШИБКА(ИНДЕКС(Регистрация!$C$3:$C$10;НАИМЕНЬШИЙ(ЕСЛИОШИБКА((СТРОКА(Регистрация!$D$3:$D$10)-2)/(Регистрация!$D$3:$D$10=»да»);»»);СТРОКА(A1)));»»)

UPD на версию Excel не посмотрел — тогда так:

Код

=ЕСЛИ(ЕОШ(НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$50=»да»;СТРОКА(Регистрация!$C$3:$C$50)-2;»»);СТРОКА(B1)));»»;ИНДЕКС(Регистрация!$C$3:$C$50;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$50=»да»;СТРОКА(Регистрация!$C$3:$C$50)-2;»»);СТРОКА(B1))))

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

1144995.xls
(34.0 Kb)

Сообщение отредактировал buchlotnikЧетверг, 11.02.2016, 11:17

 

Ответить

китин

Дата: Четверг, 11.02.2016, 11:14 |
Сообщение № 3

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

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

Сообщений: 6973


Репутация:

1063

±

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


Excel 2007;2010;2016

так надо? формула массива для 2003

Код

=ЕСЛИ(ЕОШ(ИНДЕКС(Регистрация!$C$3:$C$50;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$50=»Да»;СТРОКА(Регистрация!$C$3:$C$50)-2);СТРОКА(A1))));»»;ИНДЕКС(Регистрация!$C$3:$C$50;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$50=»Да»;СТРОКА(Регистрация!$C$3:$C$50)-2);СТРОКА(A1))))

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

LABOR_2.xls
(37.5 Kb)


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

 

Ответить

SLAVICK

Дата: Четверг, 11.02.2016, 11:16 |
Сообщение № 4

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

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

Сообщений: 2290


Репутация:

766

±

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


2019

Какие все шустрые :D
НУ и мой вариант. Формула массива:

Код

=ЕСЛИОШИБКА(ИНДЕКС(Регистрация!$C$1:$C$41;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$41=»Да»;СТРОКА(Регистрация!$D$3:$D$41);9^9);СТРОКА(E1));1);»»)

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

4686306.xls
(34.0 Kb)


Иногда все проще чем кажется с первого взгляда.

 

Ответить

AR84

Дата: Четверг, 11.02.2016, 11:20 |
Сообщение № 5

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

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

Сообщений: 12


Репутация:

0

±

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


Excel 2003

Как оперативно ребята!!! Спасибо) сейчас буду смотреть,изучать, втыкать в формулы

 

Ответить

китин

Дата: Четверг, 11.02.2016, 11:27 |
Сообщение № 6

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

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

Сообщений: 6973


Репутация:

1063

±

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


Excel 2007;2010;2016


гы да исчо и глазастые, на версию Excel смотрим. :p


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

 

Ответить

buchlotnik

Дата: Четверг, 11.02.2016, 11:28 |
Сообщение № 7

Группа: Заблокированные

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

Сообщений: 3442


Репутация:

929

±

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


2010, 2013, 2016 RUS / ENG

[offtop]

Цитата

на версию Excel смотрим

смотрим-смотрим B)

 

Ответить

SLAVICK

Дата: Четверг, 11.02.2016, 11:37 |
Сообщение № 8

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

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

Сообщений: 2290


Репутация:

766

±

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


2019

Ну да thumb — это я еще не проснулся shock .
Ну тогда так:

Код

=ЕСЛИ(ЕОШ(
ИНДЕКС(Регистрация!$C$1:$C$41;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$41=»Да»;СТРОКА(Регистрация!$D$3:$D$41);9^9);СТРОКА(E1))));»»;
ИНДЕКС(Регистрация!$C$1:$C$41;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$41=»Да»;СТРОКА(Регистрация!$D$3:$D$41);9^9);СТРОКА(E1))))


Иногда все проще чем кажется с первого взгляда.

 

Ответить

AR84

Дата: Четверг, 11.02.2016, 12:27 |
Сообщение № 9

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

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

Сообщений: 12


Репутация:

0

±

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


Excel 2003

Ребят, а если мне не 40 значение надо будет, а 540? где что поправить надо будет? сделал так(на 60 значений)

Код

=ЕСЛИ(ЕОШ(ИНДЕКС(Регистрация!$C$3:$C$60;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$60=»Да»;СТРОКА(Регистрация!$C$3:$C$60)-2);СТРОКА(A1))));»»;ИНДЕКС(Регистрация!$C$3:$C$60;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!$D$3:$D$60=»Да»;СТРОКА(Регистрация!$C$3:$C$60)-2);СТРОКА(A1))))

и протянул ее. в итоге только первая строка заполнилась, а остальные пустые. Что я сделал не так7
[moder]Используйте для формул кнопочку fx. Поправила.[/moder]

Сообщение отредактировал ManyashaЧетверг, 11.02.2016, 12:40

 

Ответить

Wasilich

Дата: Четверг, 11.02.2016, 12:55 |
Сообщение № 10

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

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

Сообщений: 1232


Репутация:

326

±

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


2003

Если нет, то через макросы.

В модуль листа.
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Application.Intersect(Range(«D1:D2000»), Target) Is Nothing Then
    Dim s&
    If Target = «Да» Then
       s = Sheets(«1»).Range(«C» & Rows.Count).End(xlUp).Row + 1
       Target.Offset(0, -1).Copy Sheets(«1»).Cells(s, 3)
       Target.Offset(0, -2).Copy Sheets(«1»).Cells(s, 2)
    End If
  End If
End Sub

[/vba]

 

Ответить

SLAVICK

Дата: Четверг, 11.02.2016, 14:22 |
Сообщение № 11

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

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

Сообщений: 2290


Репутация:

766

±

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


2019

итоге только первая строка заполнилась, а остальные пустые. Что я сделал не так7

Формула массива вводится сочетанием клавиш:
CTRL SHIFT Enter


Иногда все проще чем кажется с первого взгляда.

 

Ответить

_Boroda_

Дата: Четверг, 11.02.2016, 20:24 |
Сообщение № 12

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

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

а если мне не 40 значение надо будет, а 540?

Вот тогда уж точно не стОит 2 раза считать тяжелый НАИМЕНЬШИЙ.
Предлагаю так

Код

=ЕСЛИ(A3>СЧЁТЕСЛИ(Регистрация!D$3:D$50;»Да»);»»;ИНДЕКС(Регистрация!C$3:C$50;НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!D$3:D$50=»Да»;Регистрация!A$3:A$50);СТРОКА(A1))))

Тоже формула массива, вводится одновременным нажатием Контрл Шифт Ентер

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

LABOR_3.xls
(37.5 Kb)


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

 

Ответить

AR84

Дата: Пятница, 12.02.2016, 09:33 |
Сообщение № 13

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

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

Сообщений: 12


Репутация:

0

±

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


Excel 2003

Ребят, а если мне надо скопировать с первого листа не только фио, но и дату на второй лист в соответствующую ячейку, формула как измениться? Что то я в нее пытаюсь вникнуть и никак. Как поправить диапазон — я разобрался. Спасибо вам большое.

П.С. понимаю что вопросы глупые, но без вашей помощи не разберусь

Сообщение отредактировал AR84Пятница, 12.02.2016, 09:37

 

Ответить

Wasilich

Дата: Пятница, 12.02.2016, 09:39 |
Сообщение № 14

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

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

Сообщений: 1232


Репутация:

326

±

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


2003

А макрос чё, не подходит, или не смотрел?

PS: Понял, Выбор Да-Нет не разовый. Значит надо каждый раз переписывать данные.
Ну в общим исправил. Мож пригодится. :)
[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range(«D1:D2000»), Target) Is Nothing Then
   Sheets(«1»).Range(«B3:D45»).ClearContents
   Dim s&, i&
   s = 3
   For i = 3 To Range(«D» & Rows.Count).End(xlUp).Row
     If Cells(i, 4) = «Да» Then
       Sheets(«1»).Cells(s, 2) = Cells(i, 2)
       Sheets(«1»).Cells(s, 3) = Cells(i, 3)
       s = s + 1
     End If
   Next
End If
End Sub

[/vba]

Сообщение отредактировал WasilicПятница, 12.02.2016, 10:21

 

Ответить

китин

Дата: Пятница, 12.02.2016, 09:43 |
Сообщение № 15

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

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

Сообщений: 6973


Репутация:

1063

±

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


Excel 2007;2010;2016

ну это уже проще обычная

Код

=ЕСЛИ(ЕНД(ИНДЕКС(Регистрация!$B$3:$B$50;ПОИСКПОЗ(‘1’!$C3;Регистрация!$C$3:$C$50;0)));»»;ИНДЕКС(Регистрация!$B$3:$B$50;ПОИСКПОЗ(‘1’!$C3;Регистрация!$C$3:$C$50;0)))

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

_LABOR_3.xls
(42.5 Kb)


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

 

Ответить

_Boroda_

Дата: Пятница, 12.02.2016, 10:29 |
Сообщение № 16

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

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

Сообщений: 16618


Репутация:

6465

±

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


2003; 2007; 2010; 2013 RUS

В куске ИНДЕКС(Регистрация!C$3:C$50 измените буквы столбца («С») на нужные.

Что то я в нее пытаюсь вникнуть и никак

Поясню немного.
1. ЕСЛИ(Регистрация!D$3:D$50=»Да»;Регистрация!A$3:A$50) — когда в Д написано «Да», то берем значения из А, иначе — значение ЛОЖЬ. Получаем массив из номеров из столбца А и текста ЛОЖЬ (слово ЛОЖЬ — в данном случае рассматривается именно как текст — с ним не производилось никаких арифметических операций).
2. СТРОКА(A1) — дает номер строки ячейки А1 — то есть единицу. При протягивании формулы вниз ссылка изменится и в следующей ячейке будет уже А2 и, следовательно, СТРОКА(А2) даст нам 2. И так далее вниз 3, 4, 5, …
3. НАИМЕНЬШИЙ(ЕСЛИ(Регистрация!D$3:D$50=»Да»;Регистрация!A$3:A$50);СТРОКА(A1)) переписываем как НАИМЕНЬШИЙ(п.1;п.2), получаем для первой записи первый наименьший из массива, полученного в п.1, для второй записи — второй наименьший, … Функция НАИМЕНЬШИЙ игнорирует текст, поэтому мы получаем только цифры. Например, если массив из п.1 у нас получился 1:ЛОЖЬ:ЛОЖЬ:4:5, то первый наименьший = 1, второй = 4, третий = 5. То есть для каждой строки в итоговой таблице мы получаем номер по порядку той соответствующей строки в исходной таблице, где стоит «Да».
4. ИНДЕКС(Регистрация!C$3:C$50;п.3) — из массива столбца С выковыриваем то, что получили в п.3.
6. A3>СЧЁТЕСЛИ(Регистрация!D$3:D$50;»Да»);»»;… — если «Да» в исходнике закончились, то выводим пусто


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

 

Ответить

AR84

Дата: Пятница, 12.02.2016, 11:14 |
Сообщение № 17

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

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

Сообщений: 12


Репутация:

0

±

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


Excel 2003

Эх…..вижу что макросом проще написано, но я в них совсем ноль….пытаюсь изучить что делает формула и как ее потом можно усовершенствовать и применить (файлик будет расти, дополняться поля и другие формулы)…Спасибо Boroda за подробное объяснение формулы, хотелось бы такую же информацию от Wasilic по поводу его макроса =)

ПС. осилю формулы, перейду к макросам….

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

 

Ответить

Wasilich

Дата: Пятница, 12.02.2016, 11:47 |
Сообщение № 18

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

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

Сообщений: 1232


Репутация:

326

±

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


2003

хотелось бы такую же информацию от Wasilic

Даже не знаю как пояснять.
Если в колонке D1-D2000 (диапазон можно поменять на любой) произошли какие то изменения, выполняется процедура.
Очищается таблица на листе «1» в диапазоне В3: D45 (ну как в примере, можно заменить на нужный). Задаются числовые переменные s, i. s=3 – начальная строка записи на листе «1». Цикл перебора “For i” начиная с 3-й строки до последней заполненной, проверяет колонку 4 то есть «D». И если в ней встречается «Да», переписывает данные в лист «1».
Как то так.

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

 

Ответить

AR84

Дата: Понедельник, 15.02.2016, 11:51 |
Сообщение № 19

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

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

Сообщений: 12


Репутация:

0

±

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


Excel 2003

Спасибо всем кто откликнулся за помощь. Решил свою задачу с помощью макроса Wasilic, подредактировал под свои нужды. Осталось сообразить как сделать печатную форму(открою новую тему).

 

Ответить

Содержание

  1. Excel копирование строки при условии
  2. суббота, 29 сентября 2018 г.
  3. Excel Копирование ячеек с условием без макросов
  4. Excel копирование строки при условии
  5. Excel копирование строки при условии

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

— Максимальный размер файла ограничен размером в 100 Кб.

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

— Максимальный размер файла ограничен размером в 100 Кб.


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

Ответить

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

— Максимальный размер файла ограничен размером в 100 Кб.

Источник

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

Здравствуйте, уважаемые специалисты))
Вот такая вот появилась задачка:
Есть файл, в котором есть 4 листа: 3 листа — таблицы откуда должны Копироваться данные при определенном условии, 4-й лист (для копирования) — куда должны копироваться эти данные.
Условие:
В таблицах есть столбец LEXWARE: если в этом столбце значения принимают 555555 или 444444, то строку нужно автоматически копировать в таблицу «Для Копирования» (по порядку — без пустых строк).

НО, наверно самое важное, хотел бы узнать, как сделать, чтобы при добавлении нового листа — такой же таблицы с данными и столбцом LEXWARE, данные также бы копировались в таблицу «Для Копирования».

Задачу, наверно лучше решить с помощью макросов. Но если возможно, с помощью формул — не откажусь и от такого варианта решения)

Здравствуйте, уважаемые специалисты))
Вот такая вот появилась задачка:
Есть файл, в котором есть 4 листа: 3 листа — таблицы откуда должны Копироваться данные при определенном условии, 4-й лист (для копирования) — куда должны копироваться эти данные.
Условие:
В таблицах есть столбец LEXWARE: если в этом столбце значения принимают 555555 или 444444, то строку нужно автоматически копировать в таблицу «Для Копирования» (по порядку — без пустых строк).

НО, наверно самое важное, хотел бы узнать, как сделать, чтобы при добавлении нового листа — такой же таблицы с данными и столбцом LEXWARE, данные также бы копировались в таблицу «Для Копирования».

Задачу, наверно лучше решить с помощью макросов. Но если возможно, с помощью формул — не откажусь и от такого варианта решения) biomirror

Сообщение Здравствуйте, уважаемые специалисты))
Вот такая вот появилась задачка:
Есть файл, в котором есть 4 листа: 3 листа — таблицы откуда должны Копироваться данные при определенном условии, 4-й лист (для копирования) — куда должны копироваться эти данные.
Условие:
В таблицах есть столбец LEXWARE: если в этом столбце значения принимают 555555 или 444444, то строку нужно автоматически копировать в таблицу «Для Копирования» (по порядку — без пустых строк).

НО, наверно самое важное, хотел бы узнать, как сделать, чтобы при добавлении нового листа — такой же таблицы с данными и столбцом LEXWARE, данные также бы копировались в таблицу «Для Копирования».

Задачу, наверно лучше решить с помощью макросов. Но если возможно, с помощью формул — не откажусь и от такого варианта решения) Автор — biomirror
Дата добавления — 04.03.2016 в 14:29

KuklP Дата: Пятница, 04.03.2016, 15:57 | Сообщение № 2
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

biomirror Дата: Пятница, 04.03.2016, 16:10 | Сообщение № 3
KuklP Дата: Пятница, 04.03.2016, 16:11 | Сообщение № 4

Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

biomirror Дата: Пятница, 04.03.2016, 16:41 | Сообщение № 5
KuklP Дата: Пятница, 04.03.2016, 16:47 | Сообщение № 6
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

biomirror Дата: Пятница, 04.03.2016, 16:58 | Сообщение № 7

1. Эммм. странно. Почему куда ни попадя. Нельзя сделать так, чтобы было все тоже самое, что сейчас, — только без вызова макроса или нажатия на кнопку?
2. Пробовал:
а)в Файле есть скрытый лист, при его «открытии» и внесении в него значения «555555» — данные из строки не копируются.
б) создал новый лист, ввел значение 555555 вышла ошибка: RunTime error ‘1004’ Метод AutoFilter из класса Range завершен некорректно

Сильно извиняюсь, хотел бы еще узнать, что значит каждая строчка в коде, а то вот ошибка вышла, а я даже не знаю, как ее исправить))

1. Эммм. странно. Почему куда ни попадя. Нельзя сделать так, чтобы было все тоже самое, что сейчас, — только без вызова макроса или нажатия на кнопку?
2. Пробовал:
а)в Файле есть скрытый лист, при его «открытии» и внесении в него значения «555555» — данные из строки не копируются.
б) создал новый лист, ввел значение 555555 вышла ошибка: RunTime error ‘1004’ Метод AutoFilter из класса Range завершен некорректно

Сильно извиняюсь, хотел бы еще узнать, что значит каждая строчка в коде, а то вот ошибка вышла, а я даже не знаю, как ее исправить)) biomirror

Сообщение 1. Эммм. странно. Почему куда ни попадя. Нельзя сделать так, чтобы было все тоже самое, что сейчас, — только без вызова макроса или нажатия на кнопку?
2. Пробовал:
а)в Файле есть скрытый лист, при его «открытии» и внесении в него значения «555555» — данные из строки не копируются.
б) создал новый лист, ввел значение 555555 вышла ошибка: RunTime error ‘1004’ Метод AutoFilter из класса Range завершен некорректно

Сильно извиняюсь, хотел бы еще узнать, что значит каждая строчка в коде, а то вот ошибка вышла, а я даже не знаю, как ее исправить)) Автор — biomirror
Дата добавления — 04.03.2016 в 16:58

KuklP Дата: Пятница, 04.03.2016, 17:48 | Сообщение № 8
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

biomirror Дата: Пятница, 04.03.2016, 18:17 | Сообщение № 9

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

Эмм. я не спец. в эксель, обычный пользователь. Как я вижу процесс копирования: на листе в столбце есть определенное значение => строка переносится на другой лист.

Просто обозначил, что есть проблема, с которой самостоятельно не могу справиться. Зачем к словам-то цепляться.

Но, спасибо, за то, что уже сделали

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

Эмм. я не спец. в эксель, обычный пользователь. Как я вижу процесс копирования: на листе в столбце есть определенное значение => строка переносится на другой лист.

Просто обозначил, что есть проблема, с которой самостоятельно не могу справиться. Зачем к словам-то цепляться.

Но, спасибо, за то, что уже сделали biomirror

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

Эмм. я не спец. в эксель, обычный пользователь. Как я вижу процесс копирования: на листе в столбце есть определенное значение => строка переносится на другой лист.

Просто обозначил, что есть проблема, с которой самостоятельно не могу справиться. Зачем к словам-то цепляться.

Но, спасибо, за то, что уже сделали Автор — biomirror
Дата добавления — 04.03.2016 в 18:17

KuklP Дата: Пятница, 04.03.2016, 18:32 | Сообщение № 10

Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

biomirror Дата: Пятница, 04.03.2016, 18:53 | Сообщение № 11

Во, во во, все, понял 😀
Единственное, в скрытом листе, есть столбец LEXWARE. Почему тогда с этого листа строки не копируются, когда он становится открытым?

Во, во во, все, понял 😀
Единственное, в скрытом листе, есть столбец LEXWARE. Почему тогда с этого листа строки не копируются, когда он становится открытым?

Во, во во, все, понял 😀
Единственное, в скрытом листе, есть столбец LEXWARE. Почему тогда с этого листа строки не копируются, когда он становится открытым?

KuklP Дата: Пятница, 04.03.2016, 19:12 | Сообщение № 12
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

KuklP Дата: Пятница, 04.03.2016, 19:18 | Сообщение № 13
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

KuklP Дата: Пятница, 04.03.2016, 19:34 | Сообщение № 14
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

biomirror Дата: Пятница, 04.03.2016, 19:51 | Сообщение № 15

Видимо слова «такой же таблицы с данными» были лишними.

Я вбивал в столбец LEXWARE 55555 и другие данные в другие столбцы. Но строка, в которую я вбивал 55555 не скопировалась в «общую» таблицу.

Наверно, правильнее задание будет сформулировать так:
Если в ячейке листа встречается 555555 или 444444, то строку в которой есть это значение, необходимо перенести в таблицу «Для Копирования».
Как это реализовать?

Видимо слова «такой же таблицы с данными» были лишними.

Я вбивал в столбец LEXWARE 55555 и другие данные в другие столбцы. Но строка, в которую я вбивал 55555 не скопировалась в «общую» таблицу.

Наверно, правильнее задание будет сформулировать так:
Если в ячейке листа встречается 555555 или 444444, то строку в которой есть это значение, необходимо перенести в таблицу «Для Копирования».
Как это реализовать? biomirror

Видимо слова «такой же таблицы с данными» были лишними.

Я вбивал в столбец LEXWARE 55555 и другие данные в другие столбцы. Но строка, в которую я вбивал 55555 не скопировалась в «общую» таблицу.

Наверно, правильнее задание будет сформулировать так:
Если в ячейке листа встречается 555555 или 444444, то строку в которой есть это значение, необходимо перенести в таблицу «Для Копирования».
Как это реализовать? Автор — biomirror
Дата добавления — 04.03.2016 в 19:51

KuklP Дата: Пятница, 04.03.2016, 21:20 | Сообщение № 16
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

biomirror Дата: Пятница, 04.03.2016, 22:53 | Сообщение № 17

Ааа. а где файл)) Попробовал макрос из #14 — почему-то не копирует у меня со скрытого листа.

Ааа. а где файл)) Попробовал макрос из #14 — почему-то не копирует у меня со скрытого листа.

Ааа. а где файл)) Попробовал макрос из #14 — почему-то не копирует у меня со скрытого листа.

KuklP Дата: Пятница, 04.03.2016, 23:03 | Сообщение № 18
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728

Ответить

biomirror Дата: Суббота, 05.03.2016, 09:50 | Сообщение № 19

Да, да, да вот так.
Понял, что вы имели ввиду, когда сказали, что получается полнейшая ахинея — количество столбцов таблицы скрытого листа, откуда копируются данные, не совпадает с количеством столбцов таблицы, куда копируются данные.
Хотел исправить ситуацию вставкой двух пустых столбцов и их последующим скрытием (думал, что скрипт просто переносит данные из столбца А одного листа в столбец А другого), но скрипт перестал работать. Как сделать, чтобы при вставке двух столбцов (после столбца D)и их последующем скрытии, скрипт работал?

Пробовал добавить лист, со структурой как в листе «Для копирования». Создал, внес в столбец LEXWARE в произвольную строчку 555555. Данные почему-то не копировались. Потом внес в другую строчку — стали копироваться. Ничего не мог понять. Потом только заметил, что в исходной таблице строки должны вносится по порядку, иначе копирования происходить не будет. Можно ли сделать так, чтобы строки копировались, если даже они занесены не по порядку?

Да, да, да вот так.
Понял, что вы имели ввиду, когда сказали, что получается полнейшая ахинея — количество столбцов таблицы скрытого листа, откуда копируются данные, не совпадает с количеством столбцов таблицы, куда копируются данные.
Хотел исправить ситуацию вставкой двух пустых столбцов и их последующим скрытием (думал, что скрипт просто переносит данные из столбца А одного листа в столбец А другого), но скрипт перестал работать. Как сделать, чтобы при вставке двух столбцов (после столбца D)и их последующем скрытии, скрипт работал?

Пробовал добавить лист, со структурой как в листе «Для копирования». Создал, внес в столбец LEXWARE в произвольную строчку 555555. Данные почему-то не копировались. Потом внес в другую строчку — стали копироваться. Ничего не мог понять. Потом только заметил, что в исходной таблице строки должны вносится по порядку, иначе копирования происходить не будет. Можно ли сделать так, чтобы строки копировались, если даже они занесены не по порядку? biomirror

Сообщение Да, да, да вот так.
Понял, что вы имели ввиду, когда сказали, что получается полнейшая ахинея — количество столбцов таблицы скрытого листа, откуда копируются данные, не совпадает с количеством столбцов таблицы, куда копируются данные.
Хотел исправить ситуацию вставкой двух пустых столбцов и их последующим скрытием (думал, что скрипт просто переносит данные из столбца А одного листа в столбец А другого), но скрипт перестал работать. Как сделать, чтобы при вставке двух столбцов (после столбца D)и их последующем скрытии, скрипт работал?

Пробовал добавить лист, со структурой как в листе «Для копирования». Создал, внес в столбец LEXWARE в произвольную строчку 555555. Данные почему-то не копировались. Потом внес в другую строчку — стали копироваться. Ничего не мог понять. Потом только заметил, что в исходной таблице строки должны вносится по порядку, иначе копирования происходить не будет. Можно ли сделать так, чтобы строки копировались, если даже они занесены не по порядку? Автор — biomirror
Дата добавления — 05.03.2016 в 09:50

Источник

Adblock
detector

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

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

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

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

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

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

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

3. В открывшемся диалоговом окне Custom AutoFilter введите конкретный текст в поле за содержит и нажмите OK кнопку.

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

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

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

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

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

объявление выбрать целые строки на основе одинаковых значений

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

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

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

2. Откройте диалоговое окно «Найти и заменить», нажав кнопку Ctrl + F тем временем, затем в диалоговом окне «Найти и заменить» введите конкретный текст в поле Найти то, что и нажмите Найти все кнопку.

Внимание: Вы также можете открыть диалоговое окно «Найти и заменить», нажав Главная > Найти и выбрать > Найти.

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

3. Выделите все найденные ячейки, нажав Ctrl + A ключи и закройте диалоговое окно «Найти и заменить». Теперь все ячейки, содержащие определенный текст, выделяются в определенном столбце.

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


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

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

1. Выберите указанный столбец и щелкните Кутулс > Выберите > Выберите специальные ячейки.

2. В открывшемся диалоговом окне Select Special Cells,

(1) В Тип выбора раздел, проверка Ячейка вариант;
(2) В Конкретный тип раздел, щелкните первое поле и выберите Комплект из раскрывающегося списка, а затем введите указанный текст (в нашем случае введите сумма) в следующее поле;
(3) Щелкните значок Ok кнопка. Затем появляется вторая строка Select Specific Cells, показывающая, сколько ячеек выбрано. Щелкните значок OK чтобы закрыть его.

3. Теперь выбираются ячейки, содержащие определенное значение / текст. Нажмите Ctrl + C ключи для их копирования; выберите ячейку, в которую вы будете вставлять ячейки, и нажмите Ctrl + V ключи.

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% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

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

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

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

Код

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

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

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

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

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

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