|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 21
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ВПР или макрос?27.05.2013, 14:21. Показов 7819. Ответов 18
Метки нет (Все метки)
Уважаемые, добрый день!
Имеется данная табличка. Мне необходимо копировать содержимое строк по порядку, если в первой ячейке строки имеется дата например равная 25.05.2013. Т.е. на чистом листе мы получим:
Вся загвозка в том, что диапазон таблицы должен обязательно быть фиксированным. =ВПР(Дата$;Диапазон$;2;0) =ВПР(Дата$;Диапазон$;3;0) Но так он будет вприть только первую строку, и если тянуть таблицу на чистом листе вниз сами понимаете получим снова первую строку в каждой следующей. А мне нужно содержимое всех строк с этой датой. И чего скрывать, затем нужно такое же содержимое с другой датой. Как быть? Спасибо.
0
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 27.05.2013, 14:21 | |
|
Ответы с готовыми решениями:
18
Аналоги или ускорение ВПР через макрос
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 27.05.2013, 16:26 | |
|
Где-то была UDF ВПР2() - там можно указать каое по счёту совпадение нужно брать.
Но быстрее конечно будет макрос, фильтрующий данные. А вообще, чем фильтр не нравится?
0
|
|
|
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
|
|
| 27.05.2013, 16:59 | |
|
Потестируй
0
|
|
|
81 / 24 / 2
Регистрация: 18.01.2013
Сообщений: 74
|
|
| 27.05.2013, 17:08 | |
|
формула массива:
выделить диапазон, в котором будут ответы (сразу нужное количество ячеек в столбце, можно с запасом), ввести эту формулу, нажать Ctrl + Shift + Enter в формуле $L$2:$L$17 - диапазон со значениями, которые нужно выбирать; K2:K17 - диапазон с условием (у вас это первый столбец); $O$2 - ячейка со значением, которое нужно искать в диапазоне с условием здесь СТРОКА()-4 -4 означает что диапазон с результатом находится на 4 строки ниже, чем диапазон для поиска условий. =ЕСЛИОШИБКА(ИНДЕКС($L$2:$L$17;НАИМЕНЬШИЙ (ЕСЛИ($O$2=K2:K17;СТРОКА(L2:L17)-1;"");СТРОКА()-4));"")
0
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 21
|
|
| 27.05.2013, 20:58 [ТС] | |
|
Привет всем!! Огромное спасибо за ответы. Я бы хотел прояснить ситуацию как можно конкретнее. Поэтому я подготовил точный пример. Во вложении будет файлик, с которым можно будет по экспериментировать.
Вложение 273777 А сейчас я расскажу механику отчета над которым решается вопрос ВПР или Макрос: 1. Имеется некая сводная табличка. Она выгружается автоматически в фаил экселя на первый лист. Вложение 273776 В диапазоне столбцов =F:H находится необходимая нам табличка (=F14:H28) с данными. Не мало важно сказать, что данные в сводной таблице, каждый день выгружаются с совершенно разным набором строк. Т.е. Строк в каждой таблице может добавиться/уменьшится на 2-3, а вот в столбцах таблицы останутся на своих местах. Пример: Вложение 273774 или Вложение 273773 Как видите перемещается наша таблица (=F14:H28) построчно, но остается в своем диапазоне столбцов =F:H 2. Далее как уже необходимо по заданию. Мы должны вытащить из нашей таблички (=F14:H28) Brend и DISC на необходимые нам даты на следующий лист. Вложение 273775 слева 21 справа 22. Главное помнить, что с каждой выгрузкой сводной таблицы, наша табличка перемещается по строчкам, а также может менять их количество. Надеюсь описал процесс понятно Спасибо!P.s. макрос форумчанина показался мне сложным, не могли бы вы прокомментировать код?
0
|
|
|
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
|
|
| 27.05.2013, 20:59 | |
|
Вложения то не загружаются.
1
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 21
|
|
| 27.05.2013, 21:00 [ТС] | |
|
0
|
|
|
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
|
|
| 27.05.2013, 21:04 | |
|
Увы не получается. Прикрепите файлы к сообщению с теми же именами.
0
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 21
|
|
| 27.05.2013, 21:08 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 21
|
|
| 27.05.2013, 21:16 [ТС] | |
|
И еще раз)). Не грузились вложения. Я бы хотел прояснить ситуацию как можно конкретнее. Поэтому я подготовил точный пример. Во вложении будет файлик, с которым можно будет по экспериментировать.
А сейчас я расскажу механику отчета над которым решается вопрос ВПР или Макрос: 1. Имеется некая сводная табличка. Она выгружается автоматически в фаил экселя на первый лист. Вложение 273792 В диапазоне столбцов =F:H находится необходимая нам табличка (=F14:H28) с данными. Не мало важно сказать, что данные в сводной таблице, каждый день выгружаются с совершенно разным набором строк. Т.е. Строк в каждой таблице может добавиться/уменьшится на 2-3, а вот в столбцах таблицы останутся на своих местах. Пример: Вложение 273790 или Вложение 273789 Как видите перемещается наша таблица (=F14:H28) построчно, но остается в своем диапазоне столбцов =F:H 2. Далее как уже необходимо по заданию. Мы должны вытащить из нашей таблички (=F14:H28) Brend и DISC на необходимые нам даты на следующий лист. Вложение 273793 слева 21 справа 22. Главное помнить, что с каждой выгрузкой сводной таблицы, наша табличка перемещается по строчкам, а также может менять их количество. Надеюсь описал процесс понятно Спасибо! P.s. макрос форумчанина показался мне сложным, не могли бы вы прокомментировать код? Вложение 273791
0
|
|
|
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
|
|
| 27.05.2013, 22:00 | |
|
1) На ваш вопрос - ВПР или макрос, мой ответ - макрос.
2) вы показали на вашем примере в файле Excel, что данные копируются с листа Сводная на лист "Выборка" - 1-я дата в столбец В, 2-я дата в столбец М, а их всего 2 даты будет? или дат может быть 50 и копировать их так же нужно через 9 столбцов друг от друга?
0
|
|
|
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
|
|
| 27.05.2013, 22:04 | |
|
Если немного изменить структуру исходных данных (см. лист "Данные" здесь использован динамический диапазон - см Диспетчер имен -Data), то можно обойтись сводной таблицей (лист "Свод данных" )
0
|
|
|
81 / 24 / 2
Регистрация: 18.01.2013
Сообщений: 74
|
|
| 27.05.2013, 22:08 | |
|
вот вариант с формулой массива - на листе выборка проставить нужные даты, в исходном листе данные могут находится в диапазоне со 2-й строки до 50-й (либо увеличить диапазон в формуле)
0
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 21
|
|||||
| 27.05.2013, 23:33 [ТС] | |||||
|
Добавлено через 10 минут Добавлено через 3 минуты Не могли бы более подробно разъяснить, данную формулу, я новичек в Excel. c ЕСЛИОШИБКА все понятно. Хотелось бы понимать, что от для чего и откуда. Спасибо! Первый ваш пост прочитал, есть что добавить? Добавлено через 3 минуты
0
|
|||||
|
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
|
|
| 27.05.2013, 23:48 | |
|
Вот переделал макрос и расписал смысл каждой строчки кода.
0
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 21
|
||
| 28.05.2013, 00:07 [ТС] | ||
|
=ЕСЛИОШИБКА(ИНДЕКС(Сводная!G2:G50;НАИМЕН ЬШИЙ(ЕСЛИ($B$1=Сводная!F2:F50;СТРОКА(Сво дная!G2:G50)-1;"");СТРОКА()-2));"") Почему вы не выбрали ВПР?
0
|
||
|
999 / 358 / 135
Регистрация: 27.10.2006
Сообщений: 764
|
|
| 28.05.2013, 00:16 | |
|
по формулам лучше обрататься к автору формулы.
P.S. По мне лучше макрос, чем формула, допустим у вас будет 10.000 значений. Макрос очень быстро скопирует данные на другой лист, а формула .... она должна постоянно быть записана в ячейках листа, она постоянно будет пересчитываться и "подвешивать" файл, её нужно постоянно контролировать - до какой строки она протянута (вдруг данных больше, чем протянута формула) и т.д. Макрос написал один раз и забыл. Нажал Alt+F8, запустил макрос - результат готов и ничего не "подвешивает" файл.
0
|
|
|
81 / 24 / 2
Регистрация: 18.01.2013
Сообщений: 74
|
|
| 28.05.2013, 10:25 | |
|
ВПР не выбрала, т.к. он по умолчанию берет только первое найденное значение.
=ЕСЛИОШИБКА(ИНДЕКС(Сводная!G2:G50;НАИМЕН ЬШИЙ(ЕСЛИ($B$1=Сводная!F2:F50;СТРОКА(Сво дная!G2:G50)-1;"");СТРОКА()-2));"") ИНДЕКС - возвращает значение из исходной таблицы, которое находится на пересечении указанной строки и стобца (столбец у нас один, поэтому мы его дополнительно не указываем), здесь Сводная!G2:G50 - исходная таблица, из которой нам нужно значение; НАИМЕНЬШИЙ(ЕСЛИ($B$1=Сводная!F2:F50;СТРО КА(Сводная!G2:G50)-1;"");СТРОКА()-2)- возвращает наименьший номер строки, в которой выполняется наше условие: ЕСЛИ() - проверка нашего условия, СТРОКА(Сводная!G2:G50)-1 -вернет номер строки (в выбранном диапазоне) в которой это условие выполнилось (все варианты) (минус 1, т.к. 1 первую строку занимает заголовок - чтобы первая строка выбранного диапазона обозначилась как 1-я строка); СТРОКА()-2 - этот параметр в указывает какой по порядку наименьший номер строки нам нужен (-2, т.к. 2 первые строки листа занимает заголовок) поскольку это формула массива, то получается что для первой строки, в которой должен быть результат, выводится значение для первого выполнения условия, для второй строки - второе выполнение условия и т.д.
0
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 21
|
|
| 30.05.2013, 00:33 [ТС] | |
|
Большое спасибо ребята, тему можно закрывать. Оба совета научился и буду использовать
0
|
|
| 30.05.2013, 00:33 | |
|
Помогаю со студенческими работами здесь
19
Макрос ВПР с перебором множества одинаковых файлов ГПР или ВПР Макрос хранимый в отдельном файле или макрос на обновление макросов Макрос с впр
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|