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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2012, 20:29   #11
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Цитата:
Сообщение от agregator Посмотреть сообщение
Понял, что лучше применять =ПРОСМОТР(9E+307;1/A2:AE2;A1:AE1). Кто нибудь может объяснить почему формула выдает результат 11 в прилагаемом примере4, т.к. если я правильно понял логику, результат должен быть 13, ну хотя бы 12, но 11
А что вы хотите получить?
Цитата:
Номер первого столбца значение которого больше нуля если смотреть справа налево.
Тогда используйте:
Код:
=ПРОСМОТР(9E+307;1/A2:AE2;A1:AE1)
=1/0,1 сколько получится? Больше ведь чем 1.
Выделите 1/A2:AE2 и нажмите F9 - увидите получившийся массив 1/A2:AE2

Последний раз редактировалось ZORRO2005; 06.07.2012 в 20:33.
ZORRO2005 вне форума Ответить с цитированием
Старый 06.07.2012, 20:31   #12
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

В данном случае единица не является числом превышающим числа в просматриваемом векторе, поэтому результат не предсказуем

Если нужна только позиция последнего ненулевого значения, то можно еще так (формула массива):
Код:
=ПОИСКПОЗ(2;1/(A2:AE2<>0))
здесь двойка всегда будет больше любого числа в просматриваемом векторе, поэтому вернется позиция последнего ненулевого значения
MCH вне форума Ответить с цитированием
Старый 06.07.2012, 20:38   #13
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от agregator Посмотреть сообщение
...лучше применять =ПРОСМОТР(9E+307;1/A2:AE2;A1:AE1)
Верно

Цитата:
Сообщение от agregator Посмотреть сообщение
...почему формула выдает результат 11 в прилагаемом примере4, т.к. если я правильно понял логику, результат должен быть 13, ну хотя бы 12, но 11?
Функция ПРОСМОТР умеет искать как точное, так и неточное совпадение. Причём сначала ищется точное, а потом уже неточное. Вот что происходит в вашем примере. Задавая искомое значение равное 1 Вы должны понимать, что если оно есть в просматриваемом массиве, то он должен быть упорядочен по возрастанию, иначе функция ПРОСМОТР может вернуть неверный результат, о чём написано в справке. Так и происходит в вашем случае (в массиве три единицы). Задав число больше 1 Вы получите искомые 13. Что бы не попадать в такие ситуации и используется число 9E+307, как я и указывал в статье по ссылке предоставленной уважаемым Zorro2005, вероятность иметь такое число в таблице практически нулевая, поэтому формула будет возвращать корректный результат
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 06.07.2012, 20:53   #14
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 370
По умолчанию

MCH, спасибо. Проверил, работает. Спасибо всем за объяснения.

Последний раз редактировалось agregator; 06.07.2012 в 21:18.
agregator вне форума Ответить с цитированием
Старый 06.07.2012, 21:55   #15
moglby
Новичок
Джуниор
 
Регистрация: 24.06.2012
Сообщений: 1
По умолчанию

Подскажите как выполнить(написать формулу) интерполяцию табличных даннных по 3-м заданным значениям.
Вложения
Тип файла: rar Книга1 Интерполяция.rar (2.1 Кб, 12 просмотров)
moglby вне форума Ответить с цитированием
Старый 07.07.2012, 16:28   #16
Михаил С.
Пользователь
 
Регистрация: 02.06.2010
Сообщений: 57
По умолчанию

А что Вы хотите найти в данном случае?
Функция ПРОСМОТР() выбирает ближайшее меньшее (или последнее) только в том случае, если нет равного искомому. Если есть искомое - оно выбирает искомое. У Вас искомых три, массив не отсортирован - результат непредсказуем.


зы.
Жаль, нельзя удалить сообщение - не видел вторую страницу

Последний раз редактировалось Михаил С.; 07.07.2012 в 16:31. Причина: Опять с отеом опаздал.
Михаил С. вне форума Ответить с цитированием
Старый 07.07.2012, 16:36   #17
Михаил С.
Пользователь
 
Регистрация: 02.06.2010
Сообщений: 57
По умолчанию

Цитата:
Сообщение от moglby Посмотреть сообщение
Подскажите как выполнить(написать формулу) интерполяцию табличных даннных по 3-м заданным значениям.
Не совсем понято:
1. Каким боком Ваш вопрос относится к данной теме?
2. Что именно нужно найти.
Михаил С. вне форума Ответить с цитированием
Старый 07.07.2012, 23:48   #18
ShAM66
Форумчанин
 
Регистрация: 24.02.2012
Сообщений: 160
По умолчанию

Ребята, прошу сильно не пинать. Хочется для себя поставить точку в данном вопросе.
Реплика Сергея:
Цитата:
Функция ПРОСМОТР умеет искать как точное, так и неточное совпадение. Причём сначала ищется точное, а потом уже неточное. Вот что происходит в вашем примере. Задавая искомое значение равное 1 Вы должны понимать, что если оно есть в просматриваемом массиве, то он должен быть упорядочен по возрастанию, иначе функция ПРОСМОТР может вернуть неверный результат, о чём написано в справке. Так и происходит в вашем случае (в массиве три единицы). Задав число больше 1 Вы получите искомые 13.
Функция ПРСМОТР(1;...), где ... массив 1 и 0, выдаст непредсказуемый результат, т.к. массив не упорядочен и 1 может быть несколько.
При тех же условиях функция ПРОСМОТР(2;...) выдаст последнюю 1 в массиве???
Еще раз прошу прощения и спасибо!
ShAM66 вне форума Ответить с цитированием
Старый 08.07.2012, 06:13   #19
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 370
По умолчанию

ShAM66, функция =ПРОСМОТР(2;A3:AE3;A4:AE4) не найдёт совпадений и выдаст последнюю ячейку в массиве значение которой меньше 2, т.к. последняя ячейка в массиве AE3 равна 0, то она выдаст AE4, т.е. 31.
функция =ПРОСМОТР(2;1/A3:AE3;A4:AE4) выдаст последнюю 1 в массиве, т.к. #ДЕЛ/0! больше 2.
Вложения
Тип файла: rar Пример2.1.rar (2.5 Кб, 7 просмотров)
agregator вне форума Ответить с цитированием
Старый 09.07.2012, 00:58   #20
ShAM66
Форумчанин
 
Регистрация: 24.02.2012
Сообщений: 160
По умолчанию

Я ожидал всего, но только не
Цитата:
#ДЕЛ/0! больше 2
Это почему?
ShAM66 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выяснить, является ли последовательность цифр натурального числа при просмотре их справа налево возрастающей последовательностью Al'f!ra Паскаль, Turbo Pascal, PascalABC.NET 2 05.03.2012 19:13
Вывод списка символов справа налево 5 раз подряд и исключить вывод цифр Gareek Помощь студентам 2 23.12.2011 21:41
Возможен ли поиск справа налево в Exel? Dima_com Microsoft Office Excel 9 30.11.2011 18:03
Как сделать так, чтобы когда вводишь символы, текст двигался справа налево? gylayko Помощь студентам 7 03.11.2011 20:56
Найти числа,которые читаются слева-направо и справа-налево одинаково(например, 1001). Паскаль NikLik Помощь студентам 8 22.11.2007 23:00