Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.02.2008, 11:27   #1
Volodymyr
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 70
По умолчанию касательно выборки по 2 критериям

добрый день!

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

и есть вторая база. в которой есть полная информация по всем владельцам квартир. с пошадами и номерами квартир.

вопрос: как сделать поиск в таблице 2 по критериям фамилия и площать, чтобы в таблице 1 вставить номера?

заранее благодарю за помощь,
Владимир.
Volodymyr вне форума
Старый 28.02.2008, 15:58   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Для работы предлагаемой ниже формулы необходимо выполнить несколько предварительных действий и условий по организации (расположению) данных.
формула выглядит так:
=СМЕЩ(начало;СУММПРОИЗВ((RC[-2]=фио)*(RC[-1]=пло)*СТРОКА(фио))-СТРОКА(начало);кол-1)
возвращает она номер квартиры из исходной бызы для записи в которой фамилия и площадь совпадают с запрошенными.

В исходной базе необходимо:
1. Отметить в колонке А ячейку, той строки, где начинаются записи и присвоить ей имя "начало"
2. Отметить диапазон ячеек с фамилиями и присвоить ему имя "фио"
3. Отметить диапазон ячеек с площадями квартир и присвоить ему имя "пло".
Обратите внимание фио и пло должны быть одномерными массивами одинакового размера.

на листе, где фамилии и площади:
1. в любой свободной ячейке указываем число, равное номеру столбца исходной базы, в котором находятся номера квартир. присваиваем этой ячейке имя "кол"
2. предполагается, что на этом листе в некой колонке находятся фамилии, в колонке правее фамилий - площади квартир, а колонка еще правее свободна - вот в нее и копируем формулу. (см.вверху сообщения)

примечание:
формула даст неправильный результат, если в исходной базе есть записи с одинаковими и фамилиями и площадями.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 28.02.2008, 18:55   #3
Volodymyr
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 70
По умолчанию

спасибо за предложенный вариант!

Но есть вопрос, а как быть, если в исходной базе все таки есть записи с одинаковыми владельцами и площадами (как пример: один человек имеет несколько квартир с одинаковой площадью), отличаются только номера квартир.

все формулы, которые я просмотрел делают поиск до 1-й строки, удовлетворяющей условию.

наверно тут должен быть цикл? но как реализоать его - я не в курсе.

прошу знающих людей подсказать.

заранее благодарю,
Владимир.
Volodymyr вне форума
Старый 28.02.2008, 22:40   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Есть такой вариант.
В самом значении площади квартиры добавляем 1/10 или 1/100 кв.м, в форматах ячеек задаем нужную точность отображения данных.
Т.е. визуально - площади идентичные, реально немного отличаются.

И все поедет, как в лучшем виде

Успехов
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 28.02.2008, 22:43   #5
Volodymyr
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 70
По умолчанию

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

спасибо.
Volodymyr вне форума
Старый 29.02.2008, 07:23   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. На листе 1 - база, на листе 2 - фамилии и площади.
Запустите макрос "Poisk". В столбец "C" листа 2 будут помещены найденные номера квартир. Так нужно?
Вложения
Тип файла: rar Квартиры.rar (8.0 Кб, 33 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 29.02.2008, 10:06   #7
Volodymyr
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 70
По умолчанию

спасибо за предложенный вариант.
это именно то, что меня интересовало.
Volodymyr вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
касательно вывода данных в Word Volodymyr Microsoft Office Access 11 28.07.2008 15:42
касательно выделения столбцов Volodymyr Microsoft Office Excel 2 20.07.2008 11:47
помощь в access вызов выборки Doget Помощь студентам 4 04.07.2008 09:53
СЧЁТЕСЛИ по 2 и более критериям Gadar Microsoft Office Excel 6 27.05.2008 09:25
сохранение результата выборки из DBF файла в DBF файл с такой же структурой таблицы GazimagomedovM БД в Delphi 5 06.11.2007 17:58