|
|
|
Расчет одной формулой место трех промежуточных
|
|||
|---|---|---|---|
|
#18+
Всем привет! Вопрос специалистам по формулам. Есть перечень позиций (на рисунке ключа нет, просто каждая строка - позиция) и партий позиций (колонка "товар"). В одной партии несколько позиций. Есть вес всей партии (колонка "Вес нетто (кг)") и геометрические характеристики позиций (могут быть указаны не все). Нужно определить вес каждой позиции на основании веса партии и пропорционально «объему» каждой позиции (объем не всегда равен произведению трех измерений, а только тех которые есть – это только для текущего расчета). Задача решается просто, в приложенном файле пример, но хотелось бы обойтись одной формулой, а не тремя. Т.е. весь расчет проводить только в одной колонке "Вес позиции" и исключить колонки "Объем партии" и "Объем позиции". Можно ли это сделать? Спасибо :всем заранее ! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 20:21:39 |
|
||
|
Расчет одной формулой место трех промежуточных
|
|||
|---|---|---|---|
|
#18+
Например так (см пример), только это помедленнее будет Можно ввести несколько именованных формул, которые заранее будут определять диапазоны (не стал делать, т.к. некогда). Это существенно облегчит зрительное восприятие формул, и скорее всего и скорость (я измерениями редко занимаюсь, но кажется что должно быстрее если диапазоны заранее определить, так как не придётся в каждой ячейке их считать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 22:39:36 |
|
||
|
Расчет одной формулой место трех промежуточных
|
|||
|---|---|---|---|
|
#18+
Спасибо, попробую применить. Главное, что в одной формуле расчет. Это будет расчетная колонка в таблице, которая (таблица) будет создаваться программно. Поэтому, максимум, что в формуле можно применить, как в твоем примере, это константа количества строк. Именованные диапазоны по этой же причине тоже не подойдут - чем их создавать, будет проще программой пробежать по всей таблице с расчетом. А так, хочется просто заполнить колонку однотипной вормулой и все.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 22:49:25 |
|
||
|
Расчет одной формулой место трех промежуточных
|
|||
|---|---|---|---|
|
#18+
vbapro...можно применить, как в твоем примере, это константа количества строк...Сорри, думал о своем, не константа, конечно же :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 22:52:51 |
|
||
|
Расчет одной формулой место трех промежуточных
|
|||
|---|---|---|---|
|
#18+
- именованные формулы прекрасно задаются програмно; - в крайнем случае можно сразу с запасом указать постоянные диапазоны, так же как у вас (весь столбец, только медленне работать будет) vbapro[quot vbapro]А так, хочется просто заполнить колонку однотипной вормулой и все.. - Это не понял, а сейчас она что не заполнена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2008, 23:20:31 |
|
||
|
Расчет одной формулой место трех промежуточных
|
|||
|---|---|---|---|
|
#18+
Deggasad vbaproА так, хочется просто заполнить колонку однотипной вормулой и все.. - Это не понял, а сейчас она что не заполнена? Заполнена. Я имею в виду, что хочу чтобы производилось минимум действий, а именно, зполнить колонку готовой формулой и все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2008, 09:03:44 |
|
||
|
Расчет одной формулой место трех промежуточных
|
|||
|---|---|---|---|
|
#18+
DeggasadНапример так (см пример), только это помедленнее будет Можно ввести несколько именованных формул, которые заранее будут определять диапазоны (не стал делать, т.к. некогда). Это существенно облегчит зрительное восприятие формул, и скорее всего и скорость (я измерениями редко занимаюсь, но кажется что должно быстрее если диапазоны заранее определить, так как не придётся в каждой ячейке их считать)один нюанс не учтен, если в колонках Толщина-Ширина-Длина не число, то расчет не делается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2008, 11:48:20 |
|
||
|
Расчет одной формулой место трех промежуточных
|
|||
|---|---|---|---|
|
#18+
Прикольно, сколько работал с формулами, а не знал, что если формулу массива {СУММ((...)*(...)*(...))} нельзя записать через СУММПРОИЗВ(), то достаточно её просто вложить в СУММПРОИЗВ(), типа такого: СУММПРОИЗВ(СУММ((...)*(...)*(...))) и уже в 2 раза быстрее вычисляется :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2008, 12:43:41 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2181581]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 305ms |

| 0 / 0 |
