É para isso que estou buscando:
=IF(LEFT(Q3,2)="By","ver laboratório autorizado"&"-"&SUM(Q3-L3))
Estou tentando dizer que SE Q3 disser "Por" o retorno "consulte o laboratório autorizador", se não, subtraia L3 de Q3 (ambas as células são datas) e retorne quantos dias se passaram.
Responder1
Parece que a célula Q3
está no formato By [date]
. O Excel vê isso como um valor de texto, não como um valor de data. Assim, você não pode fazer algo parecido Q3-L3
. Suponho que é aí que surge a confusão. Você tem algumas opções para resolver o problema, dependendo de como seus dados estão configurados. Antes de entrarmos nisso, vamos limpar sua fórmula. EUpensarvocê querqualquermostrar o texto "Ver laboratório autorizador"oumostre quantos dias até que esteja pronto. Se for esse o caso, a fórmula deve ser
=IF(LEFT(Q3,2)="By", "See authorizing lab", Q3-L3)
Agora, por outro Q3-L3
lado, precisamos extrair um valor de data de um valor de texto. Existe uma função para isso. Como queremos pular os 3 primeiros caracteres ( By
), também usaremos a MID
função.
DATEVALUE(MID(Q3,4,LEN(Q3)))
Isso extrairá todo o texto começando com o quarto caractere e tentará convertê-lo em um valor de data. Conectar isso ao resto da fórmula nos dá:
=IF(LEFT(Q3,2)="By", "See authorizing lab", DATEVALUE(MID(Q3,4,LEN(Q3)))-L3)
Responder2
Você certamente pode fazer isso, não há razão para que você não possa ter texto e matemática na mesma IF
função.
Seu exemplo não segue o formato de uma IF
função, que é:
=IF(logical_test, value_if_true, value_if_false)
Ou seja, você precisa separar cada parte por vírgula. Portanto, seu código deve ser:
=IF(LEFT(Q3,2)="By", "see authorizing lab", Q3-L3)
(Além disso, não há necessidade de usar a SUM
função, a menos que você esteja tentando adicionar um intervalo de números.)