imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Программы и Операционные системы > Обсуждение программ
Опции темы
Старый 22.12.2004, 19:43     # 1
MadPautina
Junior Member
 
Аватар для MadPautina
 
Регистрация: 08.01.2003
Адрес: Томск
Сообщения: 111

MadPautina Путь к славе только начался
Скорректировать значения в Exel

Такая вот проблема. Есть столбец данных, сумма которых равна какому то числу, нужно сделать так чтобы Exel подправил данные в этом столбце так чтобы сумма получилась скажем 0.
Пробовал подбором параметра но меняется толлько одна ячейка, а необходимо плавно скорректировать весь столбец.
Вот такая вот проблема, если кто поможет буду ОЧЕНЬ благодарен.
__________________
Если вы - настоящий мужчина, сделайте так ,чтобы Фортуна боялась повернуться к вам задом.
MadPautina вне форума  
Старый 22.12.2004, 20:49     # 2
Clown
Квази-Мод
 
Аватар для Clown
 
Регистрация: 11.11.2002
Адрес: Circus
Пол: Male
Сообщения: 2 828

Clown Простой бог
Clown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой бог
То есть разницу в сумме надо равномерно распределить между ячейками или как? Какова логика? Допустим у тебя 10 клеток, со значениями, соответственно 9 единиц и одна двойка с минусом. Сумма = 7. Теперь ты хочешь привести сумму к "скажем 0". Каким образом?
__________________
Подробнее об этом читайте на ЗЕРКАЛЕ
Clown вне форума  
Старый 23.12.2004, 08:45     # 3
MadPautina
Junior Member
 
Аватар для MadPautina
 
Регистрация: 08.01.2003
Адрес: Томск
Сообщения: 111

MadPautina Путь к славе только начался
Вот например у меня столбец:
601,4974
-1075,5996
-759,8748
1291,5564
290,4434
-1150,588
-1079,0838
-1401,06
-1036,5246
2310,1554
2746,639
-603,0928
Его сумма равна 134,468. Нужно изменить значения в столбце так чтобы сумма была равна 0. Причем изменить значения не в !!!одной ячейке!!! а во всем столбце, какие-то числа уменьшить какие-то увеличить.
__________________
Если вы - настоящий мужчина, сделайте так ,чтобы Фортуна боялась повернуться к вам задом.
MadPautina вне форума  
Старый 23.12.2004, 09:53     # 4
LightImage
Junior Member
 
Регистрация: 16.10.2002
Адрес: Россия-матушка
Пол: Male
Сообщения: 96

LightImage Нимб уже пробиваетсяLightImage Нимб уже пробивается
Lightbulb Напиши функцию на VBA

Вот текст программы:
Код:
Sub DoAjustRngSum()
    LI_AdjustRangeSum ActiveSheet.Range("A2:A13")
End Sub
Sub LI_AdjustRangeSum(rng As Range)
Dim S As Double, S_a As Double
Dim curc As Range
    S = 0
    S_a = 0
    For Each curc In rng
        S = S + curc.Value
        S_a = S_a + Abs(curc.Value)
    Next
    For Each curc In rng
        curc.Value = curc.Value - S * Abs(curc.Value) / S_a
    Next
End Sub
Добавь этот код в какой-нибудь модуль, скорректируй DoAjustRngSum(), выполни её и будет тебе счастье
Например, твой столбец преобразуется этой функцией в
595,8594868
-1085,681335
-766,9972051
1279,450474
287,7210363
-1161,372611
-1089,198193
-1414,192317
-1046,24008
2288,502014
2720,894396
-608,7456671
LightImage вне форума  
Старый 23.12.2004, 19:10     # 5
MadPautina
Junior Member
 
Аватар для MadPautina
 
Регистрация: 08.01.2003
Адрес: Томск
Сообщения: 111

MadPautina Путь к славе только начался
LightImage

Спасибо тебе огромное !!!
Ну просто жизнь спас

Но мне все же интересно, встроенными функциями это ни как сделать нельзя ???
__________________
Если вы - настоящий мужчина, сделайте так ,чтобы Фортуна боялась повернуться к вам задом.
MadPautina вне форума  
Старый 24.12.2004, 03:24     # 6
4eburashka
Full Member
 
Аватар для 4eburashka
 
Регистрация: 15.12.2003
Адрес: Israel
Пол: Male
Сообщения: 501

4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой4eburashka Имеются все основания чтобы гордиться собой
Честно сказать, не понятно, нужно ли тебе сохронять какуе то закономерность? Может можно просто от каждой клетке отнять средние орефметическое?
Использовать дополнительный столбик (если допустимо) и пользоватся фун:sum()/num;
Если не подходит, попробуй сформулировать вопрос поточней.
4eburashka вне форума  
Старый 24.12.2004, 04:01     # 7
Clown
Квази-Мод
 
Аватар для Clown
 
Регистрация: 11.11.2002
Адрес: Circus
Пол: Male
Сообщения: 2 828

Clown Простой бог
Clown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой богClown Простой бог
Цитата:
Сообщение от 4eburashka
Честно сказать, не понятно, нужно ли тебе сохронять какуе то закономерность? Может можно просто от каждой клетке отнять средние орефметическое?
Использовать дополнительный столбик (если допустимо) и пользоватся фун:sum()/num;
Если не подходит, попробуй сформулировать вопрос поточней.
В том и проблема, что условия задачи не понятны. Сумму можно привести к 0 бесконечным количеством способов, включая простое обнуление всех значений.....
__________________
Подробнее об этом читайте на ЗЕРКАЛЕ
Clown вне форума  
Старый 24.12.2004, 10:58     # 8
LightImage
Junior Member
 
Регистрация: 16.10.2002
Адрес: Россия-матушка
Пол: Male
Сообщения: 96

LightImage Нимб уже пробиваетсяLightImage Нимб уже пробивается
MadPautina
Оказалось можно, просто скрипт для меня было быстрее написать =)
Пусть твой столбец находится в ячейках B2:B13. Тогда в ячейку C1 вставляем такую формулу "=B2-ABS(B2)*СУММ($B$2:$B$13)/(СУММЕСЛИ($B$2:$B$13;">=0")-СУММЕСЛИ($B$2:$B$13;"<0"))" и заполняем ячейки C1:C13 этим значением
LightImage вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 17:56.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.