Сделать покерный калькулятор
Mexo
Дата: Пятница, 01.12.2017, 22:54 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Здравствуйте! Ищу помощь в создании UDF для калькулятора (вероятно рекурсивной) которая подставляет возможные комбинации со значениями(размещая до 9ти значений), чтобы использовать ее в формулах. Есть пример калькулятора(не доделанного), в котором вычисления сделаны в дополнительном массиве на листе формулами без UDF. Голубые ячейки - ячейки для ввода данных. Справа от калькулятора массив, в нем есть ячейки с длинными формулами, слагаемые выражения в которых представляют собой комбинацию. Нужно эти слагаемые заменить функцией. И вместо массива на листе сделать его в vba. И нужно чтобы скорость вычисления была не очень медленной. Простите если не понятно объяснил, но как смог, по ходу появления вопросов постараюсь объяснять более конкретней. ПС: Пример сюда не влез
Здравствуйте! Ищу помощь в создании UDF для калькулятора (вероятно рекурсивной) которая подставляет возможные комбинации со значениями(размещая до 9ти значений), чтобы использовать ее в формулах. Есть пример калькулятора(не доделанного), в котором вычисления сделаны в дополнительном массиве на листе формулами без UDF. Голубые ячейки - ячейки для ввода данных. Справа от калькулятора массив, в нем есть ячейки с длинными формулами, слагаемые выражения в которых представляют собой комбинацию. Нужно эти слагаемые заменить функцией. И вместо массива на листе сделать его в vba. И нужно чтобы скорость вычисления была не очень медленной. Простите если не понятно объяснил, но как смог, по ходу появления вопросов постараюсь объяснять более конкретней. ПС: Пример сюда не влез Mexo
Ответить
Сообщение Здравствуйте! Ищу помощь в создании UDF для калькулятора (вероятно рекурсивной) которая подставляет возможные комбинации со значениями(размещая до 9ти значений), чтобы использовать ее в формулах. Есть пример калькулятора(не доделанного), в котором вычисления сделаны в дополнительном массиве на листе формулами без UDF. Голубые ячейки - ячейки для ввода данных. Справа от калькулятора массив, в нем есть ячейки с длинными формулами, слагаемые выражения в которых представляют собой комбинацию. Нужно эти слагаемые заменить функцией. И вместо массива на листе сделать его в vba. И нужно чтобы скорость вычисления была не очень медленной. Простите если не понятно объяснил, но как смог, по ходу появления вопросов постараюсь объяснять более конкретней. ПС: Пример сюда не влез Автор - Mexo Дата добавления - 01.12.2017 в 22:54
Mexo
Дата: Воскресенье, 03.12.2017, 00:04 |
Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Приложил таблицу, где вычисляется вероятность занять определенное место в турнире игроками, исходя из количества фишек у них. Формула для вероятности занять первое или последнее место простая, но вот формулы для вероятности занять другие места уже получаются большими. Чем выше место,тем больше "комбинаций выражений" в формуле. ПС: Мне достаточно будет хотя бы только эту UDF, остальное смогу доделать самостоятельно.
Приложил таблицу, где вычисляется вероятность занять определенное место в турнире игроками, исходя из количества фишек у них. Формула для вероятности занять первое или последнее место простая, но вот формулы для вероятности занять другие места уже получаются большими. Чем выше место,тем больше "комбинаций выражений" в формуле. ПС: Мне достаточно будет хотя бы только эту UDF, остальное смогу доделать самостоятельно. Mexo
К сообщению приложен файл:
__.xlsm
(12.5 Kb)
Ответить
Сообщение Приложил таблицу, где вычисляется вероятность занять определенное место в турнире игроками, исходя из количества фишек у них. Формула для вероятности занять первое или последнее место простая, но вот формулы для вероятности занять другие места уже получаются большими. Чем выше место,тем больше "комбинаций выражений" в формуле. ПС: Мне достаточно будет хотя бы только эту UDF, остальное смогу доделать самостоятельно. Автор - Mexo Дата добавления - 03.12.2017 в 00:04
Mexo
Дата: Воскресенье, 03.12.2017, 00:41 |
Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Объясню откуда комбинации в формулах. Имеется 10 игроков, обозначенных буквами латинского алфавита. Когда считаю вероятность занять 2е место игроком A, складываю все вероятности когда игрок A - на втором месте, а на 1м месте каждый из оставшихся девяти игроков: игрок А на 2-м месте = BA + CA + DA+ ... т.е. должно получиться 9 комбинаций. Когда считаю вероятность занять 3е место игроком A, складываю все вероятности когда игрок A должен быть на третьем месте, на 1е место подставляю любого из оставшихся 9ти игроков, а на 2е место - любого из оставшихся 8ми игроков: игрок А на 3-м месте = BCA + BDA + BEA+ ... Должно получиться 72 комбинации(9*8=72).
Объясню откуда комбинации в формулах. Имеется 10 игроков, обозначенных буквами латинского алфавита. Когда считаю вероятность занять 2е место игроком A, складываю все вероятности когда игрок A - на втором месте, а на 1м месте каждый из оставшихся девяти игроков: игрок А на 2-м месте = BA + CA + DA+ ... т.е. должно получиться 9 комбинаций. Когда считаю вероятность занять 3е место игроком A, складываю все вероятности когда игрок A должен быть на третьем месте, на 1е место подставляю любого из оставшихся 9ти игроков, а на 2е место - любого из оставшихся 8ми игроков: игрок А на 3-м месте = BCA + BDA + BEA+ ... Должно получиться 72 комбинации(9*8=72). Mexo
Ответить
Сообщение Объясню откуда комбинации в формулах. Имеется 10 игроков, обозначенных буквами латинского алфавита. Когда считаю вероятность занять 2е место игроком A, складываю все вероятности когда игрок A - на втором месте, а на 1м месте каждый из оставшихся девяти игроков: игрок А на 2-м месте = BA + CA + DA+ ... т.е. должно получиться 9 комбинаций. Когда считаю вероятность занять 3е место игроком A, складываю все вероятности когда игрок A должен быть на третьем месте, на 1е место подставляю любого из оставшихся 9ти игроков, а на 2е место - любого из оставшихся 8ми игроков: игрок А на 3-м месте = BCA + BDA + BEA+ ... Должно получиться 72 комбинации(9*8=72). Автор - Mexo Дата добавления - 03.12.2017 в 00:41
InExSu
Дата: Воскресенье, 03.12.2017, 00:42 |
Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация:
96
±
Замечаний:
0% ±
Excel 2010, 365
Привет! Написал в личку. Заказ свободен. Мне, пока, не по силам.
Привет! Написал в личку. Заказ свободен. Мне, пока, не по силам. InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Сообщение отредактировал InExSu - Воскресенье, 03.12.2017, 17:25
Ответить
Сообщение Привет! Написал в личку. Заказ свободен. Мне, пока, не по силам. Автор - InExSu Дата добавления - 03.12.2017 в 00:42
Mexo
Дата: Среда, 06.12.2017, 01:31 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Может быть можно решить задачу встроенными средствами не создавая пользовательскую функцию..? К примеру функцию назову "COMB", в параметрах этой функции будут ссылки на ячейки с числовыми значениями. Возьму длинную формулу из таблицы в файле примере:
[vba]
Код
=F6*(D7/(D4-D6))*(D5/(D4-D6-D7))+ F6*(D8/(D4-D6))*(D5/(D4-D6-D8))+ F6*(D9/(D4-D6))*(D5/(D4-D6-D9))+ F6*(D10/(D4-D6))*(D5/(D4-D6-D10))+ F6*(D11/(D4-D6))*(D5/(D4-D6-D11))+ F6*(D12/(D4-D6))*(D5/(D4-D6-D12))+ F6*(D13/(D4-D6))*(D5/(D4-D6-D13))+ F6*(D14/(D4-D6))*(D5/(D4-D6-D14))+ F7*(D6/(D4-D7))*(D5/(D4-D7-D6))+ F7*(D8/(D4-D7))*(D5/(D4-D7-D8))+ F7*(D9/(D4-D7))*(D5/(D4-D7-D9))+ F7*(D10/(D4-D7))*(D5/(D4-D7-D10))+ F7*(D11/(D4-D7))*(D5/(D4-D7-D11))+ F7*(D12/(D4-D7))*(D5/(D4-D7-D12))+ F7*(D13/(D4-D7))*(D5/(D4-D7-D13))+ F7*(D14/(D4-D7))*(D5/(D4-D7-D14))+ F8*(D6/(D4-D8))*(D5/(D4-D8-D6))+ F8*(D7/(D4-D8))*(D5/(D4-D8-D7))+ F8*(D9/(D4-D8))*(D5/(D4-D8-D9))+ F8*(D10/(D4-D8))*(D5/(D4-D8-D10))+ F8*(D11/(D4-D8))*(D5/(D4-D8-D11))+ F8*(D12/(D4-D8))*(D5/(D4-D8-D12))+ F8*(D13/(D4-D8))*(D5/(D4-D8-D13))+ F8*(D14/(D4-D8))*(D5/(D4-D8-D14))+ F9*(D6/(D4-D9))*(D5/(D4-D9-D6))+ F9*(D7/(D4-D9))*(D5/(D4-D9-D7))+ F9*(D8/(D4-D9))*(D5/(D4-D9-D8))+ F9*(D10/(D4-D9))*(D5/(D4-D9-D10))+ F9*(D11/(D4-D9))*(D5/(D4-D9-D11))+ F9*(D12/(D4-D9))*(D5/(D4-D9-D12))+ F9*(D13/(D4-D9))*(D5/(D4-D9-D13))+ F9*(D14/(D4-D9))*(D5/(D4-D9-D14))+ F10*(D6/(D4-D10))*(D5/(D4-D10-D6))+ F10*(D7/(D4-D10))*(D5/(D4-D10-D7))+ F10*(D8/(D4-D10))*(D5/(D4-D10-D8))+ F10*(D9/(D4-D10))*(D5/(D4-D10-D9))+ F10*(D11/(D4-D10))*(D5/(D4-D10-D11))+ F10*(D12/(D4-D10))*(D5/(D4-D10-D12))+ F10*(D13/(D4-D10))*(D5/(D4-D10-D13))+ F10*(D14/(D4-D10))*(D5/(D4-D10-D14))+ F11*(D6/(D4-D11))*(D5/(D4-D11-D6))+ F11*(D7/(D4-D11))*(D5/(D4-D11-D7))+ F11*(D8/(D4-D11))*(D5/(D4-D11-D8))+ F11*(D9/(D4-D11))*(D5/(D4-D11-D9))+ F11*(D10/(D4-D11))*(D5/(D4-D11-D10))+ F11*(D12/(D4-D11))*(D5/(D4-D11-D12))+ F11*(D13/(D4-D11))*(D5/(D4-D11-D13))+ F11*(D14/(D4-D11))*(D5/(D4-D11-D14))+ F12*(D6/(D4-D12))*(D5/(D4-D12-D6))+ F12*(D7/(D4-D12))*(D5/(D4-D12-D7))+ F12*(D8/(D4-D12))*(D5/(D4-D12-D8))+ F12*(D9/(D4-D12))*(D5/(D4-D12-D9))+ F12*(D10/(D4-D12))*(D5/(D4-D12-D10))+ F12*(D11/(D4-D12))*(D5/(D4-D12-D11))+ F12*(D13/(D4-D12))*(D5/(D4-D12-D13))+ F12*(D14/(D4-D12))*(D5/(D4-D12-D14))+ F13*(D6/(D4-D13))*(D5/(D4-D13-D6))+ F13*(D7/(D4-D13))*(D5/(D4-D13-D7))+ F13*(D8/(D4-D13))*(D5/(D4-D13-D8))+ F13*(D9/(D4-D13))*(D5/(D4-D13-D9))+ F13*(D10/(D4-D13))*(D5/(D4-D13-D10))+ F13*(D11/(D4-D13))*(D5/(D4-D13-D11))+ F13*(D12/(D4-D13))*(D5/(D4-D13-D12))+ F13*(D14/(D4-D13))*(D5/(D4-D13-D14))+ F14*(D6/(D4-D14))*(D5/(D4-D14-D6))+ F14*(D7/(D4-D14))*(D5/(D4-D14-D7))+ F14*(D8/(D4-D14))*(D5/(D4-D14-D8))+ F14*(D9/(D4-D14))*(D5/(D4-D14-D9))+ F14*(D10/(D4-D14))*(D5/(D4-D14-D10))+ F14*(D11/(D4-D14))*(D5/(D4-D14-D11))+ F14*(D12/(D4-D14))*(D5/(D4-D14-D12))+ F14*(D13/(D4-D14))*(D5/(D4-D14-D13))
[/vba]
И вместо этой длинной формулы запишу примерно такое: [vba]Код
=СУММ( СУММ(F6*(COMB(D7:D14)/(D4-D6))*(D5/D4-D6-COMB(D7:D14)))); СУММ(F7*(COMB(D7;D8:D14)/(D4-D6))*(D5/D4-D6-COMB(D7;D8:D14)))); СУММ(F8*(COMB(D6:D7;D9:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D7;D9:D14)))); СУММ(F9*(COMB(D6:D8;D10:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D8;D10:D14)))); СУММ(F10*(COMB(D6:D9;D11:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D9;D11:D14)))); СУММ(F11*(COMB(D6:D10;D12:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D10;D12:D14)))); СУММ(F12*(COMB(D6:D11;D13:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D11;D13:D14)))); СУММ(F13*(COMB(D6:D12;D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D12;D14)))); СУММ(F14*(COMB(D6:D13)/(D4-D6))*(D5/D4-D6-COMB(D6:D13)))))
[/vba]
Может быть можно решить задачу встроенными средствами не создавая пользовательскую функцию..? К примеру функцию назову "COMB", в параметрах этой функции будут ссылки на ячейки с числовыми значениями. Возьму длинную формулу из таблицы в файле примере:
[vba]
Код
=F6*(D7/(D4-D6))*(D5/(D4-D6-D7))+ F6*(D8/(D4-D6))*(D5/(D4-D6-D8))+ F6*(D9/(D4-D6))*(D5/(D4-D6-D9))+ F6*(D10/(D4-D6))*(D5/(D4-D6-D10))+ F6*(D11/(D4-D6))*(D5/(D4-D6-D11))+ F6*(D12/(D4-D6))*(D5/(D4-D6-D12))+ F6*(D13/(D4-D6))*(D5/(D4-D6-D13))+ F6*(D14/(D4-D6))*(D5/(D4-D6-D14))+ F7*(D6/(D4-D7))*(D5/(D4-D7-D6))+ F7*(D8/(D4-D7))*(D5/(D4-D7-D8))+ F7*(D9/(D4-D7))*(D5/(D4-D7-D9))+ F7*(D10/(D4-D7))*(D5/(D4-D7-D10))+ F7*(D11/(D4-D7))*(D5/(D4-D7-D11))+ F7*(D12/(D4-D7))*(D5/(D4-D7-D12))+ F7*(D13/(D4-D7))*(D5/(D4-D7-D13))+ F7*(D14/(D4-D7))*(D5/(D4-D7-D14))+ F8*(D6/(D4-D8))*(D5/(D4-D8-D6))+ F8*(D7/(D4-D8))*(D5/(D4-D8-D7))+ F8*(D9/(D4-D8))*(D5/(D4-D8-D9))+ F8*(D10/(D4-D8))*(D5/(D4-D8-D10))+ F8*(D11/(D4-D8))*(D5/(D4-D8-D11))+ F8*(D12/(D4-D8))*(D5/(D4-D8-D12))+ F8*(D13/(D4-D8))*(D5/(D4-D8-D13))+ F8*(D14/(D4-D8))*(D5/(D4-D8-D14))+ F9*(D6/(D4-D9))*(D5/(D4-D9-D6))+ F9*(D7/(D4-D9))*(D5/(D4-D9-D7))+ F9*(D8/(D4-D9))*(D5/(D4-D9-D8))+ F9*(D10/(D4-D9))*(D5/(D4-D9-D10))+ F9*(D11/(D4-D9))*(D5/(D4-D9-D11))+ F9*(D12/(D4-D9))*(D5/(D4-D9-D12))+ F9*(D13/(D4-D9))*(D5/(D4-D9-D13))+ F9*(D14/(D4-D9))*(D5/(D4-D9-D14))+ F10*(D6/(D4-D10))*(D5/(D4-D10-D6))+ F10*(D7/(D4-D10))*(D5/(D4-D10-D7))+ F10*(D8/(D4-D10))*(D5/(D4-D10-D8))+ F10*(D9/(D4-D10))*(D5/(D4-D10-D9))+ F10*(D11/(D4-D10))*(D5/(D4-D10-D11))+ F10*(D12/(D4-D10))*(D5/(D4-D10-D12))+ F10*(D13/(D4-D10))*(D5/(D4-D10-D13))+ F10*(D14/(D4-D10))*(D5/(D4-D10-D14))+ F11*(D6/(D4-D11))*(D5/(D4-D11-D6))+ F11*(D7/(D4-D11))*(D5/(D4-D11-D7))+ F11*(D8/(D4-D11))*(D5/(D4-D11-D8))+ F11*(D9/(D4-D11))*(D5/(D4-D11-D9))+ F11*(D10/(D4-D11))*(D5/(D4-D11-D10))+ F11*(D12/(D4-D11))*(D5/(D4-D11-D12))+ F11*(D13/(D4-D11))*(D5/(D4-D11-D13))+ F11*(D14/(D4-D11))*(D5/(D4-D11-D14))+ F12*(D6/(D4-D12))*(D5/(D4-D12-D6))+ F12*(D7/(D4-D12))*(D5/(D4-D12-D7))+ F12*(D8/(D4-D12))*(D5/(D4-D12-D8))+ F12*(D9/(D4-D12))*(D5/(D4-D12-D9))+ F12*(D10/(D4-D12))*(D5/(D4-D12-D10))+ F12*(D11/(D4-D12))*(D5/(D4-D12-D11))+ F12*(D13/(D4-D12))*(D5/(D4-D12-D13))+ F12*(D14/(D4-D12))*(D5/(D4-D12-D14))+ F13*(D6/(D4-D13))*(D5/(D4-D13-D6))+ F13*(D7/(D4-D13))*(D5/(D4-D13-D7))+ F13*(D8/(D4-D13))*(D5/(D4-D13-D8))+ F13*(D9/(D4-D13))*(D5/(D4-D13-D9))+ F13*(D10/(D4-D13))*(D5/(D4-D13-D10))+ F13*(D11/(D4-D13))*(D5/(D4-D13-D11))+ F13*(D12/(D4-D13))*(D5/(D4-D13-D12))+ F13*(D14/(D4-D13))*(D5/(D4-D13-D14))+ F14*(D6/(D4-D14))*(D5/(D4-D14-D6))+ F14*(D7/(D4-D14))*(D5/(D4-D14-D7))+ F14*(D8/(D4-D14))*(D5/(D4-D14-D8))+ F14*(D9/(D4-D14))*(D5/(D4-D14-D9))+ F14*(D10/(D4-D14))*(D5/(D4-D14-D10))+ F14*(D11/(D4-D14))*(D5/(D4-D14-D11))+ F14*(D12/(D4-D14))*(D5/(D4-D14-D12))+ F14*(D13/(D4-D14))*(D5/(D4-D14-D13))
[/vba]
И вместо этой длинной формулы запишу примерно такое: [vba]Код
=СУММ( СУММ(F6*(COMB(D7:D14)/(D4-D6))*(D5/D4-D6-COMB(D7:D14)))); СУММ(F7*(COMB(D7;D8:D14)/(D4-D6))*(D5/D4-D6-COMB(D7;D8:D14)))); СУММ(F8*(COMB(D6:D7;D9:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D7;D9:D14)))); СУММ(F9*(COMB(D6:D8;D10:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D8;D10:D14)))); СУММ(F10*(COMB(D6:D9;D11:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D9;D11:D14)))); СУММ(F11*(COMB(D6:D10;D12:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D10;D12:D14)))); СУММ(F12*(COMB(D6:D11;D13:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D11;D13:D14)))); СУММ(F13*(COMB(D6:D12;D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D12;D14)))); СУММ(F14*(COMB(D6:D13)/(D4-D6))*(D5/D4-D6-COMB(D6:D13)))))
[/vba] Mexo
Ответить
Сообщение Может быть можно решить задачу встроенными средствами не создавая пользовательскую функцию..? К примеру функцию назову "COMB", в параметрах этой функции будут ссылки на ячейки с числовыми значениями. Возьму длинную формулу из таблицы в файле примере:
[vba]
Код
=F6*(D7/(D4-D6))*(D5/(D4-D6-D7))+ F6*(D8/(D4-D6))*(D5/(D4-D6-D8))+ F6*(D9/(D4-D6))*(D5/(D4-D6-D9))+ F6*(D10/(D4-D6))*(D5/(D4-D6-D10))+ F6*(D11/(D4-D6))*(D5/(D4-D6-D11))+ F6*(D12/(D4-D6))*(D5/(D4-D6-D12))+ F6*(D13/(D4-D6))*(D5/(D4-D6-D13))+ F6*(D14/(D4-D6))*(D5/(D4-D6-D14))+ F7*(D6/(D4-D7))*(D5/(D4-D7-D6))+ F7*(D8/(D4-D7))*(D5/(D4-D7-D8))+ F7*(D9/(D4-D7))*(D5/(D4-D7-D9))+ F7*(D10/(D4-D7))*(D5/(D4-D7-D10))+ F7*(D11/(D4-D7))*(D5/(D4-D7-D11))+ F7*(D12/(D4-D7))*(D5/(D4-D7-D12))+ F7*(D13/(D4-D7))*(D5/(D4-D7-D13))+ F7*(D14/(D4-D7))*(D5/(D4-D7-D14))+ F8*(D6/(D4-D8))*(D5/(D4-D8-D6))+ F8*(D7/(D4-D8))*(D5/(D4-D8-D7))+ F8*(D9/(D4-D8))*(D5/(D4-D8-D9))+ F8*(D10/(D4-D8))*(D5/(D4-D8-D10))+ F8*(D11/(D4-D8))*(D5/(D4-D8-D11))+ F8*(D12/(D4-D8))*(D5/(D4-D8-D12))+ F8*(D13/(D4-D8))*(D5/(D4-D8-D13))+ F8*(D14/(D4-D8))*(D5/(D4-D8-D14))+ F9*(D6/(D4-D9))*(D5/(D4-D9-D6))+ F9*(D7/(D4-D9))*(D5/(D4-D9-D7))+ F9*(D8/(D4-D9))*(D5/(D4-D9-D8))+ F9*(D10/(D4-D9))*(D5/(D4-D9-D10))+ F9*(D11/(D4-D9))*(D5/(D4-D9-D11))+ F9*(D12/(D4-D9))*(D5/(D4-D9-D12))+ F9*(D13/(D4-D9))*(D5/(D4-D9-D13))+ F9*(D14/(D4-D9))*(D5/(D4-D9-D14))+ F10*(D6/(D4-D10))*(D5/(D4-D10-D6))+ F10*(D7/(D4-D10))*(D5/(D4-D10-D7))+ F10*(D8/(D4-D10))*(D5/(D4-D10-D8))+ F10*(D9/(D4-D10))*(D5/(D4-D10-D9))+ F10*(D11/(D4-D10))*(D5/(D4-D10-D11))+ F10*(D12/(D4-D10))*(D5/(D4-D10-D12))+ F10*(D13/(D4-D10))*(D5/(D4-D10-D13))+ F10*(D14/(D4-D10))*(D5/(D4-D10-D14))+ F11*(D6/(D4-D11))*(D5/(D4-D11-D6))+ F11*(D7/(D4-D11))*(D5/(D4-D11-D7))+ F11*(D8/(D4-D11))*(D5/(D4-D11-D8))+ F11*(D9/(D4-D11))*(D5/(D4-D11-D9))+ F11*(D10/(D4-D11))*(D5/(D4-D11-D10))+ F11*(D12/(D4-D11))*(D5/(D4-D11-D12))+ F11*(D13/(D4-D11))*(D5/(D4-D11-D13))+ F11*(D14/(D4-D11))*(D5/(D4-D11-D14))+ F12*(D6/(D4-D12))*(D5/(D4-D12-D6))+ F12*(D7/(D4-D12))*(D5/(D4-D12-D7))+ F12*(D8/(D4-D12))*(D5/(D4-D12-D8))+ F12*(D9/(D4-D12))*(D5/(D4-D12-D9))+ F12*(D10/(D4-D12))*(D5/(D4-D12-D10))+ F12*(D11/(D4-D12))*(D5/(D4-D12-D11))+ F12*(D13/(D4-D12))*(D5/(D4-D12-D13))+ F12*(D14/(D4-D12))*(D5/(D4-D12-D14))+ F13*(D6/(D4-D13))*(D5/(D4-D13-D6))+ F13*(D7/(D4-D13))*(D5/(D4-D13-D7))+ F13*(D8/(D4-D13))*(D5/(D4-D13-D8))+ F13*(D9/(D4-D13))*(D5/(D4-D13-D9))+ F13*(D10/(D4-D13))*(D5/(D4-D13-D10))+ F13*(D11/(D4-D13))*(D5/(D4-D13-D11))+ F13*(D12/(D4-D13))*(D5/(D4-D13-D12))+ F13*(D14/(D4-D13))*(D5/(D4-D13-D14))+ F14*(D6/(D4-D14))*(D5/(D4-D14-D6))+ F14*(D7/(D4-D14))*(D5/(D4-D14-D7))+ F14*(D8/(D4-D14))*(D5/(D4-D14-D8))+ F14*(D9/(D4-D14))*(D5/(D4-D14-D9))+ F14*(D10/(D4-D14))*(D5/(D4-D14-D10))+ F14*(D11/(D4-D14))*(D5/(D4-D14-D11))+ F14*(D12/(D4-D14))*(D5/(D4-D14-D12))+ F14*(D13/(D4-D14))*(D5/(D4-D14-D13))
[/vba]
И вместо этой длинной формулы запишу примерно такое: [vba]Код
=СУММ( СУММ(F6*(COMB(D7:D14)/(D4-D6))*(D5/D4-D6-COMB(D7:D14)))); СУММ(F7*(COMB(D7;D8:D14)/(D4-D6))*(D5/D4-D6-COMB(D7;D8:D14)))); СУММ(F8*(COMB(D6:D7;D9:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D7;D9:D14)))); СУММ(F9*(COMB(D6:D8;D10:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D8;D10:D14)))); СУММ(F10*(COMB(D6:D9;D11:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D9;D11:D14)))); СУММ(F11*(COMB(D6:D10;D12:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D10;D12:D14)))); СУММ(F12*(COMB(D6:D11;D13:D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D11;D13:D14)))); СУММ(F13*(COMB(D6:D12;D14)/(D4-D6))*(D5/D4-D6-COMB(D6:D12;D14)))); СУММ(F14*(COMB(D6:D13)/(D4-D6))*(D5/D4-D6-COMB(D6:D13)))))
[/vba] Автор - Mexo Дата добавления - 06.12.2017 в 01:31
sboy
Дата: Среда, 06.12.2017, 13:24 |
Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
Вашу формулу можно переписать так
Код
=СУММ( СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D5/(D4-D6-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6))); СУММПРОИЗВ(F7*(D6:D14/(D4-D7));D5/(D4-D7-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F7))); СУММПРОИЗВ(F8*(D6:D14/(D4-D8));D5/(D4-D8-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F8))); СУММПРОИЗВ(F9*(D6:D14/(D4-D9));D5/(D4-D9-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F9))); СУММПРОИЗВ(F10*(D6:D14/(D4-D10));D5/(D4-D10-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F10))); СУММПРОИЗВ(F11*(D6:D14/(D4-D11));D5/(D4-D11-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F11))); СУММПРОИЗВ(F12*(D6:D14/(D4-D12));D5/(D4-D12-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F12))); СУММПРОИЗВ(F13*(D6:D14/(D4-D13));D5/(D4-D13-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F13))); СУММПРОИЗВ(F14*(D6:D14/(D4-D14));D5/(D4-D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F14))))
Это похоже на перемножение матриц, но я еще не научился пользоваться МУМНОЖ() правильно [p.s.]На заказ не претендую, просто мысли вслух)
Вашу формулу можно переписать так
Код
=СУММ( СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D5/(D4-D6-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6))); СУММПРОИЗВ(F7*(D6:D14/(D4-D7));D5/(D4-D7-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F7))); СУММПРОИЗВ(F8*(D6:D14/(D4-D8));D5/(D4-D8-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F8))); СУММПРОИЗВ(F9*(D6:D14/(D4-D9));D5/(D4-D9-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F9))); СУММПРОИЗВ(F10*(D6:D14/(D4-D10));D5/(D4-D10-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F10))); СУММПРОИЗВ(F11*(D6:D14/(D4-D11));D5/(D4-D11-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F11))); СУММПРОИЗВ(F12*(D6:D14/(D4-D12));D5/(D4-D12-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F12))); СУММПРОИЗВ(F13*(D6:D14/(D4-D13));D5/(D4-D13-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F13))); СУММПРОИЗВ(F14*(D6:D14/(D4-D14));D5/(D4-D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F14))))
Это похоже на перемножение матриц, но я еще не научился пользоваться МУМНОЖ() правильно [p.s.]На заказ не претендую, просто мысли вслух) sboy
Яндекс: 410016850021169
Сообщение отредактировал Serge_007 - Вторник, 23.01.2018, 10:07
Ответить
Сообщение Вашу формулу можно переписать так
Код
=СУММ( СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D5/(D4-D6-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6))); СУММПРОИЗВ(F7*(D6:D14/(D4-D7));D5/(D4-D7-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F7))); СУММПРОИЗВ(F8*(D6:D14/(D4-D8));D5/(D4-D8-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F8))); СУММПРОИЗВ(F9*(D6:D14/(D4-D9));D5/(D4-D9-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F9))); СУММПРОИЗВ(F10*(D6:D14/(D4-D10));D5/(D4-D10-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F10))); СУММПРОИЗВ(F11*(D6:D14/(D4-D11));D5/(D4-D11-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F11))); СУММПРОИЗВ(F12*(D6:D14/(D4-D12));D5/(D4-D12-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F12))); СУММПРОИЗВ(F13*(D6:D14/(D4-D13));D5/(D4-D13-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F13))); СУММПРОИЗВ(F14*(D6:D14/(D4-D14));D5/(D4-D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F14))))
Это похоже на перемножение матриц, но я еще не научился пользоваться МУМНОЖ() правильно [p.s.]На заказ не претендую, просто мысли вслух) Автор - sboy Дата добавления - 06.12.2017 в 13:24
Mexo
Дата: Среда, 06.12.2017, 17:06 |
Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
sboy , Спасибо, вроде считает правильно, попробую применить этот метод на всей таблице, и напишу результат.
sboy , Спасибо, вроде считает правильно, попробую применить этот метод на всей таблице, и напишу результат.Mexo
Ответить
Сообщение sboy , Спасибо, вроде считает правильно, попробую применить этот метод на всей таблице, и напишу результат.Автор - Mexo Дата добавления - 06.12.2017 в 17:06
Mexo
Дата: Четверг, 07.12.2017, 06:04 |
Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация:
0
±
Замечаний:
20% ±
Excel 2016
Для 4го столбца уже не получается. Пример первой строки: [vba]Код
=F6*(D7/(D4-D6))*(D8/(D4-D6-D7))*(D5/(D4-D6-D7-D8))+...
[/vba] записал так: [vba]Код
СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D6:D14/(D4-D6-D6:D14); D5/(D4-D6-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6)));...
[/vba] Если всю формулу:
[vba]
Код
=СУММ( СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D6:D14/(D4-D6-D6:D14);D5/(D4-D6-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6))); СУММПРОИЗВ(F7*(D6:D14/(D4-D7));D6:D14/(D4-D7-D6:D14);D5/(D4-D7-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F7))); СУММПРОИЗВ(F8*(D6:D14/(D4-D8));D6:D14/(D4-D8-D6:D14);D5/(D4-D8-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F8))); СУММПРОИЗВ(F9*(D6:D14/(D4-D9));D6:D14/(D4-D9-D6:D14);D5/(D4-D9-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F9))); СУММПРОИЗВ(F10*(D6:D14/(D4-D10));D6:D14/(D4-D10-D6:D14);D5/(D4-D10-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F10))); СУММПРОИЗВ(F11*(D6:D14/(D4-D11));D6:D14/(D4-D11-D6:D14);D5/(D4-D11-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F11))); СУММПРОИЗВ(F12*(D6:D14/(D4-D12));D6:D14/(D4-D12-D6:D14);D5/(D4-D12-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F12))); СУММПРОИЗВ(F13*(D6:D14/(D4-D13));D6:D14/(D4-D13-D6:D14);D5/(D4-D13-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F13))); СУММПРОИЗВ(F14*(D6:D14/(D4-D14));D6:D14/(D4-D14-D6:D14);D5/(D4-D14-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F14))))
[/vba]
Получаю не верный результат, потому что считает варианты которых не должно быть, например такой: [vba]Код
=F6*(D7/(D4-D6))*(D7/(D4-D6-D7))*(D5/(D4-D6-D7-D8))+...
[/vba] Не должно быть, потому что делимые в каждом множителе(D7,D7,D5) должны отличаться номером строки от множимого(F6) и др. от друга.
Для 4го столбца уже не получается. Пример первой строки: [vba]Код
=F6*(D7/(D4-D6))*(D8/(D4-D6-D7))*(D5/(D4-D6-D7-D8))+...
[/vba] записал так: [vba]Код
СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D6:D14/(D4-D6-D6:D14); D5/(D4-D6-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6)));...
[/vba] Если всю формулу:
[vba]
Код
=СУММ( СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D6:D14/(D4-D6-D6:D14);D5/(D4-D6-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6))); СУММПРОИЗВ(F7*(D6:D14/(D4-D7));D6:D14/(D4-D7-D6:D14);D5/(D4-D7-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F7))); СУММПРОИЗВ(F8*(D6:D14/(D4-D8));D6:D14/(D4-D8-D6:D14);D5/(D4-D8-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F8))); СУММПРОИЗВ(F9*(D6:D14/(D4-D9));D6:D14/(D4-D9-D6:D14);D5/(D4-D9-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F9))); СУММПРОИЗВ(F10*(D6:D14/(D4-D10));D6:D14/(D4-D10-D6:D14);D5/(D4-D10-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F10))); СУММПРОИЗВ(F11*(D6:D14/(D4-D11));D6:D14/(D4-D11-D6:D14);D5/(D4-D11-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F11))); СУММПРОИЗВ(F12*(D6:D14/(D4-D12));D6:D14/(D4-D12-D6:D14);D5/(D4-D12-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F12))); СУММПРОИЗВ(F13*(D6:D14/(D4-D13));D6:D14/(D4-D13-D6:D14);D5/(D4-D13-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F13))); СУММПРОИЗВ(F14*(D6:D14/(D4-D14));D6:D14/(D4-D14-D6:D14);D5/(D4-D14-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F14))))
[/vba]
Получаю не верный результат, потому что считает варианты которых не должно быть, например такой: [vba]Код
=F6*(D7/(D4-D6))*(D7/(D4-D6-D7))*(D5/(D4-D6-D7-D8))+...
[/vba] Не должно быть, потому что делимые в каждом множителе(D7,D7,D5) должны отличаться номером строки от множимого(F6) и др. от друга. Mexo
Сообщение отредактировал Mexo - Четверг, 07.12.2017, 06:31
Ответить
Сообщение Для 4го столбца уже не получается. Пример первой строки: [vba]Код
=F6*(D7/(D4-D6))*(D8/(D4-D6-D7))*(D5/(D4-D6-D7-D8))+...
[/vba] записал так: [vba]Код
СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D6:D14/(D4-D6-D6:D14); D5/(D4-D6-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6)));...
[/vba] Если всю формулу:
[vba]
Код
=СУММ( СУММПРОИЗВ(F6*(D6:D14/(D4-D6));D6:D14/(D4-D6-D6:D14);D5/(D4-D6-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F6))); СУММПРОИЗВ(F7*(D6:D14/(D4-D7));D6:D14/(D4-D7-D6:D14);D5/(D4-D7-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F7))); СУММПРОИЗВ(F8*(D6:D14/(D4-D8));D6:D14/(D4-D8-D6:D14);D5/(D4-D8-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F8))); СУММПРОИЗВ(F9*(D6:D14/(D4-D9));D6:D14/(D4-D9-D6:D14);D5/(D4-D9-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F9))); СУММПРОИЗВ(F10*(D6:D14/(D4-D10));D6:D14/(D4-D10-D6:D14);D5/(D4-D10-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F10))); СУММПРОИЗВ(F11*(D6:D14/(D4-D11));D6:D14/(D4-D11-D6:D14);D5/(D4-D11-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F11))); СУММПРОИЗВ(F12*(D6:D14/(D4-D12));D6:D14/(D4-D12-D6:D14);D5/(D4-D12-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F12))); СУММПРОИЗВ(F13*(D6:D14/(D4-D13));D6:D14/(D4-D13-D6:D14);D5/(D4-D13-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F13))); СУММПРОИЗВ(F14*(D6:D14/(D4-D14));D6:D14/(D4-D14-D6:D14);D5/(D4-D14-D6:D14-D6:D14);--(СТРОКА(D6:D14)<>СТРОКА(F14))))
[/vba]
Получаю не верный результат, потому что считает варианты которых не должно быть, например такой: [vba]Код
=F6*(D7/(D4-D6))*(D7/(D4-D6-D7))*(D5/(D4-D6-D7-D8))+...
[/vba] Не должно быть, потому что делимые в каждом множителе(D7,D7,D5) должны отличаться номером строки от множимого(F6) и др. от друга. Автор - Mexo Дата добавления - 07.12.2017 в 06:04
Strike08
Дата: Вторник, 23.01.2018, 09:03 |
Сообщение № 9
Группа: Заблокированные
Ранг: Новичок
Сообщений: 20
Репутация:
1
±
Замечаний:
20% ±
Excel 2013
Не, для меня это пока слишком сложно, ни чем не могу помочь
Не, для меня это пока слишком сложно, ни чем не могу помочь Strike08
Ответить
Сообщение Не, для меня это пока слишком сложно, ни чем не могу помочь Автор - Strike08 Дата добавления - 23.01.2018 в 09:03
Pelena
Дата: Вторник, 23.01.2018, 09:06 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Strike08 , ещё один такой бессмысленный пост, и Вы будете забанены за флуд
Strike08 , ещё один такой бессмысленный пост, и Вы будете забанены за флудPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Strike08 , ещё один такой бессмысленный пост, и Вы будете забанены за флудАвтор - Pelena Дата добавления - 23.01.2018 в 09:06