Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Программирование, связанное с MS Office > Поиск номера элемента в массиве |
Автор: temr 28.1.2008, 21:28 |
Добрый день всем стоит следующая задача есть массив array(100,200,3) во вторую строчку массива записаны имена как можно в вба написать процедуру поиска номера элемента по названию последнего без перебора всего массива Заранее благодарю Тимур |
Автор: bilya 29.1.2008, 02:52 |
temr, что такое![]() У вас двумерный массив? При чем тут тогда ряд? |
Автор: temr 29.1.2008, 08:10 |
Согласен, дезинформировал) массив трехмерный - массив(год, месяц, день) пусть первое измерение это год второе месяц третье день пусть у нас данные за 2005 и 2006 годы как в этом массиве найти индекс допустим февраля 2005 года без перебора всех данных |
Автор: abyrval 29.1.2008, 13:41 |
Судя по размерам массива... ![]() может, я не понял вопрос, но поиск подразумевает перебор данных ![]() |
Автор: temr 29.1.2008, 14:17 |
Согласен может и хватит но давайте сначала пример есть файл в котором содержаться три столбца первый столбец дата , второй столбец имя человека, третий его накопленный доход 2006 ваня 10 2006 оля 20 2006 катя 15 2007 катя 20 2007 юля 10 2007 ваня 20 я хочу найти доход вани с 2006 по 2007 год как я могу найти индекс вани на 2006 год ? Добавлено через 2 минуты и 32 секунды По поводу перебора я могу решить поставленную задачу перебором второго столца за 2006 год но как мне кажеться это займет больше времени нежели использование функции типа Match или Vlookup |
Автор: abyrval 29.1.2008, 14:27 | ||
чет я с годами не понял снят вопрос |
Автор: temr 29.1.2008, 14:30 |
Забыл добавить я формирую массив array(year,name,1) где year годы name имена 1- накопленный доход и поиск нужно выполнить в этом массиве |
Автор: Akina 29.1.2008, 15:13 |
Первый вопрос - почему эти данные хранятся в массиве? Массив категорически не предназначен для выполнения операций, которые тебе требуются. |
Автор: temr 29.1.2008, 15:29 |
to Akina Хранить данные в массиве мне необходимо из-за поставленной задачи а она заключается в следующем есть файл 300 мегабайт в котором хроняться таблицы в хоторых по датам раскиданы уникальные записи мне нужно после формирования массива вывести таблицу в которой по алгоритму описанному выше(пример с ваней) я бы формировал таблицу. Если я напрямую буду выводить данные каждой промежуточной операции в экселевский лист то это будет долго а во вторых сам файл в конечном итоге станет похожего размера что и исходник Встречный вопрос а почему он не предназначен для таких операций ? если у меня есть нужный индекс записи массива то не проще ли выполнить промежуточные операции в нем ? |
Автор: temr 29.1.2008, 16:03 |
Всем спасибо проблему решил с помощью Scripting.Dictionary |
Автор: igor_123 29.1.2008, 19:27 |
а почему бы не положить данные в БД какую нибудь и не делать из неё запросы ??? |
Автор: temr 4.2.2008, 11:56 | ||
Для этого нужно создать БД, а это тема другой ветки ![]() |