Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 342

Нахождение и подстановка числа из других вкладок по нескольким условиям

18.07.2015, 15:10. Показов 4378. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Помогите пожалуйста сделать задачу.
В задаче будут задействованы столбцы E и S. выделено зелёным цветом
Во вкладках с 1 по 17 такие же столбцы Е и S
Нужно сравнивать значания(текст) в столбце Е со значением в столбце Е во всех других вкладках
Нужно сравнивать значания(числа) в столбце S со значением в столбце S во всех других вкладках
Если эти 2 условия выполнены, то в столбец V вводить значение, которое указано во вкладках напротив(в той же строке)
привожу пример:
Е22 имеет значение THUN - BASEL. Ищем его в других вкладках. Нашлось во вкладке 2 E15
смотрим совпадает ли второе условие. S22 =S22 dj второй вкладке. Значит подставляем значение V15 из второй вкладки в V22 лист1. на данный момент это 0

Заранее большое спасибо!
Файл прикрепил. там всё более понятно:
Вложения
Тип файла: rar Пример2.rar (1.67 Мб, 8 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.07.2015, 15:10
Ответы с готовыми решениями:

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

поиск и подстановка значения по заданным условиям
ВКЛАДКА СВОД. В НЕЙ ЕСТЬ ЯЧЕЙКА полуфабрикат, В КОТОРУЮ НУЖНО ПОДТЯГИВАТЬ ИТОГОВОЕ ЗНАЧЕНИЕ ИЗ ДРУГИХ ВКЛАДОК: ФОТ, ЭЛЕКТРОЭНЕРГИЯ, СЫРЬЕ и...

Суммирование по нескольким условиям
Помогите пожалуйста, необходимо просуммировать данные по нескольким критериям (данные во вложении)

53
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 342
20.07.2015, 17:12  [ТС]
Студворк — интернет-сервис помощи студентам
AntikBantik, вот вы резвый! понять суть не успели. уже накатали макрос. За активность уважение! Но продуктивно было бы если бы вы поняли суть задачи. Попробую ещё раз объяснить. Хотя что объяснять? я же в файле всё объяснял в последнем. Или у вас файл открыть нет возможности?.
Объясняю: нужно искать по 3 условиям: столбцы E R S
(чтоб там значения совпадали), если совпадают по всем ячейкам в данных столбцах, то выводить значение из найденного совпадения теперь уже столбца Y, в столбец Y Лист1. Y не брать в условие, туда нужно выводить из найденного совпадения значение Y!
Я писал выше ещё: "попробую объяснить по порядку. Лист1 я разбил на 17 частей, для того чтобы было удбнее мне проводить свои "опыты". Опыты я провёл! Получил результаты на каждой из 17 частей, на каждой строке и т.д. а теперь нужно данные этих опытов собрать обратно в Лист1. понимаете?"
Вот ещё раз прикрепил файл и там красным выделил задачу и дополнительное объяснение.:
Вложения
Тип файла: rar Пример2с.rar (1.64 Мб, 5 просмотров)
1
 Аватар для AntikBantik
83 / 60 / 21
Регистрация: 03.12.2014
Сообщений: 232
20.07.2015, 17:18
Цитата Сообщение от Oleg395 Посмотреть сообщение

Не по теме:

вот вы резвый!

Не по теме:

и я подметил что у Вас условия меняются быстро. пока писал уже что то поменяли ну лан :drink: проехали )

сейчас изменю в коде
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
20.07.2015, 17:28
Получилось сделать с нормальными ссылками.
Вложения
Тип файла: rar Пример 2гд1.rar (3.29 Мб, 5 просмотров)
0
 Аватар для AntikBantik
83 / 60 / 21
Регистрация: 03.12.2014
Сообщений: 232
20.07.2015, 17:31
теперь верно считает?!
Вложения
Тип файла: rar Пример2.rar (705.7 Кб, 5 просмотров)
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
20.07.2015, 17:55
Ну, уж, до кучи, и не зависящий от названий листов (для трех параметров)
Вложения
Тип файла: rar Пример2e.rar (1.66 Мб, 6 просмотров)
0
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 342
20.07.2015, 20:53  [ТС]
chumich, макрос на 5условий что то не сработал. А вот на 3 условия вроде работает. Но хочется именно на 5 условий. чтоб проверить до конца. да и вообще иметь на 5 условий макрос.
Я прикрепил файл, с недостающими данными, что бы вы смогли доделать на 5 условий и чтобы вкалдки могли иметь любые названия.:
Вложения
Тип файла: rar Пример5 УСЛОВИЙ.rar (1.64 Мб, 6 просмотров)
0
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 342
20.07.2015, 20:59  [ТС]
AntikBantik, ваш макрос тоже работает, НО! в реале он даёт не верное значение. пока руками не исправишь, то что макрос нагадил в столбце V. В общем ваш макрос подставляет правильно числа с столбец Y. сверил сchumich, и получились те же числа. но вот макрос ваш хаотично разбрасывает, а может и не хаотично, различные цифры в столбце V. а в том столбце должны быть формулы. Но я понял это и просто протянул по всему столбцу формулы(диапазон) и результат стал таким же как у chumich. Но всё же! AntikBantik, посмотрите, ваш макрос , и узнайте почему вставляет цифры в столбце V. А также сделайте если можете, чтоб также вставлял ссылки, а не цифры. И конечно же ускорьте свой макрос! Ваш макрос работает 10 минут не меньше, когда как макрос chumich, за 2 минуты улаживается.
А так вам всем огромное спасибо. Вы молодцы!
Да и AntikBantik, ваш макрос по 5 условиям сканировал?
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
20.07.2015, 21:15
Лучший ответ Сообщение было отмечено Oleg395 как решение

Решение

Цитата Сообщение от Oleg395 Посмотреть сообщение
макрос на 5условий что то не сработал
Вы там кое-что неправильно поменяли. Сейчас всё должно работать. На 5 условий. От названия листов не зависит. Ссылки в Y вставляет.
Вложения
Тип файла: rar Пример2ж.rar (1.66 Мб, 14 просмотров)
0
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 342
20.07.2015, 21:39  [ТС]
chumich, Вот это то что надо! В тот раз оказывается по 3 условиям одна строка нашлась ошибочно. тоесть 2 строки были по 3 условиям одинаковые. и только ПЯТЬ условий всё расставили по своим местам.

Добавлено через 4 минуты
chumich, AntikBantik, Попробуем решить другую задачу? А точнее я уже тут задавал на форуме. касан сделал свой макрос к этой задаче. Но он очень долго делает 1 операцию. А их мне нужно десятки тысяч произвести.
в общем вот ссылка на ту тему, где я просил ускорить макрос Касана: https://www.cyberforum.ru/ms-e... ost7882379
Но может кто решит эту задачу, которая в этой теме: Таблицы условий, по которым нужно найти лучший результат другим способом? свой макрос напишите, главное чтобы он быстро работал.
Если что не понятно. Скажите, я попробую объяснить. хотя в той теме я видео записал и выложил на яндексе, где всё рассказываю, что требуется сделать в задаче. Считаю, что задача для вас будет очень интересной.
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
20.07.2015, 21:48

Не по теме:

Цитата Сообщение от Oleg395 Посмотреть сообщение
Вот это то что надо!
Хорошо :yes:



Добавлено через 8 минут

Не по теме:

Цитата Сообщение от Oleg395 Посмотреть сообщение
Попробуем решить другую задачу?
Не сейчас. Будет время, попробую.

0
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 342
20.07.2015, 21:51  [ТС]
chumich, ну не сегодня точно. может завтра? для меня та задача важнее чем была эта. Буду ждать.
0
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 342
27.07.2015, 16:40  [ТС]
chumich, привет! подскажи пожалуйста, как изменить количество проверяемых вкладок. было 17, а теперь у меня 25. как 17 изменит на 25 вкладок? а то я в макросе нашёл все числа 17 и изменил на 25. но макрос не работает теперь
правильней сказать листов, а не вкладок
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
27.07.2015, 16:54
Лучший ответ Сообщение было отмечено Oleg395 как решение

Решение

Цитата Сообщение от Oleg395 Посмотреть сообщение
я в макросе нашёл все числа 17 и изменил на 25. но макрос не работает теперь
Надеюсь в Cells не меняли Нужно было поменять две цифры 17 и одну 18.
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
LastRow = Worksheets(1).Cells(Worksheets(1).Rows.Count, 5).End(xlUp).Row
ReDim mass(LastRow - 14, 6)
For i1 = 15 To LastRow
    mass(i1 - 15, 0) = Worksheets(1).Cells(i1, 5)
    mass(i1 - 15, 1) = Worksheets(1).Cells(i1, 16)
    mass(i1 - 15, 2) = Worksheets(1).Cells(i1, 17)
    mass(i1 - 15, 3) = Worksheets(1).Cells(i1, 18)
    mass(i1 - 15, 4) = Worksheets(1).Cells(i1, 19)
    mass(i1 - 15, 5) = Worksheets(1).Cells(i1, 25)
Next i1
 
ReDim arr(25) 'здесь
For j2 = 2 To 26 'здесь тоже нужно было поменять
    Worksheets(j2).Select
    EndRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 5).End(xlUp).Row
    ReDim listArr(EndRow - 14, 6)
    arr(j2 - 2) = listArr
    For k2 = 15 To EndRow
        arr(j2 - 2)(k2 - 15, 0) = ActiveSheet.Cells(k2, 5)
        arr(j2 - 2)(k2 - 15, 1) = ActiveSheet.Cells(k2, 16)
        arr(j2 - 2)(k2 - 15, 2) = ActiveSheet.Cells(k2, 17)
        arr(j2 - 2)(k2 - 15, 3) = ActiveSheet.Cells(k2, 18)
        arr(j2 - 2)(k2 - 15, 4) = ActiveSheet.Cells(k2, 19)
        arr(j2 - 2)(k2 - 15, 5) = ActiveSheet.Cells(k2, 25)
    Next k2
Next j2
Dim temp As String
For i = 15 To LastRow
    For j = 1 To 25 'здесь
        For k = 0 To UBound(arr(j - 1))
            If mass(i - 15, 0) = arr(j - 1)(k, 0) And mass(i - 15, 1) = arr(j - 1)(k, 1) And mass(i - 15, 2) = arr(j - 1)(k, 2) And mass(i - 15, 3) = arr(j - 1)(k, 3) And mass(i - 15, 4) = arr(j - 1)(k, 4) Then
                temp = "='" & Worksheets(j + 1).Name & "'!Y" & (k + 15)
                mass(i - 15, 5) = temp
            End If
        Next k
    Next j
Next i
 
For i2 = 15 To LastRow
    Worksheets(1).Cells(i2, 25) = mass(i2 - 15, 5)
Next i2
1
5 / 5 / 0
Регистрация: 15.06.2015
Сообщений: 342
27.07.2015, 17:01  [ТС]
chumich, я Replace ALL сделал. Идиот.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2015, 17:01

Поиск по нескольким условиям
Добрый день! С SQL начинаю только разбираться. Опыт есть, но только с запросами. Глобально никогда не вникал. Нужен поиск по нескольким...

Фильтрация по нескольким условиям
Ребята, всем привет! У меня стоит следующая задача, в решении которой прошу вашей помощи! Необходимо сохдать фильтрацию по трем...

Select по нескольким условиям
Уважаемые форумчане) Помогите разобраться с костылями! у меня есть решение но я считаю его сложным и долгим! Давайтепо порядку есть...

Суммирование по нескольким условиям
Уважаемые формучане! Помогите, пожалуйста, с формулой. Необходимо суммировать значения в столбце по двум критериям. Пробовал СУММПРОИЗВ И...

Поиск по нескольким условиям
вот к примеру имеем такую таблицу 1. Салат - еда 2. Салат - кухня 3. Салат - ресторан 4. Нож - кухня 5. Нож - ресторан ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
54
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru