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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2016, 10:14   #1
Surp777
 
Регистрация: 11.09.2013
Сообщений: 3
По умолчанию Проверка значений в соседней ячейке

Добрый день!

ИД Счет Сумма
1001 604 5 500 074,00
1001 60601 1 373 618,00
2546 619 2 100 000,00
2546 60601 579 000,00
1985 604 4 476 507,00
1985 60601 1 259 782,00

Итого 604 9 976 581,00
Итого 60601 2 633 400,00


Итого 619 2 100 000,00
Итого 60601 579 000,00


Необходимо посчитать итоговые суммы по счетам. По счетам 604, 619 это решили без проблем с использованием функции ЕСЛИСУММ (=СУММЕСЛИ($C$6:$C$67;"604";F6:F67) ). А со счетом 60601 возникли трудности. Так как суммы будет две, один счет 60601 относится к счету 604, второй - к счету 619. Это можно посмотреть по ИД.
Думали, использовать все ту же функцию СУММЕСЛИ с использованием критериев, задав проверку на значение ячейки выше. Но как это правильно реализовать, и можно ли вообще так сделать, не знаем.
Подскажите, как это можно сделать?
Surp777 вне форума Ответить с цитированием
Старый 14.12.2016, 10:31   #2
peq
Форумчанин
 
Регистрация: 01.03.2009
Сообщений: 230
По умолчанию

если делать в уже принятой логике(через суммесли), и структура файла дальше ниже не меняется(если в нем большее колво-строк) - можно так:
=СУММЕСЛИМН(F7:F68;$C$6:$C$67;"604" ;$C$7:$C$68;"60601")
=СУММЕСЛИМН(F7:F68;$C$6:$C$67;"619" ;$C$7:$C$68;"60601")
peq вне форума Ответить с цитированием
Старый 14.12.2016, 12:38   #3
Surp777
 
Регистрация: 11.09.2013
Сообщений: 3
По умолчанию

peq, спасибо Вам большое за предложенное решение.

В статичной таблице эти функции работают.
А если все же количество строк в таблице может меняться? Данные при запуске загружаются из базы данных.
Для счетов 604 и 619 - используется функция =СУММЕСЛИ($C$6:$C$9;"604";F6:F9)
Для счетов 60601 прописала =СУММЕСЛИМН(G7:G9;$C$6:$C$8;"604";$ C$7:$C$9;"60601"),
но ничего не посчиталось, после запуска расчета в итоговой таблице следующая формула =СУММЕСЛИМН(G67:G67;$C$6:$C$66;"619 ";$C$67:$C$67;"60601")

Последний раз редактировалось Surp777; 15.12.2016 в 10:14.
Surp777 вне форума Ответить с цитированием
Старый 14.12.2016, 12:53   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а) можно посчитать сколько у Вас данных (задать в диспетчере имен ПСтрока
Код:
= Счет(F:F)+5
б) потом размеры диапазонов определять на основании значения ПСтрока
Код:
=СУММЕСЛИМН($F$6:Индекс($F:$F;ПСтрока);$C$5:Индекс($C:$C;ПСтрока-1);"604"; $C$6:Индекс($C:$C;ПСтрока);"60601")
и эту формулу не нужно исправлять под размеры исходной таблицы (она сама подстроиться)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel Проверка значений в соседней ячейке Surp777 Помощь студентам 2 14.12.2016 13:20
Несколько значений в одной ячейке! Tigranik Microsoft Office Excel 6 24.11.2014 09:08
Ярлык лист в exсеl и как найти формулу которая в соседней ячейке МАРИННН Microsoft Office Excel 3 16.03.2014 01:38
ПЕРЕСЧЕТ ЗНАЧЕНИЙ В ЯЧЕЙКЕ VITA11111 Microsoft Office Excel 1 22.06.2013 18:17
StringGrid проверка на наличие в ячейке символа SPD Общие вопросы Delphi 0 20.09.2010 11:27