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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2016, 11:56   #1
ArtModern
 
Регистрация: 11.12.2016
Сообщений: 7
По умолчанию Поиск НЕ ПЕРВОГО и НЕ ПОСЛЕДНЕГО значения

Уважаемые коллеги !
Прошу Вашей профессиональной помощи в создании универсальной формулы. Задача, на первый взгляд, очень простая:
Имеется некий набор чисел. Не важно, какое их количество (предположим, что больше 5, пусть их будет 15), в столбец или в строку. Эти числа являются результатом неких вычислений. Среди этого набора чисел повторяется несколько раз одно и тоже значение. Предположим, что оно нам известно. Задача состоит в том, чтобы в этом наборе чисел найти позицию 2ого, 3его .....Nого повторяющегося значения. Первое и последнее повторяющееся значение легко находится через ПОИСКПОЗ. Но как найти промежуточные значения ? И возможно ли написать универсальную формулу, которая находит каждое последующее повторяющееся значение ?
Я очень много сил и времени потратил на эту задачу, пробовал и через ПОИСКПОЗ и через СУММПРОИЗВ и через различные комбинации формулы массива, но не смог создать работающий алгоритм, возможно, я что-то недопонимал и упускал. Поэтому обращаюсь за помощью. Вариант с написанием макроса не подходит, задача состоит именно в том, чтобы сделать формулу.
Заранее спасибо за участие и помощь !
ArtModern вне форума Ответить с цитированием
Старый 13.12.2016, 12:20   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

откройте файл. понажимайте F9
Вложения
Тип файла: xlsx Повторы.xlsx (9.6 Кб, 14 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.12.2016, 12:26   #3
ArtModern
 
Регистрация: 11.12.2016
Сообщений: 7
По умолчанию

Спасибо огромное, я сейчас изучаю Вашу формулу, пока не могу понять алгоритм ее работы, отпишусь когда пойму.
ArtModern вне форума Ответить с цитированием
Старый 13.12.2016, 12:38   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Вашу задачу решает стандартная функция НАИМЕНЬШИЙ (или НАИБОЛЬШИЙ), а все остальное там - украшательство (чтобы результат выглядел прилично)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.12.2016, 12:40   #5
ArtModern
 
Регистрация: 11.12.2016
Сообщений: 7
По умолчанию

IgorGO, Вы просто гений ! Все работает как надо ! Но я не могу разобраться и понять алгоритм, пожалуйста, разъясните механизм.
ArtModern вне форума Ответить с цитированием
Старый 13.12.2016, 12:57   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

спасибо! конечно, но я ходил на рентген - признаков гениальности доктора не обнаружили((

до обьяснений посмотрите и почитайте в справке НАИМЕНЬШИЙ определение и примеры, которые поясняют принцип работы функции.
потом
отмечаете ячейку с формулой в 6-й колонке
лента Формулы
группа Зависимости формул
кнопка Вычислить формулу
в открывшемся окне жмете Вычислить, Вычислить, Вычислить...
не просто так жмете, а вдумчиво! (ексель подчеркивает, что собирается посчитать, потом показывает что получилось, и так шаг за шагом)

останутся вопросы - пишите)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.12.2016, 13:20   #7
ArtModern
 
Регистрация: 11.12.2016
Сообщений: 7
По умолчанию

IgorGO, я разобрался и понял, почему у меня ничего не получалось в течении нескольких месяцев ! Во-первых, я никогда не пользовался и не сталкивался с функцией НАИМЕНЬШИЙ. Во-вторых, я не знал, что в формуле массива можно использовать функцию СТРОКА(), которая возвратит именно ту строку, на которой в данный момент идет вычисление в формуле массива. Я всегда использовал СТРОКА("A1:A99"), если следовать Вашему примеру. Но я понимал, что что-то делаю не так, чего-то не знаю или недопонимаю. Спасибо Вам огромное ! Я думал, что большой специалист по Экселю так как в своей работе делаю очень сложные вычисления и формулы, но теперь я понимаю, что еще многого не знаю и мне еще далеко до Вашего уровня.
ArtModern вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Си. Побитовые операции (перестановка первого и последнего...) Ans797 Помощь студентам 6 08.12.2014 18:02
поиск первого ненулевого значения в строке peq Microsoft Office Excel 3 13.11.2012 21:07
Поиск первого значения Иваша Microsoft Office Excel 2 20.12.2011 18:54
Удалить прогу от первого до последнего байта Ksardas13 Общие вопросы C/C++ 1 08.04.2011 09:37
Перестановка в строке первого и последнего слова.. mihail0608 Общие вопросы C/C++ 16 08.12.2009 16:25