Vou simplificar um pouco para chegar ao cerne da minha pergunta.
Tenho uma planilha na qual uma célula tem uma fórmula massiva. (Mais uma vez, estou simplificando para evitar uma pergunta tão longa que ninguém vai ler).
No último minuto, uma nova variável foi introduzida. Se essa nova variável for menor que o valor dessa fórmula, a fórmula deverá retornar essa nova variável.
Este é um uso perfeito da função MIN(), mas estou tendo dificuldades para fazer com que a função MIN() use uma fórmula complexa (que tem muitas instruções IF) como um de seus argumentos e um intervalo de dados como outro.
Por exemplo, isso não funcionou:
MIN(NEW_DATA_RANGE,IF(x=y/pi...))
Onde NEW_DATA_RANGE
é um intervalo de dados que contém a nova variável.
Se eu substituir NEW_DATA_RANGE
por uma constante literal, funciona bem. Da mesma forma, se eu substituir a fórmula por uma constante literal, ela funcionará bem. Mas quando tento pegar o MIN() de um valor no intervalo de dados e uma fórmula complexa, o LibreOffice sempre retorna zero (0).
Isso é provavelmente um bug no LibreOffice Calc, ou há algum motivo pelo qual você não pode usar um intervalo de dados e uma fórmula complexa como argumentos para a função MIN()?
Embora a documentação não seja muito específica sobre isso, MIN() espera um intervalo de células ou uma lista de valores como parâmetros. Como sua função retorna um valor, os outros parâmetros para MIN() também precisam ser valores. Então você precisa passar NEW_DATA_RANGE como parâmetro para outra função retornando um valor. Por exemplo.
Se NEW_DATA_RANGE pode conter uma célula vazia
Eu substituiria o IF(...) por uma função definida pelo usuário.