СУММЕСЛИМН

Автор Сергей73, 5 января 2025, 21:36

0 Пользователи и 1 гость просматривают эту тему.

Сергей73

Доброго времени суток, форумчане!
Не кидайтесь тапками, пожалуйста. Если вопрос обсуждался, скиньте ссылку.
Помогите с логической формулой.

mikekaganski

#1
  • "СУММЕСЛИМН" (SUMIFS) здесь ни при чём, поскольку "МН" нужна только если есть несколько условий, которые должны выполняться одновременно (а у Вас не может быть строки одновременно с "П-01", "П-02" и "П-03").
  • Даже "СУММЕСЛИ" (SUMIF) тут не подойдёт, так как принимает только диапазон суммируемых значений, тогда как у Вас суммируемые значения - не диапазон (ячеек), а результат промежуточного вычисления (произведения ячеек).
  • Подойдёт "СУММПРОИЗВ" (SUMPRODUCT), которая принимает (и сама перемножает построчно) любые векторы. В качестве критерия лучше использовать "ячейка в столбце A найдена в векторе значений", используя "ВПР" (VLOOKUP) и "ЕТЕКСТ" (ISTEXT) (так как VLOOKUP в режиме точного совпадения вернёт либо найденный текст, либо ошибку, а ISTEXT превратит это в единицу (истина) либо ноль (ложь), которые при перемножении как раз отфильтруют только нужные строки):
    =SUMPRODUCT(ISTEXT(VLOOKUP(A:A;{"П-01";"П-02";"П-03"};1;0));C:C;G:G)
  • Ну и естественное продолжение - создать отдельный столбец, где Вы будете задавать список нужных значений, и использовать его как второй аргумент в VLOOKUP.

С уважением,
Михаил Каганский

kompilainenn

А если деталей будет 100 видов разных и их вариаций будет 100 факториал? Может вам поможет сводная таблица и дополнительный столбец с произведением количества на массу готового?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Сергей73

Благодарю, за поддержку!
Как раз в нижней части скриншота и есть урезанная версия сводной таблицы, - это сильно усложняет и увеличивает время работы.
Потому и хочется найти такую формулу которую  можно копировать с редактированием без создания костылей.
Попробую выше предложенную формулу и отпишусь по результату.

Сергей73

Да, к тому же не все детали из общего количества изготавливаются не одновременно, а по частям из разных категорий. Нужно знать сколько и каких деталей изготовлено за смену. Например, Деталей А нужно 100, а изготовлено 25. Деталей В нужно 1200, а изготовлено 125 и т.д.
Нужно весь этот разнобой сложить по весу и по штучно.
По штучно не проблема. А по весу никак не могу сложить.
Если я буду делать для каждой детали отдельный столбец, - Кальк ляжет и я рядом с ним.
Через сводную таблицу долго и муторно.

Сергей73

Получилось так:

Сергей73

Затем нашёл в инете почему ошибка.
Не стояла галочка в нужном месте.

Сергей73

Ошибка формулы ушла.
Формула считает только 5-ю строчку.
Как доработать формулу?

mikekaganski

Нет файла - нет возможности проверить. Больше вручную воспроизводить скриншоты нет желания.
С уважением,
Михаил Каганский

Сергей73

Прошу прощения, не знал.
Исправлюсь.
Как правильно скинуть файл?

Сергей73

Попытка скинуть файл

bigor

Цитата: Сергей73 от  7 января 2025, 10:29файл
такая работает
=SUMPRODUCT(ISTEXT(VLOOKUP(A1:A1000;{"П-01"|"П-02"|"П-03"};1;0));C1:C1000;G1:G1000)
Поддержать наш форум можно здесь

mikekaganski

#12
И покажите ещё, пожалуйста, скриншот формулы в ячейке I5.

Цитата: bigor от  7 января 2025, 10:47такая работает

Верно; я использовал разделители строк, неподходящие для русской локали. Прошу прощения. В русской локали в массиве нужны | (pipe) а не ;
С уважением,
Михаил Каганский

Сергей73

Благодарю за поддержку!!!!
Прошу прощения, я уже достал своей проблемой...
Формула считает только три строчки!?!?!?
Хотя диапазон указан большой (у меня 7 строк).

bigor

Цитата: Сергей73 от  7 января 2025, 13:01считает только три строчки
именно так вы просили в первом посте (ну или я так понял из картинок) опишите, как это должно работать в новых реалиях, считать все заполненные строки? считать отдельно указанные строки?
Поддержать наш форум можно здесь