TG Telegram Group & Channel
Магия Excel | United States America (US)
Create: Update:

СУММЕСЛИМН по выбранному товару (поиск строки с помощью ПОИСКПОЗ)

На прошедшем в выходные тренинге по формулам обсуждали вот такую задачку: нужно просуммировать данные за выбранный год и только по штукам или деньгам. А таблица устроена так (плохо, но это жизнь), что в ней есть столбцы со штуками и деньгами попарно. Она не плоская.

Как быть?
Использовать СУММЕСЛИМН / SUMIFS, благо в условиях функции можно использовать символ подстановки (* = любой текст). И благо диапазоны суммирования и условия могут быть горизонтальными, а не только вертикальными.

В нашем случае переменная часть нужных заголовков — это месяцы. Они меняются. А нужный показатель (штуки или деньги) — нет. Соответственно, если нам нужны все продажи в деньгах за 2024 год:

=СУММЕСЛИМН(2:2;1:1;"Деньги*2024")


Все продажи в штуках за все время:
=СУММЕСЛИМН(2:2;1:1;"Штуки*")


Но вторая строка здесь - это конкретный товар. И коллеги на тренинге задали правильный вопрос - а как суммировать по выбранному (в выпадающем списке) товару?
Решили так:
Находим строку с помощью ПОИСКПОЗ / MATCH с выбранным товаром:
ПОИСКПОЗ(нужный товар;список товаров;0)
ПОИСКПОЗ(A11;A1:A7;0)


Делаем ссылку на строку с этим номером - то есть добавляем двоеточие и еще раз этот же номер
ПОИСКПОЗ(A11;A1:A7;0) & ":" & ПОИСКПОЗ(A11;A1:A7;0)


Такая конструкция вернет 3:3, если выбранный товар в третьей строке.
Но это текст. Превратим его в активную ссылку с помощью ДВССЫЛ / INDIRECT и засунем в СУММЕСЛИМН:
=СУММЕСЛИМН(ДВССЫЛ(ПОИСКПОЗ(A11;A1:A7;0) & ":" & ПОИСКПОЗ(A11;A1:A7;0));1:1;B10)


В новой версии можно с помощью LET один раз найти номер строки, а не вычислять его дважды:
=LET(строка;ПОИСКПОЗX(A11;A1:A7);
СУММЕСЛИМН(ДВССЫЛ(строка&":"&строка); 1:1 ;B10))

(но в новых формулах столько функций, что можно и как-нибудь иначе вообще это решить ;) )

СУММЕСЛИМН по выбранному товару (поиск строки с помощью ПОИСКПОЗ)

На прошедшем в выходные тренинге по формулам обсуждали вот такую задачку: нужно просуммировать данные за выбранный год и только по штукам или деньгам. А таблица устроена так (плохо, но это жизнь), что в ней есть столбцы со штуками и деньгами попарно. Она не плоская.

Как быть?
Использовать СУММЕСЛИМН / SUMIFS, благо в условиях функции можно использовать символ подстановки (* = любой текст). И благо диапазоны суммирования и условия могут быть горизонтальными, а не только вертикальными.

В нашем случае переменная часть нужных заголовков — это месяцы. Они меняются. А нужный показатель (штуки или деньги) — нет. Соответственно, если нам нужны все продажи в деньгах за 2024 год:
=СУММЕСЛИМН(2:2;1:1;"Деньги*2024")


Все продажи в штуках за все время:
=СУММЕСЛИМН(2:2;1:1;"Штуки*")


Но вторая строка здесь - это конкретный товар. И коллеги на тренинге задали правильный вопрос - а как суммировать по выбранному (в выпадающем списке) товару?
Решили так:
Находим строку с помощью ПОИСКПОЗ / MATCH с выбранным товаром:
ПОИСКПОЗ(нужный товар;список товаров;0)
ПОИСКПОЗ(A11;A1:A7;0)


Делаем ссылку на строку с этим номером - то есть добавляем двоеточие и еще раз этот же номер
ПОИСКПОЗ(A11;A1:A7;0) & ":" & ПОИСКПОЗ(A11;A1:A7;0)


Такая конструкция вернет 3:3, если выбранный товар в третьей строке.
Но это текст. Превратим его в активную ссылку с помощью ДВССЫЛ / INDIRECT и засунем в СУММЕСЛИМН:
=СУММЕСЛИМН(ДВССЫЛ(ПОИСКПОЗ(A11;A1:A7;0) & ":" & ПОИСКПОЗ(A11;A1:A7;0));1:1;B10)


В новой версии можно с помощью LET один раз найти номер строки, а не вычислять его дважды:
=LET(строка;ПОИСКПОЗX(A11;A1:A7);
СУММЕСЛИМН(ДВССЫЛ(строка&":"&строка); 1:1 ;B10))

(но в новых формулах столько функций, что можно и как-нибудь иначе вообще это решить ;) )
🔥15👍84👏2


>>Click here to continue<<

Магия Excel






Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)