![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
![]()
Вообще несколько массивов, наименьший из которых - [5 х 75287520]
... допускал, что есть встроенные методы быстрее чем просто цикл ![]() Кстати, а как тогда сравнить 2 одномерных массива ![]() ![]() Первый массив на 5 элементов, второй на 20.
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах ![]() |
![]() |
![]() |
#12 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Если даже каждый элемент массива занимает всего 1 байт (на самом деле больше), то этот наименьший массив отъедает 359 мегабайт памяти. Объясните, зачем Вы оперируете таким огромным количеством данных (лучше с примером кода), - тогда, возможно, получится найти способ увеличить производительность программы в десятки раз... Просто оптимизацией поиска в данном случае не обойтись. |
|
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 30.01.2008
Сообщений: 314
|
![]()
в иксель (не в VBA) формулы записываются просто..
a1:n555=13 - даст вам массив логических значений.. можно это использовать и в vba ключевые слова: names, evaluate.. но и перебор достаточно быстро работает, если нужно только сравнить.. в vba довольно неплохой компилятор.. Последний раз редактировалось slan; 27.01.2009 в 21:45. |
![]() |
![]() |
#14 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
На листе я понял как - формула массива. А теперь мне в VBA надо узнать, есть ли в диапазоне [a1:b10] значение "1" Какой оператор использовать? чтобы получилось что-то вроде: Код:
|
|
![]() |
![]() |
#15 | |
Форумчанин
Регистрация: 17.10.2008
Сообщений: 239
|
![]() Цитата:
Я попробывал так Код:
и не просто есть но и количество совпадений. формула работает для целых чисел, но достаточно заменить C1-1 на C1-минимальное значение и формула заработает и для нецелых чисел Может быть я не прав |
|
![]() |
![]() |
#16 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Если нужно проверить, есть ли конкретное значение в диапазоне ячеек листа, то чем Вас не устраивает метод Find? Быстро и надежно.
Если же речь идет о проверке принадлежности элемента массиву, то без цикла не обойтись. Вопрос: откуда берется массив? Есть вариант, при формировании массива, формировать еще и коллекцию (или словарь) уникальных значений. Нет ничего проще, проверить есть ли элемент в коллекции. Но при таких объемах???!!!
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
#17 | |
Форумчанин
Регистрация: 30.01.2008
Сообщений: 314
|
![]() Цитата:
пожалуйста - см вложение - в коде листа две процедурки Код:
Последний раз редактировалось slan; 28.01.2009 в 12:54. |
|
![]() |
![]() |
#18 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
![]() |
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
выборка и сравнение из массива | Dennikid | Общие вопросы Delphi | 15 | 03.10.2008 09:25 |
добавление массива чисел в базу | kate158 | БД в Delphi | 3 | 24.09.2008 11:00 |
Перемещение из массива целых чисел... Си | Sota | Помощь студентам | 1 | 01.06.2008 19:51 |
Сравнение чисел с плавающей точкой ? | Ulex | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 12.04.2008 21:14 |
Сортировка массива чисел | Roberto | Помощь студентам | 1 | 02.04.2008 23:19 |