Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2010, 22:54   #1
helloapm
Новичок
Джуниор
 
Регистрация: 01.06.2010
Сообщений: 2
По умолчанию Создание условия "Если" с суммирование счетов

Здравствуйте !!!
Появилась следующая проблема
Существует два листа ведомость и проводка. В ведомости есть остаточная стоимость и Счет отнесения затрат по начисленной амортизации (20,1 , 23 и т д)
Необходимо создать условие в проводке что ЕСЛИ мы выбираем к примеру счет 20,1 то по этому счету из ведомости происходит суммирование всей остаточной стоимости по данному счету( из всего массива данных т.е выбирается именно счет 20,1 и только ). Далее по счету 23 тоже самое суммирование и тд
Как это сделать??
Скажите плз
Вложения
Тип файла: rar 31231231.rar (3.1 Кб, 14 просмотров)
helloapm вне форума Ответить с цитированием
Старый 01.06.2010, 23:40   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение
Вложения
Тип файла: rar Книга351.rar (4.9 Кб, 25 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 01.06.2010, 23:47   #3
helloapm
Новичок
Джуниор
 
Регистрация: 01.06.2010
Сообщений: 2
По умолчанию

спасибо большое !!!
буду разбираться !
helloapm вне форума Ответить с цитированием
Старый 01.06.2010, 23:56   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

пожалуйста.
та не в чем там разбираться.
1-й СМЕЩ - это остаточные стоимости (столбец I)
2-й СМЕЩ - номера счетов (столбец J)
В Вашем исходном файле на одном листе счет назван 20.1, на втором - 20,1. Разницу улавливаете. Будьте бдительны.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.06.2010, 08:56   #5
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

=СУММЕСЛИ(Ведомость!$J$3:$J$20;A2;В едомость!$I$3:$I$20)
Или я неправильно понял? Зачем СМЕЩ?
vikttur вне форума Ответить с цитированием
Старый 02.06.2010, 09:46   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

2 vikttur
У человека в примере 10 строк, в реальной бухгалтерии их должно быть несколько тысяч. Охватить заранее диапазоны бОльшего размера - то же не выход, а вдруг строк несклько десятков тысяч... на исходную страницу явно будут добавляться по одной строки, и каждый раз править формулу? Это потенциальная возможность каждый раз сделать ошибку.
Я предпочитаю один раз написать формулу и больше к ней не возвращаться, так практичнее, на мой взгляд.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.06.2010, 10:12   #7
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Даже если СУММЕСЛИ охватит намного больший диапазон, расчет будет быстрее, чем СУММПРОИЗВ.
Примнение СУММПРОИЗВ, на мой взгляд, непрактично по нескольким причинам:
СЧЕТ() работает по всему столбцу (как же замечание "Охватить заранее диапазоны бОльшего размера - то же не выход"?);
СУММПРОИЗВ() "тяжелая" сама по себе;
Применение СМЕЩ() делает формулу летучей.
vikttur вне форума Ответить с цитированием
Старый 02.06.2010, 11:10   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Это довольно абстрактный диспут, который не интересен публике и, возможно, даже нам с тобой... но продолжим
Не берусь утверждать кто быстрее СУММЕСЛИ или СУММПРОИЗВ - экспериментов не ставил.
Согласен СЧЕТ колбасит весь столбец, но чем-то надо конечную строку зафиксировать, это гораздо лучше чем СУММПРОИЗВ, который будет проверять и складывать пустые строки без данных.
Да, у СМЕЩ написанного так СМЕЩ(Ведомость!$A$1;2;8;СЧЁТ(Ведомо сть!I:I)) есть один огромный недостаток - цифры 2,8 в формуле, стоит только пользователю добавить несколько строк сверху, или удалить один из первых столбцов и СМЕЩ будет ссылаться на "неправильный" диапазон. это то же лечится:
СМЕЩ(Ведомость!$A$1;СТРОКА(Ведомост ь!A2);СТОЛБЕЦ(Ведомость!H1);СЧЁТ(Ве домость!I:I))
Назовем это "остатки"
а вот это называем счета
СМЕЩ(Ведомость!$A$1;СТРОКА(Ведомост ь!A2);СТОЛБЕЦ(Ведомость!H1);СЧЁТ(Ве домость!I:I))
в результате в С2 получаем красивую, понятную формулу:
=СУММПРОИЗВ(остатки*(счета=A2))
или, если угодно
=СУММЕСЛИ(счета; A2; остатки)
Вложения
Тип файла: rar Книга351.rar (5.0 Кб, 13 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 02.06.2010 в 11:12.
IgorGO вне форума Ответить с цитированием
Старый 02.06.2010, 11:46   #9
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Цитата:
Не берусь утверждать кто быстрее СУММЕСЛИ или СУММПРОИЗВ - экспериментов не ставил.
IgorGO, СУММЕСЛИ быстрее.
ZORRO2005 вне форума Ответить с цитированием
Старый 02.06.2010, 11:56   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

спасибо.
буду знать. Теперь в боевых условиях буду использовать СУММЕСЛИ, а то и просто СУММ со всякими ЕСЛИ внутри
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
если >30 тогда "да" иначе "нет"... DBgrid Daur БД в Delphi 4 30.05.2010 16:54
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51