Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Поиск значения в самой нижней ячейке диапазона (http://forum.oszone.net/showthread.php?t=277684)

Алекс Амолайнен 13-02-2014 18:10 2308599

Поиск значения в самой нижней ячейке диапазона
 
Вложений: 1
Доброго дня. На 2007 версии Office Excel, через оператор ВПР, пытаюсь реализовать поиск требуемого значения в самой нижней по списку ячейке из указанного в формуле диапазона. После дня безрезультатной работы, предполагаю, что оператор, для организации поиска, выбран не правильно. Подскажите, пожалуйста, как правильно отредактировать формулы или укажите другой способ решения задачи.
В прилагаемом документе, в качестве примера, приведено простейшее арифметическое действие - сумма двух чисел a+b=c. С условием, что в некоторых случаях, второе слагаемое (b) будет неизвестно. В этом случае, недостающее число требуется возвратить из предыдущей формулы, в которой первое слагаемое (a) совпадает с нашей проблемной.
Формулы подсчёта я составил, однако выяснилось, что формула ищет самое верхнее значение в массиве, а мне нужно найти самое нижнее. Изменять вручную диапазоны поиска нельзя - это второе условие. Помогите, пожалуйста.
Спасибо.

okshef 13-02-2014 18:27 2308608

Алекс Амолайнен, поясните, пожалуйста. В ячейке I57 у вас 7.
Цитата:

Цитата Алекс Амолайнен
В этом случае, недостающее число требуется возвратить из предыдущей формулы, в которой первое слагаемое (a) совпадает с нашей проблемной. »

Что должно браться: результат вычисления или число, выше неизвестного?

Алекс Амолайнен 13-02-2014 18:38 2308614

Ссори, очепятку допустил.
Хотелось бы, чтобы формула искала число (b) выше неизвестного. Применительно к результату вычислений в ячейке I57: требуется, чтобы к 3 прибавлялось значение G54, т.к. E54 ближайшее по списку к E57 и равно ей.
И да, забыл про 3 условие: сортировку от А до Я также запрещено производить.
Спасибо.

okshef 13-02-2014 19:21 2308630

В режиме редактирования в ячейку K40 вставляете формулу
Код:

=E40+ЕСЛИ(G40="";ДВССЫЛ("G"&МАКС(СТРОКА(E39:$E$40)*(E39:$E$40=E40)));G40)
Вводите ее как формулу массива (Ctrl + Shift + Enter) и протягиваете до K57

Алекс Амолайнен 13-02-2014 20:14 2308640

okshef, Вы как всегда на высоте. Жаль не смогу понять суть формулы.

okshef 13-02-2014 20:36 2308656

Алекс Амолайнен, а вы выделяйте составные части формулы в скобках и нажимайте F9 или используйте функцию "Вычислить формулу" на вкладке Формулы.

Давайте все-таки объясню. Возьмем ячейку K55.
В ячейке G55 пусто, формула начинает искать значение, которое было в паре у ближайшей единицы вверх.
Код:

E$40:$E54=E55
проверяет, равны ли "1" ячейки выше создает массив из "истина" и "ложь". Дальше этот массив умножается на массив соответствующих номеров строк
Код:

СТРОКА(E$40:$E54)*(E$40:$E54=E55)
В результате получаем массив, значения элементов которого равны 0, или соответствуют номеру строки, в которой значения равны 1. Чтобы выбрать ближайшую строку вверх, используем функцию МАКС.
Функция ДВССЫЛ возвращает значение ячейки в столбце G и в найденной ранее строке.

Надеюсь, вы поняли мой сбивчивый рассказ :)


Время: 20:32.

Время: 20:32.
© OSzone.net 2001-