função MÁXIMO.SE.S
Devolve o máximo dos valores das células de um intervalo que cumpra critérios múltiplos em vários intervalos.
Esta função está disponível desde o LibreOffice 5.2.
MÁXIMO.SE.S(Func_Range; Range1; Criterion1[; Range2; Criterion2][; … ; [Range127; Criterion127]])
Func_Range – required argument. A range of cells, a name of a named range or a label of a column or a row containing values for calculating the maximum.
Range1 – required argument. It is a range of cells, a name of a named range, or a label of a column or a row, to which the corresponding criterion is to be applied.
Criterion1 – required argument. A string expression representing a logical condition or a cell reference to such string expression. The expression can contain text, numbers, regular expressions or wildcards (if enabled in calculation options).
Range2 – Optional. Range2 and all the following mean the same as Range1.
Criterion2 – Optional. Criterion2 and all the following mean the same as Criterion1.
Nas pesquisas pode utilizar caracteres universais e expressões regulares. Com as expressões regulares ativadas, pode inserir "all.*", por exemplo, para encontrar a primeira ocorrência de "all" seguida de qualquer outro carácter. Se quiser pesquisar por um texto que também é uma expressão regular, deve preceder cada carácter com "\"ou incluir o texto entre \Q...\E. Pode ativar a avaliação de caracteres universais ou expressões regulares em .
Ao usar funções onde um ou mais argumentos são textos que representem uma expressão regular, a primeira tentativa é de converter o texto do critério em número. Por exemplo, ".0" se converterá em 0.0 e assim por diante. Se tiver sucesso, a verificação não será por expressão regular, mas por conversão numérica. Contudo, se mudar de configuração regional e o separador decimal não for o ponto, a expressão regular será utilizada. Para forçar a avaliação da expressão regular em vez de uma expressão numérica, utilize uma expressão que não possa ser confundida com um número como, por exemplo, .[0]" ou ".\0" or mesmo "(?i).0".
Func_Range and Range1, Range2... must have the same size, otherwise the function returns err:502 - Invalid argument.
The logical relation between criteria can be defined as logical AND (conjunction). In other words, if and only if all given criteria are met, a value from the corresponding cell of the given Func_Range is taken into calculation.
A função pode ter até 255 argumentos, significando que pode haver 127 intervalos de critérios e critérios correspondentes.
Se a célula contiver VERDADEIRO, será tratada como 1 e se contiver FALSO, será tratada como 0 (zero).
Esta função é parte integrante da norma Open Document Format for Office Applications (OpenDocument), versão 1.2 (ISO/IEC 26300:2-2015).
Considere a seguinte tabela
|
A
|
B
|
C
|
1
|
Nome do produto
|
Vendas
|
Rendimento
|
2
|
pencil
|
20
|
65
|
3
|
pen
|
35
|
85
|
4
|
caderno
|
20
|
190
|
5
|
book
|
17
|
180
|
6
|
pencil-case
|
não
|
não
|
In all examples below, ranges for calculation contain the row #6, which is ignored because it contains text.
Utilização
=MÁXIMO.SE.S(B2:B6;B2:B6;"<35")
Calculates the maximum of values of the range B2:B6 that are greater than or equal to 20. Returns 35. The fifth row does not meet the criterion.
=MÁXIMO.SE.S(C2:C6;B2:B6;">=20";C2:C6;"<90")
Calculates the maximum of values of the range C2:C6 that are lower than 90 and correspond to cells of the B2:B6 range with values greater than or equal to 20. Returns 85, because the fourth and fifth rows do not meet at least one criterion.
Using regular expressions and nested functions
=MÁXIMO.SE.S(C2:C6;B2:B6;">"&MÍNIMO(B2:B6);B2:B6;"<"&MÁXIMO(B2:B6))
Calculates the maximum of values of the range C2:C6 that correspond to all values of the range B2:B6 except its minimum and maximum. Returns 190, because only the fourth row meet the criteria.
=MÁXIMO.SE.S(C2:C6;A2:A6;"pen.*";B2:B6;"<="&MÁXIMO(B2:B6))
Calculates the maximum of values of the range C2:C6 that correspond to all cells of the A2:A6 range starting with "pen" and to all cells of the B2:B6 range except its maximum. Returns 85, because only the third row meets all criteria.
Referência a uma célula como critério
Se precisar mudar o critério facilmente, você pode especificá-lo numa célula em separado e utilizar a referência a esta célula na condição da função MÁXIMO.SE.S. Por exemplo, a função acima pode ser reescrita como segue:
=MÁXIMO.SE.S(C2:C6;A2:A6;E2&".*";B2:B6;"<"&MÁXIMO(B2:B6))
If E2 = "pen", the function returns 65, because the reference to the cell is substituted with its content.