Замена СУММПРОИЗВ() на формулу с подсчётом вариантов "строка"&"*"
Добрый день! Прошу помощи у знатоков формул - чтот-то у самого не получается решить задачку... Необходимо подсчитать по базе, сколько каких терминалов по фирмам. 1. сколько всего не GSM 2. сколько всего GSM 3. сколько всего GSM c признаком LL в колонке C. База в пределах тысячи строк. На втором листе есть попытка посчитать LL, но без учёта GSM, т.к. с этим проблема - СУММПРОИЗВ не хочет считать "GSM*" - там
есть два варианта этого признака, но может быть и больше.
Формула массива =SUM(([BAZA.xls]Sheet1!$A$2:$A$36=A7)*([BAZA.xls]Sheet1!$B$2:$B$36="GSM*")*([BAZA.xls]Sheet1!$C$2:$C$36="LL")) тоже не хочет работать с "*"...
Хочется сделать дело без допстолбцов. С допстолбцом легко - выбрать туда GSM, потом c помошью СУММПРОИЗВ или даже массивной СУММ или СЧЕТЕСЛИ посчитать, сколько по фирме терминалов всего, сколько GSM - в С, разница - в B, сколько GSM+LL - в D.
Можно конечно написать макрос или UDF - но хочется обойтись стандартными формулами, вроде решение где-то рядом...
Замена СУММПРОИЗВ() на формулу с подсчётом вариантов "строка"&"*"
Добрый день! Прошу помощи у знатоков формул - чтот-то у самого не получается решить задачку... Необходимо подсчитать по базе, сколько каких терминалов по фирмам. 1. сколько всего не GSM 2. сколько всего GSM 3. сколько всего GSM c признаком LL в колонке C. База в пределах тысячи строк. На втором листе есть попытка посчитать LL, но без учёта GSM, т.к. с этим проблема - СУММПРОИЗВ не хочет считать "GSM*" - там
есть два варианта этого признака, но может быть и больше.
Формула массива =SUM(([BAZA.xls]Sheet1!$A$2:$A$36=A7)*([BAZA.xls]Sheet1!$B$2:$B$36="GSM*")*([BAZA.xls]Sheet1!$C$2:$C$36="LL")) тоже не хочет работать с "*"...
Хочется сделать дело без допстолбцов. С допстолбцом легко - выбрать туда GSM, потом c помошью СУММПРОИЗВ или даже массивной СУММ или СЧЕТЕСЛИ посчитать, сколько по фирме терминалов всего, сколько GSM - в С, разница - в B, сколько GSM+LL - в D.
Можно конечно написать макрос или UDF - но хочется обойтись стандартными формулами, вроде решение где-то рядом...Hugo
Спасибо, попробуем. Хотя пока решили просто через Ctrl+H поменять в столбце все "GSM*" на "GSM", таким образом не городя допстолбцы и сделать на формулах массива =SUM(([BAZA.xls]Sheet1!$A$2:$A$36=A2)*([BAZA.xls]Sheet1!$B$2:$B$36="GSM")) и даже разницу считает: =(SUM(--([BAZA.xls]Sheet1!$A$2:$A$36=A2)))-(SUM(([BAZA.xls]Sheet1!$A$2:$A$36=A2)*([BAZA.xls]Sheet1!$B$2:$B$36="GSM"))) Но ЕОШ(ПОИСК(" попробую.
P.S. что-то не получается перевести:) Можно в файле попросить - только свод?
PP.S.
Получилось! Всего: =SUMPRODUCT(--($A2=[BAZA.xls]Sheet1!$A$2:$A$36)) С GSM: =SUMPRODUCT(($A2=[BAZA.xls]Sheet1!$A$2:$A$36)*ISNUMBER(SEARCH("GSM";[BAZA.xls]Sheet1!$B$2:$B$36))) С GSM+LL: =SUMPRODUCT(($A2=[BAZA.xls]Sheet1!$A$2:$A$36)*ISNUMBER(SEARCH("GSM";[BAZA.xls]Sheet1!$B$2:$B$36))*([BAZA.xls]Sheet1!$C$2:$C$36="LL")) Терминалов не-GSM: =SUMPRODUCT(--($A2=[BAZA.xls]Sheet1!$A$2:$A$36))-SUMPRODUCT(($A2=[BAZA.xls]Sheet1!$A$2:$A$36)*ISNUMBER(SEARCH("GSM";[BAZA.xls]Sheet1!$B$2:$B$36)))
Спасибо, попробуем. Хотя пока решили просто через Ctrl+H поменять в столбце все "GSM*" на "GSM", таким образом не городя допстолбцы и сделать на формулах массива =SUM(([BAZA.xls]Sheet1!$A$2:$A$36=A2)*([BAZA.xls]Sheet1!$B$2:$B$36="GSM")) и даже разницу считает: =(SUM(--([BAZA.xls]Sheet1!$A$2:$A$36=A2)))-(SUM(([BAZA.xls]Sheet1!$A$2:$A$36=A2)*([BAZA.xls]Sheet1!$B$2:$B$36="GSM"))) Но ЕОШ(ПОИСК(" попробую.
P.S. что-то не получается перевести:) Можно в файле попросить - только свод?
PP.S.
Получилось! Всего: =SUMPRODUCT(--($A2=[BAZA.xls]Sheet1!$A$2:$A$36)) С GSM: =SUMPRODUCT(($A2=[BAZA.xls]Sheet1!$A$2:$A$36)*ISNUMBER(SEARCH("GSM";[BAZA.xls]Sheet1!$B$2:$B$36))) С GSM+LL: =SUMPRODUCT(($A2=[BAZA.xls]Sheet1!$A$2:$A$36)*ISNUMBER(SEARCH("GSM";[BAZA.xls]Sheet1!$B$2:$B$36))*([BAZA.xls]Sheet1!$C$2:$C$36="LL")) Терминалов не-GSM: =SUMPRODUCT(--($A2=[BAZA.xls]Sheet1!$A$2:$A$36))-SUMPRODUCT(($A2=[BAZA.xls]Sheet1!$A$2:$A$36)*ISNUMBER(SEARCH("GSM";[BAZA.xls]Sheet1!$B$2:$B$36)))Hugo