Notifications
Clear all

FUNÇÃO CONCATENAR + SE

4 Posts
3 Usuários
0 Reactions
860 Visualizações
(@fragosojp)
Posts: 0
New Member
Topic starter
 

boa tarde galera

preciso de uma ajuda de vcs...

eu trabalho numa empresa aonde controlo todas as validades que entram no estoque, e todos os dias eu mando muitos email de validade para varias pessoas diferentes.
eu criei uma planilha para agilizar o processo, enviando os email via excel...
porem eu preciso de uma ajuda de vcs para otimizar um pouco mais o processo de envio de e-mail

o problema é o seguinte nos atendemos ao mercado privado e publico e damos a ele os seguintes códigos Privado (p0) e publico (pl)

na célula B1 ja tem uma formula aonde ela concatena com a celula k3, assim formando o texto "VALIDADE INFERIOR - P0" OU "VALIDADE INFERIOR - PL" para ir direto no assunto do e-mail até ai Ok.

**eu gostaria que alem de juntar essa formula de concatenar da "validade inferior - p0 ou pl" toda vez que o medicamento for perecível aparece com o seguinte texto : "VALIDADE INFERIOR - PL OU P0 - PERÉCIVELl"
na célula E3 eu informo manualmente se o produto é perecivel ou nao (com os seguintes valores Sim p/ perecivel) e nao, caso nao seja perecivel.**

 
Postado : 02/03/2017 11:07 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

=CONCATENAR("VENCIMENTO INFERIOR";" - ";K3)&SE(E3="SIM";" - PERECÍVEL";SE(E3="NÃO";" - NÃO-PERECÍVEL";""))
ou
=CONCATENAR("VENCIMENTO INFERIOR";" - ";K3;SE(E3="SIM";" - PERECÍVEL";SE(E3="NÃO";" - NÃO-PERECÍVEL";"")))

Obs: você menciona VALIDADE, mas na planilha consta como VENCIMENTO (INFERIOR).

 
Postado : 02/03/2017 11:12 am
(@fragosojp)
Posts: 0
New Member
Topic starter
 

muito obrigado, Edson

ficou perfeito

 
Postado : 02/03/2017 11:15 am
(@pfarias)
Posts: 0
New Member
 

Apenas para complementar, eu possuo uma função em VBA que se chama ConcatenarSE. Segue o código se alguém ainda não conhecer.

Public Function ConcatenarSE(Intervalo_Criterio As Range, _
                      Criterio As Variant, _
                      Intervalo_Concatenado As Range, _
                      Separador As String) As String

If Intervalo_Criterio.Cells.Count <> Intervalo_Concatenado.Cells.Count Then
    ConcatenarSE = "Dimensões inválidas"
    Exit Function
End If

Dim i               As Integer
Dim arCriterios()   As Variant
Dim arDados()       As Variant
Dim temp            As String

i = Intervalo_Criterio.Cells.Count
ReDim arCriterios(1 To i)
ReDim arDados(1 To i)

i = 1
For Each Cell In Intervalo_Criterio
    arCriterios(i) = Cell
    i = i + 1
Next

i = 1
For Each Cell In Intervalo_Concatenado
    arDados(i) = Cell
    i = i + 1
Next

For i = 1 To i - 1
    If arCriterios(i) = Criterio Then
        If temp = "" Then
            temp = arDados(i)
        Else
            temp = temp & Separador & arDados(i)
        End If
    End If
Next

ConcatenarSE = temp

End Function

Ai com ele é só utilizar a função na célula:

ConcatenarSE(Células que usará o critério;
                     Criterio;
                     Células que serão concatenadas;
                     Separador) O separador pode ser virgula, espaço, hífen, qualquer texto que você queira separar os itens concatenados.
 
Postado : 02/03/2017 1:41 pm