Подсчет формулы в определенном диапазоне
Jhonson
Дата: Вторник, 24.07.2012, 21:08 |
Сообщение № 21
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Quote (Jhonson )
H5*ЕСЛИ(L4<=I5;I5-L4;J5)
если с таким смещением нужно то формула должна быть такая: Code
=СУММПРОИЗВ(($G$4:$G$600=1)*$H$4:$H$600*((L4<=$I$4:$I$600)*$J$4:$J$600+(L4>$I$4:$I$600)*(L4-$I$4:$I$600))+($G$4:$G$600=-1)*$H$4:$H$600*((L4> $I$4:$I$600)*$J$4:$J$600+(L4<=$I$4:$I$600)*($I$4:$I$600-L4)))
Quote (Jhonson )
H5*ЕСЛИ(L4<=I5;I5-L4;J5)
если с таким смещением нужно то формула должна быть такая: Code
=СУММПРОИЗВ(($G$4:$G$600=1)*$H$4:$H$600*((L4<=$I$4:$I$600)*$J$4:$J$600+(L4>$I$4:$I$600)*(L4-$I$4:$I$600))+($G$4:$G$600=-1)*$H$4:$H$600*((L4> $I$4:$I$600)*$J$4:$J$600+(L4<=$I$4:$I$600)*($I$4:$I$600-L4)))
Jhonson
"Ничто не приносит людям столько неприятностей, как разум."
Сообщение отредактировал Jhonson - Вторник, 24.07.2012, 21:38
Ответить
Сообщение Quote (Jhonson )
H5*ЕСЛИ(L4<=I5;I5-L4;J5)
если с таким смещением нужно то формула должна быть такая: Code
=СУММПРОИЗВ(($G$4:$G$600=1)*$H$4:$H$600*((L4<=$I$4:$I$600)*$J$4:$J$600+(L4>$I$4:$I$600)*(L4-$I$4:$I$600))+($G$4:$G$600=-1)*$H$4:$H$600*((L4> $I$4:$I$600)*$J$4:$J$600+(L4<=$I$4:$I$600)*($I$4:$I$600-L4)))
Автор - Jhonson Дата добавления - 24.07.2012 в 21:08
shamilzzz
Дата: Вторник, 24.07.2012, 21:12 |
Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Jhonson, Без смещения, по том же что и первая формула. только меняется порядок расчета, показал для примера. И ещё Ваш пример с какими то платьями..
Jhonson, Без смещения, по том же что и первая формула. только меняется порядок расчета, показал для примера. И ещё Ваш пример с какими то платьями.. shamilzzz
Сообщение отредактировал shamilzzz - Вторник, 24.07.2012, 21:13
Ответить
Сообщение Jhonson, Без смещения, по том же что и первая формула. только меняется порядок расчета, показал для примера. И ещё Ваш пример с какими то платьями.. Автор - shamilzzz Дата добавления - 24.07.2012 в 21:12
Jhonson
Дата: Вторник, 24.07.2012, 21:22 |
Сообщение № 23
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
shamilzzz, в предыдущем посте файл перезалил.
shamilzzz, в предыдущем посте файл перезалил. Jhonson
"Ничто не приносит людям столько неприятностей, как разум."
Ответить
Сообщение shamilzzz, в предыдущем посте файл перезалил. Автор - Jhonson Дата добавления - 24.07.2012 в 21:22
shamilzzz
Дата: Вторник, 24.07.2012, 21:24 |
Сообщение № 24
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Спасибо! буду разбираться.
Ответить
Сообщение Спасибо! буду разбираться. Автор - shamilzzz Дата добавления - 24.07.2012 в 21:24
shamilzzz
Дата: Вторник, 24.07.2012, 21:27 |
Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Поясните немного формулу, как считает. =СУММПРОИЗВ(((R4C7:R600C7=1)+(R4C7:R600C7=0))*R4C8:R600C8*((RC[-6]<=R4C9:R600C9)*R4C10:R600C10+(RC[-6]>R4C9:R600C9)*(RC[-6]-R4C9:R600C9))+(R4C7:R600C7=-1)*R4C8:R600C8*((RC[-6]>R4C9:R600C9)*R4C10:R600C10+(RC[-6]<=R4C9:R600C9)*(R4C9:R600C9-RC[-6])))
Поясните немного формулу, как считает. =СУММПРОИЗВ(((R4C7:R600C7=1)+(R4C7:R600C7=0))*R4C8:R600C8*((RC[-6]<=R4C9:R600C9)*R4C10:R600C10+(RC[-6]>R4C9:R600C9)*(RC[-6]-R4C9:R600C9))+(R4C7:R600C7=-1)*R4C8:R600C8*((RC[-6]>R4C9:R600C9)*R4C10:R600C10+(RC[-6]<=R4C9:R600C9)*(R4C9:R600C9-RC[-6]))) shamilzzz
Сообщение отредактировал shamilzzz - Вторник, 24.07.2012, 21:28
Ответить
Сообщение Поясните немного формулу, как считает. =СУММПРОИЗВ(((R4C7:R600C7=1)+(R4C7:R600C7=0))*R4C8:R600C8*((RC[-6]<=R4C9:R600C9)*R4C10:R600C10+(RC[-6]>R4C9:R600C9)*(RC[-6]-R4C9:R600C9))+(R4C7:R600C7=-1)*R4C8:R600C8*((RC[-6]>R4C9:R600C9)*R4C10:R600C10+(RC[-6]<=R4C9:R600C9)*(R4C9:R600C9-RC[-6]))) Автор - shamilzzz Дата добавления - 24.07.2012 в 21:27
Jhonson
Дата: Вторник, 24.07.2012, 21:31 |
Сообщение № 26
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
shamilzzz, уберите галочку в параметрах: стиль ссылок R1C1. Или скачайте еще раз мой последний файл. Принцип работы формулы тот же самый, что и предыдущих, условия умножаем на значения и произведения складываем.
shamilzzz, уберите галочку в параметрах: стиль ссылок R1C1. Или скачайте еще раз мой последний файл. Принцип работы формулы тот же самый, что и предыдущих, условия умножаем на значения и произведения складываем. Jhonson
"Ничто не приносит людям столько неприятностей, как разум."
Сообщение отредактировал Jhonson - Вторник, 24.07.2012, 21:32
Ответить
Сообщение shamilzzz, уберите галочку в параметрах: стиль ссылок R1C1. Или скачайте еще раз мой последний файл. Принцип работы формулы тот же самый, что и предыдущих, условия умножаем на значения и произведения складываем. Автор - Jhonson Дата добавления - 24.07.2012 в 21:31
shamilzzz
Дата: Вторник, 24.07.2012, 21:41 |
Сообщение № 27
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Jhonson, Сделал)
Ответить
Сообщение Jhonson, Сделал) Автор - shamilzzz Дата добавления - 24.07.2012 в 21:41
Jhonson
Дата: Вторник, 24.07.2012, 21:42 |
Сообщение № 28
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Code
($G$4:$G$600=1)*$H$4:$H$600*((L4<=$I$4:$I$600)*$J$4:$J$600+(L4>$I$4:$I$600)*(L4-$I$4:$I$600))
первая часть формулы будет не ноль в том случае если($G$4:$G$600=1) ИСТИНА Code
($G$4:$G$600=-1)*$H$4:$H$600*((L4> $I$4:$I$600)*$J$4:$J$600+(L4<=$I$4:$I$600)*($I$4:$I$600-L4)))
точно так же и для второй части формулы если ($G$4:$G$600=1) ЛОЖЬ, то эта часть формулы вернет 0 При условии, что $G$4:$G$600=0 , т.е. оба условия ложные, то обе части формул вернут 0. Обратите внимание, что мы сравниваем диапазоны, т.е. функция СУММПРОИЗВ - работает с массивами значений. P.S. Была небольшая ошибка, предыдущее сообщение с файлом и формулой исправил.
Code
($G$4:$G$600=1)*$H$4:$H$600*((L4<=$I$4:$I$600)*$J$4:$J$600+(L4>$I$4:$I$600)*(L4-$I$4:$I$600))
первая часть формулы будет не ноль в том случае если($G$4:$G$600=1) ИСТИНА Code
($G$4:$G$600=-1)*$H$4:$H$600*((L4> $I$4:$I$600)*$J$4:$J$600+(L4<=$I$4:$I$600)*($I$4:$I$600-L4)))
точно так же и для второй части формулы если ($G$4:$G$600=1) ЛОЖЬ, то эта часть формулы вернет 0 При условии, что $G$4:$G$600=0 , т.е. оба условия ложные, то обе части формул вернут 0. Обратите внимание, что мы сравниваем диапазоны, т.е. функция СУММПРОИЗВ - работает с массивами значений. P.S. Была небольшая ошибка, предыдущее сообщение с файлом и формулой исправил.Jhonson
"Ничто не приносит людям столько неприятностей, как разум."
Сообщение отредактировал Jhonson - Вторник, 24.07.2012, 21:45
Ответить
Сообщение Code
($G$4:$G$600=1)*$H$4:$H$600*((L4<=$I$4:$I$600)*$J$4:$J$600+(L4>$I$4:$I$600)*(L4-$I$4:$I$600))
первая часть формулы будет не ноль в том случае если($G$4:$G$600=1) ИСТИНА Code
($G$4:$G$600=-1)*$H$4:$H$600*((L4> $I$4:$I$600)*$J$4:$J$600+(L4<=$I$4:$I$600)*($I$4:$I$600-L4)))
точно так же и для второй части формулы если ($G$4:$G$600=1) ЛОЖЬ, то эта часть формулы вернет 0 При условии, что $G$4:$G$600=0 , т.е. оба условия ложные, то обе части формул вернут 0. Обратите внимание, что мы сравниваем диапазоны, т.е. функция СУММПРОИЗВ - работает с массивами значений. P.S. Была небольшая ошибка, предыдущее сообщение с файлом и формулой исправил.Автор - Jhonson Дата добавления - 24.07.2012 в 21:42
shamilzzz
Дата: Вторник, 24.07.2012, 21:50 |
Сообщение № 29
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
0% ±
Jhonson, Спасибо!
Ответить
Сообщение Jhonson, Спасибо! Автор - shamilzzz Дата добавления - 24.07.2012 в 21:50
vikttur
Дата: Среда, 25.07.2012, 11:19 |
Сообщение № 30
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Code
=СУММ(H$4:H$600*ВЫБОР(2+ЗНАК(G$4:G$600);ЕСЛИ(L4<=I$4:I$600;I$4:I$600-L4;J$4:J$600);;ЕСЛИ(L4<=I$4:I$600;J$4:J$600;L4-I$4:I$600)))
Как вводить формулу массива: после введения формулы в ячейку, ввод завершается нажатием не просто Enter , а Ctrl+Shift+Enter . Формула при этом будет заключена в фигурные скобки - {}.
Code
=СУММ(H$4:H$600*ВЫБОР(2+ЗНАК(G$4:G$600);ЕСЛИ(L4<=I$4:I$600;I$4:I$600-L4;J$4:J$600);;ЕСЛИ(L4<=I$4:I$600;J$4:J$600;L4-I$4:I$600)))
Как вводить формулу массива: после введения формулы в ячейку, ввод завершается нажатием не просто Enter , а Ctrl+Shift+Enter . Формула при этом будет заключена в фигурные скобки - {}.vikttur
Сообщение отредактировал vikttur - Среда, 25.07.2012, 11:20
Ответить
Сообщение Code
=СУММ(H$4:H$600*ВЫБОР(2+ЗНАК(G$4:G$600);ЕСЛИ(L4<=I$4:I$600;I$4:I$600-L4;J$4:J$600);;ЕСЛИ(L4<=I$4:I$600;J$4:J$600;L4-I$4:I$600)))
Как вводить формулу массива: после введения формулы в ячейку, ввод завершается нажатием не просто Enter , а Ctrl+Shift+Enter . Формула при этом будет заключена в фигурные скобки - {}.Автор - vikttur Дата добавления - 25.07.2012 в 11:19