|
проверка повторяющихся значений
|
|||
---|---|---|---|
#18+
Доброго времени суток Прошу помочь Нужно чтобы формула проверяла повторяется ли номер заказа, если да, то берет последнее значения и работает уже с ним Во вложении пример, так как должно быть, все значения или вбиты в ручную или на разовых вычитании, умножении и тп В качестве вознаграждения могу закинуть денег на телефон или ваши варианты ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 00:03 |
|
проверка повторяющихся значений
|
|||
---|---|---|---|
#18+
Что-то у вас с логикой расчетов там не то - похоже, вы суммы рассчитываете "от противного", в обратном порядке. Например, что есть "Полная сумма заказа" и почему она везде введена вручную, хотя должна, по идее, упоминаться только один раз для каждого из номеров? Откуда вообще берется эта сумма, и почему не предусмотрено операции для внесения её в таблицу - ведь, по идее, она является начальным сальдо для расчёта балансов? Почему сумма депозита есть константные 20% от суммы заказа - разве процент всегда един и не зависит вообще ни от каких условий? Почему вы вообще разделяете операцию "поступление средств" на платежи по "депозиту" и "балансу", если (как я понял) у вас принцип таков, что любой платеж сначала идет в погашение этого вашего "депозита" (процентов), а затем в погашение суммы основного долга? Нет, конечно, можно и эту вашу табличку поправить - можно вообще отказаться от переноса остатков, и текущие балансы по процентам и основному платежу считать в каждой строке через СУММЕСЛИ по предыдущим строчкам... Но как-то это напрягает, не финансист я ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 02:16 |
|
проверка повторяющихся значений
|
|||
---|---|---|---|
#18+
AndreTM, сумма заказа она есть сумма заказа, она всегда одна и таже для каждого номера, можно ее упоминать один раз да, это не суть. эта сумма берется из договора в пдф формате ) моюно разве что на отдельном листе список сделать общий, их не так много поэтому можно вручную вбивать. да, размер депозита всегда един, это 20%, после оплаты которых заказ пускают в производство. разделение для наглядности, все верно, сначала идет оплата депозита, потом баланса вся загвоздка в том, чтобы вытянуть последнее значение, каким образом его найти по одноименному заказу ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 07:29 |
|
проверка повторяющихся значений
|
|||
---|---|---|---|
#18+
Ну можно, например, так, как в приложенном файлике. Там не так чтобы уж и оптимально - но общее направление движения хоть понятно будет... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 08:42 |
|
проверка повторяющихся значений
|
|||
---|---|---|---|
#18+
AndreTM, это жесть! вне моей логики ) вот это каким образом работает? =СУММ(($A$2:$A$1000<$A2)*($B$2:$B$1000=$B2)*$C$2:$C$1000) формула ищет в массиве значения удовлетворяющие условиям т.е. за все даты меньше даты платежа, с таким же номером заказа и суммирует их? но почему там знак умножения? и ведь формула просто СУММ без елси и тп, почему она такие штуки делает? Скажите номер в лючку я счет пополню ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 10:38 |
|
проверка повторяющихся значений
|
|||
---|---|---|---|
#18+
IvanAfэто каким образом работает?Что бы не вводить формулу тремя пальцами запишем её так: Код: vbnet 1.
IvanAfформула ищет в массиве значения удовлетворяющие условиям т.е. за все даты меньше даты платежа, с таким же номером заказаДа IvanAfи суммирует их?Нет, суммируются данные столбца С, если выполняются заданные условия IvanAfпочему там знак умножения?В формулах массива знак умножения заменяет функцию листа И() IvanAfформула просто СУММ без елсиФункция листа ЕСЛИ() возвращает заданные значения согласно результату работы первого аргумента функции "Логическое выражение". Логическое выражение может быть только либо ИСТИНА, либо ЛОЖЬ. ИСТИНА - это 1, ЛОЖЬ, соответственно - 0 Приведённая формула делает тоже самое, за счёт использования математических операторов сравнения. Выражение A$2:A$100<A2 можно записать как =ЕСЛИ(A$2:A$100<A2;1;0) . В результате работы что первого, что второго выражения получится одинаковый массив из нулей и единиц, например такой: ={0:1:0:...:0} IvanAfпочему она такие штуки делает?Имея массив, который отвечает критериям отбора, несложно догадаться, что если на него умножить массив, который необходимо подсчитать (в Вашем случае это столбец С), то при умножении на ноль элементы массива останутся нулём, а при умножении на единицу останутся теми самыми значениями что и были. После умножения итоговый массив остаётся только просуммировать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 11:21 |
|
проверка повторяющихся значений
|
|||
---|---|---|---|
#18+
Serge 007, Круто! ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 11:31 |
|
проверка повторяющихся значений
|
|||
---|---|---|---|
#18+
IvanAfSerge 007, Круто! )Но вы можете просто использовать СУММЕСЛИМН(), у вас же Офис выше 2003-го Тем более, что вышеприведенная формула - массивная (впрочем, Сергей уже объяснил, как от этого избавиться). А насчет денюшков - ладно уж, не тот это вопрос был... мы тут за идею трудимся ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 12:56 |
|
|
start [/forum/topic.php?fid=61&msg=38258113&tid=2174810]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 446ms |
0 / 0 |