Usar a função IIf para apresentar ou calcular um valor

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

A função Ise tem a seguinte sintaxe:

IIf(texto lógico, valor se verdadeiro, valor se falso)

Por exemplo, para calcular os impostos numa caixa de texto num formulário, pode introduzir a seguinte expressão na propriedade Origem do Controlo na caixa de texto:

=IIf([Distrito] = “WA”,[TotalEncomenda] * 0.095, 0)

Tradução: se o campo Distrito contiver “WA”, calcule a taxa de imposto do TotalEncomenda vezes 0,095. Caso contrário, devolva um zero.

Função IIf aninhada

Depois de se dominar a função IIf, irá perceber que pode ser muito útil aninhá-las. "Aninhar" significa usar uma função IIf dentro de outra função IIf, quer como um argumento "valor se verdadeiro" ou "valor se falso" (ou ambos). Por exemplo, suponhamos que precisa de uma coluna de Estado num relatório que indique “Vencido" se a Data de Conclusão de um item já tiver sido ultrapassada. Se a Data de Conclusão for hoje, pretende que seja apresentado "Conclusão prevista para hoje". Se a Data de Conclusão ainda não tiver sido ultrapassada, pretende que a coluna Estado fique vazia. Assumindo que hoje é dia 9 de fevereiro de 2012, ser-lhe-á apresentado algo do género:

Relatório de tarefas com uma coluna Estado que usa a função IIF para apresentar uma mensagem.

Isto pode ser feito usando duas funções IIf, uma aninhada como argumento "valor se falso" da outra:

= Ise ([DueDate] < data (), "ATRASO", Ise ([DueDate] = data (), "Conclusão prevista para hoje"))

A última função IIf compara o campo DataDeConclusão com a data de hoje (devolvida pela função Date()). Nas primeiras duas tarefas no relatório acima apresentado, a data de conclusão vem antes da data de hoje, por isso o teste lógico da última função IIf avalia-a como Verdadeira e apresenta “VENCIDO”. Para a terceira tarefa (Pintar garagem), a última função IIF avalia-a como Falsa e a função IIf aninhada testa-a para verificar se a data de conclusão é igual à data de hoje. É igual, por isso a função IIf aninhada apresenta "Conclusão prevista para hoje". No caso da quarta tarefa (Cortar árvores), nenhuma das funções IIf a avalia como "Verdadeira", por isso não é apresentada nenhuma informação, porque não existe argumento "valor se falso" para a função IIf aninhada. É claro que é possível adicionar um argumento se quiser apresentar algo neste caso.

Conselho

Aninhar funções IIf é diversão, mas geralmente não quiser aceda a mais do que um ou dois níveis de profundidade. As expressões rapidamente podem ficar difíceis de ler e manter. Se a sua função IIf aninhada está a obter fora de mão, pode considerar utilizar a função Switch, que fornece um semelhantes "se –, em seguida," tipo de lógica.

Início da Página

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×