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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2012, 10:55   #1
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию Вопрос по функции ПОИСКПОЗ

Добрый день, уважаемые!
В случае если тип сопоставления функции ПОИСКПОЗ = -1, то функция находит наименьшее значение, которое больше или равно значению аргумента. Но значения просматриваемого массива должны быть упорядочены по убыванию. Возможно ли как-то обойти данное условие модернизировав функцию ПОИСКПОЗ? Либо применить другую функцию/сочетание функций, чтобы возвращалась ближайшая позиция элемента, значение которого больше или равно значению аргумента.
MaxxVer вне форума Ответить с цитированием
Старый 04.09.2012, 11:46   #2
ShAM66
Форумчанин
 
Регистрация: 24.02.2012
Сообщений: 160
По умолчанию

Как вариант. Смотрите в файле (если правильно понял).
Вложения
Тип файла: zip Замена ПОИСКПОЗ.zip (6.1 Кб, 32 просмотров)
ShAM66 вне форума Ответить с цитированием
Старый 04.09.2012, 11:53   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
ПОИСКПОЗ = -1, то функция находит наименьшее значение, которое больше или равно значению аргумента
Цитата:
чтобы возвращалась ближайшая позиция элемента, значение которого больше или равно значению аргумента
В театре кукол Образцова у конферансье была замечальная фраза:
"любовь, любовь, любовь... - эти три понятия..."

давайте разберемся, чем отличается то, что ищет поискпоз с -1 в сортированном убывающем списке, от того, что хотите найти Вы модернизируя (сочетая) функции. у Вас список сортирован в обратном порядке и Вы хотите найти то, что описали?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.09.2012, 13:27   #4
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Прошу прощения, вероятно я некорректно описал задачу.
Постараюсь корректнее: формула должна выполнить поиск указанного элемента в диапазоне ячеек и возвратить относительную позицию ближайшего наименьшего элемента в диапазоне.
To ShAM66: формула возвращает значение, а мне бы хотелось позицию в массиве.
MaxxVer вне форума Ответить с цитированием
Старый 04.09.2012, 13:45   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

MaxxVer,

если бы Вы приложили файл с примером, ответ уже был бы.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 04.09.2012, 13:45   #6
ShAM66
Форумчанин
 
Регистрация: 24.02.2012
Сообщений: 160
По умолчанию

Цитата:
To ShAM66: формула возвращает значение, а мне бы хотелось позицию в массиве.
К значению уже можно применить "точный" ПОИСКПОЗ (тоже формула массива).
Код:
=ПОИСКПОЗ(МИН(ЕСЛИ(A4:A26-A1<=0;"";A4:A26));A4:A26;)
ShAM66 вне форума Ответить с цитированием
Старый 04.09.2012, 14:32   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

продолжим.

1. а если в диапазоне есть совпадение, тогда позицию чего возвращать?
2. данные сортированы, если да, то в каком порядке?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.09.2012, 14:48   #8
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Игорь, как я понял ТС, то ему нужен порядковый номер первого значения, удовлетворяющего условию (больше или равно) в несортированном массиве.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 04.09.2012, 14:57   #9
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

To Казанский: я посчитал что вопрос может быть решен теоретически (на импровизированных данных), но если пример поможет, то прошу воспользоваться примером, который любезно выложил ShAM66.

To ShAM66: Да действительно, правда не могу допетрить как работает формула... а хотелось бы т.к. хочу переложить ее потом на VBA (а в VBA у меня знания не густые..).
MaxxVer вне форума Ответить с цитированием
Старый 04.09.2012, 15:30   #10
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Ну да, конечно. Составлять импровизированные данные - не барское это дело.
Из формулы можно исключить арифметическое действие и укоротить:
Код:
=МИН(ЕСЛИ(A4:A26>A1;A4:A26))
=ПОИСКПОЗ(МИН(ЕСЛИ(A4:A26>A1;A4:A26));A4:A26;)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция ИНДЕКС и ПОИСКПОЗ magana Microsoft Office Excel 9 01.04.2013 10:15
Функции ИНДЕКС и ПОИСКПОЗ- результат #H как исправить? Заранее спасибо. Olga_T Microsoft Office Excel 4 02.09.2012 02:32
Заминка с ИНДЕКС + ПОИСКПОЗ Acro Microsoft Office Excel 3 07.12.2011 16:24
функция поискпоз Olya1985 Microsoft Office Excel 1 27.03.2011 12:25
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33