Якщо у нас є таблиця, по якій повинні вважатися підсумки, то важливу роль відіграє який саме функцією вони обчислюються, тому що в таблиці можуть бути:
- включені фільтри
- Приховані деякі рядки
- Згорнуті згруповані рядки
- Проміжні підсумки всередині таблиці
- Помилки в формулах
Деякі з наведених нижче способів чутливі до цих чинників, деякі - ні. Це потрібно враховувати при виконанні обчислень:
СУММ (SUM) - тупо підсумовує все в виділеному діапазоні без розбору, тобто і приховані рядки в тому числі. Якщо хоча б в одній комірці є будь-яка помилка - перестає вважати і теж видає помилку на виході.
ПРОМЕЖУТОЧНИЕ.ІТОГІ (SUBTOTALS) з кодом 9 в першому аргументі - підсумовує всі видимі після фільтра осередки. Ігнорує інші подібні функції, які можуть вважати внутрішні Проміжні підсумки в вихідному діапазоні.
ПРОМЕЖУТОЧНИЕ.ІТОГІ (SUBTOTALS) з кодом 109 в першому аргументі - підсумовує всі видимі після фільтра і угруповання (або приховування) осередки. Ігнорує інші подібні функції, які можуть вважати внутрішні Проміжні підсумки в вихідному діапазоні.
Якщо потрібно не підсумовувати, то можна використовувати інші значення коду математичної операції:
Посилання по темі
ПРОМЕЖУТОЧНИЕ.ІТОГІ з кодом 109.
Якщо приховані рядки, все ок. Але умова не поширюється на згруповані стовпці. Їх значення все одно вважає.
А підкажіть як зробити ВВР, щоб він працював з таблицею, де виставлено фільтр, і повертав тільки видимі рядки?
Не впевнений, що це можна нормально реалізувати формулою.
Я б писав для користувача функцію на Visual Basic для такого завдання.
Сергій Пепеляєв, якщо ви знайшли відповідь на своє питання, то прохання поділитися - теж цікавить це питання.
Підкажіть, як написати формулу середньозваженого значення без прихованих осередків. Наприклад, у мене формула така: = СУММПРОІЗ (A1: A20; D1: D20) / СУММ (D1: D20). Приховую осередки, але ця формула вважає і приховані осередки, а мені вони не потрібні. Як зробити, щоб вони не враховувалися, у мене не вистачає. тяму.
Юлія, я б зробив ще один стовпець з простим множенням A на D. Потім, після фільтра, вважав би за нього суму тільки видимих за допомогою функцій ПРОМЕЖУТОЧНИЕ.ІТОГІ або АГРЕГАТ і ділив на таку ж суму за D.
я так вже зробила. Хотіла зробити в одній комірці щоб не захаращувати файл, тому що таблиця з великою кількістю стовпців. Всерівно велике спасибі за відпові т. З Новим роком Вас!
Микола, згоден з Вами функція АГРЕГАТ - потужна і корисна штука!
Більш того в поєднанні з «Розумними таблицями» працює просто чудово, наприклад:
= АГРЕГАТ (9; 3; Таблица1 # 91; Тамож.сбор # 93;), де: Таблица1 - назва розумної таблиці, а # 91; Тамож.сбор # 93; - стовпець розумної таблиці
Більш того цю функцію можна вставляти в автоматичну «рядок підсумків» розумної таблиці:
= АГРЕГАТ (9; 3; # 91; Тамож.сбор # 93;)
Добрий день, дозвольте запитання?
А що якщо мені необхідно порахувати проміжні підсумки (підсумувати) за будь-яким критерієм? Тобто як з функцією СУМЕСЛІ, але при цьому щоб приховані фільтром рядки не враховувалися? Ні в ПРОМЕЖУТОЧНИЕ.ІТОГІ ні у АГРЕГАТ такої альтернативи я не знайшов.
P.S. Мова йде про "розумної" таблиці і її фільтрі.
P.P.S. Спасибі, проблема вирішена.
А можете поділитися відповіддю.
Заздалегідь величезне спасибі.
Всім дякую! І прекрасних відпусток!
Застосував ПРОМЕЖУТОЧНИЕ.ІТОГІ з кодом 9. все прекрасно відобразилося. Але як тепер прикрутити нумерацію відображених рядків?
Використання будь-яких матеріалів сайту
строго за умови посилання на джерело.
ІП Павлов Микола Володимирович
ІПН 633015842586
свідоцтво про Державну 310633031600071