PDA

Показать полную графическую версию : [решено] Поиск значения в самой нижней ячейке диапазона


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

okshef
13-02-2014, 18:27
Алекс Амолайнен, поясните, пожалуйста. В ячейке I57 у вас 7.
В этом случае, недостающее число требуется возвратить из предыдущей формулы, в которой первое слагаемое (a) совпадает с нашей проблемной. »
Что должно браться: результат вычисления или число, выше неизвестного?

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

okshef
13-02-2014, 19:21
В режиме редактирования в ячейку K40 вставляете формулу
=E40+ЕСЛИ(G40="";ДВССЫЛ("G"&МАКС(СТРОКА(E39:$E$40)*(E39:$E$40=E40)));G40)
Вводите ее как формулу массива (Ctrl + Shift + Enter) и протягиваете до K57

Алекс Амолайнен
13-02-2014, 20:14
okshef, Вы как всегда на высоте. Жаль не смогу понять суть формулы.

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

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

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




© OSzone.net 2001-2012