Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual Basic
Перезагрузить страницу Не работает формула
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
dorogo dorogo вне форума
Member
 
Сообщений: 59
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.03.2006
По умолчанию Не работает формула - 02.05.2006, 19:27

Никак не могу понять почему не работает формула
=СМЕЩ(НАИБОЛЬШИЙ(H21:H38;1);1;-6)

Заранее спасибо
Ответить с цитированием
  (#2 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 02.05.2006, 20:19

Потому, что в качестве первого обязательного аргумента стандартной функции рабочего листа =СМЕЩ() должна быть ссылка на ячейку или диапазон ячеек.
Если Вы хотите получить готовую формулу, то просто опишите поставленную задачу.
Ответить с цитированием
  (#3 (permalink)) Старый
dorogo dorogo вне форума
Member
 
Сообщений: 59
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.03.2006
По умолчанию 02.05.2006, 20:29

У меня есть некий массив

A10:A20 идут названия.
B10:E20 значения
F10:F20 идут суммы этих значений

В другом месте листа мне нужно получить следующее
В A1 - значение A10:A20 соответствующее максимальному значению в F10:F20
Ответить с цитированием
  (#4 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 02.05.2006, 21:42

В общем я так и представлял себе Вашу задачу, поэтому успел набросать небольшой пример решения этой задачи. Файл можно скачать здесь …
Хотя на мой взгляд, для передачи подобной информации, лучше использовать приватную переписку.
Ответить с цитированием
  (#5 (permalink)) Старый
dorogo dorogo вне форума
Member
 
Сообщений: 59
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.03.2006
По умолчанию 03.05.2006, 11:35

pashulka - огромное спасибо!

Я, правда, немного изменил одну из предложенных формул
=ИНДЕКС(B21:B38;ПОИСКПОЗ(НАИБОЛЬШИЙ(H21:H38;1);H21 :H38;0);1)
для большей гибкости.

В любом случае без Ваших примеров, у меня ничего бы не получилось
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 03.05.2006, 14:55

На самом деле Вы не изменили мою формулу, так как замена стандартной функции =МАКС() на =НАИБОЛЬШИЙ(…,1) не имеет особого смысла, ввиду того, что результаты, которые они возвращают будут идентичными.

=ИНДЕКС(B21:B38;ПОИСКПОЗ(МАКС(H21:H38);H21:H38;0); 1)
=ИНДЕКС(B21:B38;ПОИСКПОЗ(НАИБОЛЬШИЙ(H21:H38;1);H21 :H38;0);1)
Ответить с цитированием
  (#7 (permalink)) Старый
dorogo dorogo вне форума
Member
 
Сообщений: 59
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.03.2006
По умолчанию 04.05.2006, 11:36

Совершенно верно. Вот только при использовании ф-ции наибольший - можно выбирать "номер" этой наибольшести: самый наибольший, 2-й по наибольшести....

Но я уверен Вам это и без меня известно.
Ответить с цитированием
  (#8 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 04.05.2006, 13:39

Да можно, именно поэтому я сказал, что результаты будет идентичными, только при наибольшей позиции в массиве и даже специально выделили 1. А теперь вернёмся к нашим баранам и я задам законный Вопрос : можно ли назвать формулу, которая при определённых условиях возвращает некорректный результат - улучшенной и гибкой ? Ответ : Конечно же нет. Под определёнными условиями подразумевается наличие в итоговом списке- нескольких идентичных числовых значений, например, в опубликованном примере Итого Петров=Смирнов=1120, А теперь попробуйте использовать свою формулу =ИНДЕКС(A2:A6;ПОИСКПОЗ(НАИБОЛЬШИЙ(F2:F6;2);F2:F6;0 );2)
Ответить с цитированием
  (#9 (permalink)) Старый
dorogo dorogo вне форума
Member
 
Сообщений: 59
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.03.2006
По умолчанию 04.05.2006, 15:30

М-да. Как всегда правы.
По моей формуле Смирнов пролетает
Ответить с цитированием
  (#10 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 04.05.2006, 17:29

Конечно прав, ведь отвечая на вопросы, я как правило, учитываю все капканы, которые могут встретиться при реализации поставленного вопроса и зачастую честно предупреждаю об этом. Другое дело, что многие люди почему-то не хотят читать примечания, постскриптумы и т.п., но это совсем другой разговор. Что касается самой формулы, то вот вариант, который решит проблему повторяющихся числовых значений и его можно назвать более гибким и универсальным.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формула изменения яркости Anonymous Программирование графики 7 02.04.2016 12:46
Формула-1 fatei4eff Спорт 15 15.01.2012 19:43
Формула-1 Veselotix Спорт 12 01.11.2008 10:43
Формула в Exel? mp3 Visual Basic 5 25.07.2007 07:35
Формула Lisenok Prolog 6 20.02.2007 23:54
что здесь:формула, формула массива, или значение? Алек_Л Visual Basic 16 13.02.2007 16:26
формула Sergeant Visual Basic 4 07.07.2006 22:32
Итерационная формула вычисления корня peter_f Алгоритмы 5 22.05.2006 22:37
Excel. Формула выдает не то, что хотелось dorogo Visual Basic 17 20.03.2006 19:07
Формула удовольствия Garik Юмор 0 28.01.2004 15:17
Простейшая формула 2D движка Anonymous Алгоритмы 1 04.03.2003 20:42



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов