Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Суммесли для нескольких диапазонов, Суммесли для нескольких диапазонов
 
Переводить в плоскую таблицу со столбцами Дата, Наименование, Сумма.
Тогда найти нужное и подбить итоги будет легко и просто через СУММЕСЛИМН и фильтры ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
А тут только макрос писать.
Сравнение значения ячейки с её отображаемым значением даёт ЛОЖЬ
 
Тип данных Double он такой.  Проблема, когда пытаешься отфильтровать по столбцу со значениями с запятой. Проблема не Excel, а в целом двоичной системы счисления. Только задавать требуемую точность знаками после запятой.
Поиск, суммирование, подстановка по нескольким условиям с подтягиванием ближайшей даты, ВПР и СУММЕСЛИ не подходят
 
Извиняюсь, некорректно понял, какая дата интересует. Теперь ищет дату в столбце Поступления на склад.
Ячейка D4 =АГРЕГАТ(15;6;(Массив!$D$1:$D$500)/(Массив!$A$1:$A$500=$A4)/(Массив!$C$1:$C$500<>"Нет");1)
Ячейка C4 =ИНДЕКС(Данные!B:B;АГРЕГАТ(15;6;СТРОКА(Данные!$A$1:$A$500)/(Данные!$A$1:$A$500=$A4)/(Данные!$D$1:$D$500=$D4);1))
А здесь условие добавил на неотправленные:
Ячейка F4 =ИНДЕКС(Данные!$B:$B;АГРЕГАТ(15;6;СТРОКА(Данные!$A$1:$A$500)/(Данные!$A$1:$A$500=$A6)/(Данные!$C$1:$C$500="Нет")/(Данные!$D$1:$D$500=$G6);1))

Если нужно, поясню смысл:
АГРЕГАТ(15; - поиск наименьшего значения в массиве.
6 - исключение ошибок (ДЕЛ/0)
Далее получаем массив для поиска:

Массив!D$1:D$500 - это массив основных значений, в которых ищем.
/ - для проверки на условие. Если не выполняется, то получаем 0, на который делим и полуем ошибку ДЕЛ/0, которая исключается (см. 6).
Если условие выполняется, то ИСТИНА = 1 и деление на 1 не изменяет нужное значение.
Новые условия добавляются через /.

В конце ;1  - это первое по счету наименьшее.

ИНДЕКС - выборка из массива по номеру строки.
АГРЕГАТ(15;6;СТРОКА - это чтобы получить номера строк в массиве, которые мы также проверяем условиями через /.
Изменено: Artur B. - 12.12.2024 16:18:50
Поиск, суммирование, подстановка по нескольким условиям с подтягиванием ближайшей даты, ВПР и СУММЕСЛИ не подходят
 
Вот без формулы массива (лучше избегать):
Ячейка B4 =СУММЕСЛИМН(Массив!$B:$B;Массив!$A:$A;$A4;Массив!$C:$C;"<>"&"НЕТ")
Ячейка C4 =ИНДЕКС(Массив!B:B;АГРЕГАТ(15;6;СТРОКА(Массив!$A$1:$A$500)/(Массив!$A$1:$A$500=$A4)/(Массив!$C$1:$C$500=$D4);1))
Ячейка D4 =АГРЕГАТ(15;6;(Массив!$C$1:$C$500)/(Массив!$A$1:$A$500=$A4)/(Массив!$C$1:$C$500<>"Нет");1)
Ячейка E4 =СУММЕСЛИМН(Массив!$B:$B;Массив!$A:$A;$A4;Массив!$C:$C;"НЕТ")
Ячейка F4 =ИНДЕКС(Массив!$B:$B;АГРЕГАТ(15;6;СТРОКА(Массив!$A$1:$A$500)/(Массив!$A$1:$A$500=$A4)/(Массив!$D$1:$D$500=$G4);1))
Ячейка G4 =АГРЕГАТ(15;6;(Массив!$D$1:$D$500)/(Массив!$A$1:$A$500=$A4)/(Массив!$C$1:$C$500="Нет");1)

Файл приложить не могу из-за корп.ограничений.
Изменено: Artur B. - 12.12.2024 14:26:54
Поиск, суммирование, подстановка по нескольким условиям с подтягиванием ближайшей даты, ВПР и СУММЕСЛИ не подходят
 
Если формулой массива (Ctrl-Enter), то можно менять Массив!$C:$C на нужный столбец:
=ИНДЕКС(Массив!$C:$C;ПОИСКПОЗ(1;(Массив!$A:$A=$A4)*(Массив!$C:$C<>"Нет");0))
Скопировать в Word из Excel с сохранением формата
 
  .Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=False
Чтобы после фильтрации не пропадали кнопки фильтра?
 
Range.AutoFilter
Замена в макросе обычной формулы на формулу массива
 
Используйте rr.FormulaArray.
Формула из формул в ячейке excel, Формула (ссылка на другой файл) собирается из значений других ячеек
 
Konst Bab, если я правильно понимаю, то вы собираете значение ссылки на файл/лист как текст. Заверните в функцию =ГИПЕРССЫЛКА(ссылка).
Ограничения ИНДЕКС при задании дипазона в закрытом файле
 
Цитата
написал:
суммируйте закрытые файлы с СУММПРОИЗВ.
Спасибо, заработало. Один нюанс - нельзя указывать столбец целиком, ограничил 50000 строк.
Ограничения ИНДЕКС при задании дипазона в закрытом файле
 
Столкнулся с ограничением функции ИНДЕКС для задания диапазона в закрытом файле (свожу информацию из нескольких файлов 10-15 мб каждый).
=СУММ(ИНДЕКС(ФайлДанных!$N:$N;ПерваяСтрока):ИНДЕКС(ФайлДанных!$N:$N;ПерваяСтрока + Кол-во строк))

Кол-во строк - количество записей по интересующему объекту в файле (отсортировано).Если Кол-во строк >= 2, то вместо диапазона получаю #ССЫЛКА. Открываешь тот файл - всё нормально рассчитывается.

Какие-то странные ограничения кэша Excel. Можно ли обойти данное ограничение формул? Не хочется использовать макрос с открытием исходных файлов - замедлит работу.
Изменено: rioter - 22.07.2024 17:35:44
Число сохранено как текст, Пожалуйста, объясните классическое поведение Excel, почему он сохраняет числа как текст.
 
1. Формат ячеек мог быть поставлен как текстовой.
2. Формат ячеек был Общий / General, но данные вставлялись программно (VBA или из Базы данных) без валидации значений и форматирования конечных столбцов. Я с таким регулярно сталкиваюсь при работе с выгрузками из корпоративных информационных систем.
Страницы: 1
Наверх