Формула аналогичная SUMPRODUCT()

Автор sfagnum, 18 февраля 2012, 13:56

0 Пользователи и 1 гость просматривают эту тему.

sfagnum

Алоха, бро!

Стоит задача вычилить минимальную разность между 2мя строками, при этом в обоих строках будет встречаться 0. и мало того нужные значения в строке находятся через одно...
пример:
A B C D E F G
400 # 20 # 20 # 0
9 # 3 # 0 # 10

в расчётах участвуют колонки A,C,E,G.
В результате хочу видеть 6.66

вопрос нужно решить только формулами.

JohnSUN

Добро пожаловать на форум, sfagnum!
Можешь чуть подробнее расшифровать "минимальную разность между 2мя строками" с результатом 6.66 для приведенных данных?
Что из чего вычитать? Что с чем сравнивать? Откуда взять дробный результат для вычитания целых чисел? Какое значение для вычитания имеет 0?
Или речь шла о делении? Не "разность", а "частное" ("отношение")?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

Alsagar

наверное все таки не разность имелась в виду.......наверное задание сформулировано не полностью,хотелось бы прочитать с самого начала,изначально зачем, и  строк будет всего две,или может больше?

sfagnum

жутко извиняюсь, запутался ) там верхнюю строку надо поделить на нижнюю, ну в смысле каждый элемент, и найти минимальное.

sfagnum

Цитата: sfagnum от 18 февраля 2012, 17:14наверное все таки не разность имелась в виду.......наверное задание сформулировано не полностью,хотелось бы прочитать с самого начала,изначально зачем, и  строк будет всего две,или может больше?
задание полностью, только вот... запарился )
надо определить на сколько запчастей хватит набора исходников, во второй строке расход на 1 единицу. Строки будут вычисляться попарно

Alsagar

а число 6,66 как то плохо увязывается.....ведь логичней посчитать что из 20 исходников выйдет 6 запчастей(по три узла в каждом),и останется остаток исходников......или это чисто теоретическое тех задание ?

sfagnum

да 6, всё правильно. но это уже мелочи с округлением до меньшего.
чисто нужное.

JohnSUN

Цитата: sfagnum от 18 февраля 2012, 18:26на сколько запчастей хватит набора исходников, во второй строке расход на 1 единицу.
А какой  тогда смысл в нулевом значении в E2?
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

sfagnum

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

neft

Добавить строку для вычислений.


[вложение удалено Администратором]

sfagnum

#10
Цитата: neft от 18 февраля 2012, 20:37
Добавить строку для вычислений.
вот как раз доп диапазонов и не хочется.

покрутил тут:
=MIN(B2:F2/IF(B3:F3<1,0.001,B3:F3)) — считает без 0 в делимом. дальше пока б0шка спит... ISEVEN(COLUMN()) крутится... но пока не срослось...


ЗЫ "понаблюдал" за таблицей
в делимой строке в "пустых" ячейках — 0 или EMPTY
в строке делителе подходят ячейки только с положительными значениями.

Hasim

Формула массива?
{=MIN(B2:F2*IF(ISERROR(1/(B3:F3));9999999999;(1/B3:F3)))}

neft

#12
Если формула массива, то надо так
{=MIN(B2:H2*IF(B3:H3=0;99999999;(1/B3:H3)))}

И, кроме того, в первой строке - имеющийся запас, во второй - расход на единицу изделия.
Если в первой 0 имеющегося запаса, а во второй расход на единицу - 10, то запаса в 0 (его вообще нет!) не хватит ни на одно изделие!!
6,66666 никак не получится!
Получится 0 изделий!!!

sfagnum

Цитата: Hasim от 19 февраля 2012, 11:01Формула массива?
Цитата: neft от 19 февраля 2012, 11:46Если формула массива, то надо так
Спасибо за сочуствие.
{=TRUNC(MIN(IF(ISBLANK(B1:F1),1,B1:F1)/IF(B3:F3<1,0.001,B3:F3)))}меня удовлетворила

sfagnum

Цитата: sfagnum от 19 февраля 2012, 13:10Если в первой 0 имеющегося запаса, а во второй расход на единицу - 10, то запаса в 0 (его вообще нет!) не хватит ни на одно изделие!!
6,66666 никак не получится!
мда, мой косяк )