{"id":504,"date":"2020-08-27T22:36:57","date_gmt":"2020-08-28T01:36:57","guid":{"rendered":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/?page_id=504"},"modified":"2020-08-28T00:26:18","modified_gmt":"2020-08-28T03:26:18","slug":"se-ifs-switch","status":"publish","type":"page","link":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/modulo-intermediario\/aula-1-funcoes-logicas\/se-ifs-switch\/","title":{"rendered":"SE, IFS, SWITCH"},"content":{"rendered":"<div class=\"box generalbox center clearfix\">\n<div class=\"no-overflow\">\n<h3>Fun\u00e7\u00f5es L\u00f3gicas Condicionais<\/h3>\n<p>Ao longo do curso j\u00e1 utilizamos a fun\u00e7\u00e3o SE (IF). Que \u00e9 usada para comparar informa\u00e7\u00f5es e no caso da opera\u00e7\u00e3o resultar verdadeiro\u00a0 executamos uma a\u00e7\u00e3o, caso falso executamos outra fun\u00e7\u00e3o. Vamos ver agora, quais s\u00e3o as diferen\u00e7as para as novas fun\u00e7\u00f5es IFS() e SWITCH() que veremos nessa se\u00e7\u00e3o.<\/p>\n<p>E em que diferem estas fun\u00e7\u00f5es? \u2013 Na pr\u00e1tica, os seus argumentos s\u00e3o similares. No entanto, a sintaxe \u00e9 diferente e vai simplificado de fun\u00e7\u00e3o para fun\u00e7\u00e3o. Ent\u00e3o, e qual ser\u00e1 a mais eficiente?\u00a0Em primeiro lugar, qual \u00e9 a utilidade destas tr\u00eas fun\u00e7\u00f5es?<\/p>\n<p>Em termos pr\u00e1ticos, a cl\u00e1ssica fun\u00e7\u00e3o SE() analisa condi\u00e7\u00e3o a condi\u00e7\u00e3o. Sendo que, quando esta \u00e9 verdadeira, devolve um certo valor, quando \u00e9 falsa devolve outro. Para al\u00e9m disso, quando analisamos v\u00e1rias condi\u00e7\u00f5es, \u00e9 necess\u00e1rio encadear v\u00e1rios SE(). Algo que pode tornar a express\u00e3o extensa e complexa.<\/p>\n<p>Para contornar este caso, e torn\u00e1-lo mais simples, surgiram duas novas fun\u00e7\u00f5es IFS(),\u00a0que avalia uma ou v\u00e1rias condi\u00e7\u00f5es, possibilitando passar para a pr\u00f3xima condi\u00e7\u00e3o, quando o resultado n\u00e3o \u00e9 v\u00e1lido e\u00a0SWITCH(), onde cada express\u00e3o corresponde a um valor, devolvendo um certo resultado e, quando este n\u00e3o corresponde, passa ao pr\u00f3ximo. Aqui trabalhamos com um valor pr\u00e9-definido quando a condi\u00e7\u00e3o n\u00e3o se verifica.<\/p>\n<p>Ent\u00e3o, a pergunta que devemos fazer \u00e9, qual ser\u00e1 a forma mais simples e curta de resolver a nossa necessidade? Isso \u00e9 o que dever\u00e1 nortear a escolha entre estas fun\u00e7\u00f5es, vamos agora a elas.<\/p>\n<p>&nbsp;<\/p>\n<h3>Fun\u00e7\u00f5es<\/h3>\n<p>A fun\u00e7\u00e3o SE() \u00e9 expressa da seguinte forma: SE(expressao_logica; valor_se_verdadeiro; valor_se_falso). Que\u00a0retorna um valor se uma express\u00e3o l\u00f3gica for verdadeira e outro se for falsa.\u00a0Verifique se valor_se_verdadeiro e valor_se_falso foram fornecidos para a fun\u00e7\u00e3o na ordem correta. Essa \u00e9 a origem de problemas mais comum com SE. Sendo que:<\/p>\n<p>expressao_logica: uma express\u00e3o ou refer\u00eancia a uma c\u00e9lula que cont\u00e9m uma express\u00e3o que representa um valor l\u00f3gico (ou seja, VERDADEIRO ou FALSO).<\/p>\n<p>valor_se_verdadeiro: o valor que a fun\u00e7\u00e3o retorna se expressao_logica for VERDADEIRO.<\/p>\n<p>valor_se_falso: [OPCIONAL, em branco por padr\u00e3o] o valor que a fun\u00e7\u00e3o retorna se expressao_logica for FALSO.<\/p>\n<p>Vejamos no v\u00eddeo abaixo alguns exemplos de uso do SE:<\/p>\n<p><span class=\"mediaplugin mediaplugin_html5video\"><video title=\"se.mp4\" src=\"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/files\/2020\/08\/se.mp4\" preload=\"metadata\" controls=\"controls\" width=\"100%\" ><\/video><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>A fun\u00e7\u00e3o IFS() \u00e9 expressa da seguinte forma: IFS(condi\u00e7\u00e3o1, valor1, [condi\u00e7\u00e3o2, valor2], \u2026). Que avalia v\u00e1rias condi\u00e7\u00f5es e retorna um valor correspondente \u00e0 primeira condi\u00e7\u00e3o verdadeira. Se todas as condi\u00e7\u00f5es forem FALSO, #N\u00c3O.DISP ser\u00e1 retornado.\u00a0Sendo que:<\/p>\n<p>condi\u00e7\u00e3o: a primeira condi\u00e7\u00e3o a ser avaliada. Pode ser um booliano, um n\u00famero, uma matriz ou uma refer\u00eancia a qualquer um desses itens.<\/p>\n<p>valor1: o valor retornado se condi\u00e7\u00e3o1 for TRUE.<\/p>\n<p>condicao2, valor2, \u2026: condi\u00e7\u00f5es e valores adicionais se a primeira condi\u00e7\u00e3o avaliada for falsa.<\/p>\n<p>&nbsp;<\/p>\n<p>Vejamos no v\u00eddeo abaixo alguns exemplos de uso do IFS:<\/p>\n<p><span class=\"mediaplugin mediaplugin_html5video\"><video title=\"ifs.mp4\" src=\"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/files\/2020\/08\/ifs.mp4\" preload=\"metadata\" controls=\"controls\" width=\"100%\" ><\/video><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>A fun\u00e7\u00e3o SWITCH() \u00e9 expressa da seguinte forma: SWITCH(express\u00e3o; caso1; valor1; [caso2; valor2; &#8230;]; [padr\u00e3o]). Que compara uma express\u00e3o com uma lista de casos e retorna o valor do primeiro caso correspondente, com um valor padr\u00e3o opcional caso n\u00e3o existam correspond\u00eancias.\u00a0Sendo que:<\/p>\n<p>condi\u00e7\u00e3o: a primeira condi\u00e7\u00e3o a ser avaliada. Pode ser um booliano, um n\u00famero, uma matriz ou uma refer\u00eancia a qualquer um desses itens.<\/p>\n<p>express\u00e3o: qualquer valor v\u00e1lido.<\/p>\n<p>caso1: o primeiro caso a ser verificado em rela\u00e7\u00e3o \u00e0 express\u00e3o.<\/p>\n<p>valor1: o valor correspondente a ser retornado se caso1 corresponder \u00e0 express\u00e3o.<\/p>\n<p>caso2; valor2;\u2026 [opcional]: outros casos e valores se o primeiro n\u00e3o corresponder \u00e0 express\u00e3o.<\/p>\n<p>padr\u00e3o [opcional]: um valor opcional, especificado como o \u00faltimo par\u00e2metro, que ser\u00e1 retornado se nenhum dos casos corresponder \u00e0 express\u00e3o.<\/p>\n<p>&nbsp;<\/p>\n<p>Vejamos no v\u00eddeo abaixo alguns exemplos de uso do SWITCH:<\/p>\n<p><span class=\"mediaplugin mediaplugin_html5video\"><video title=\"switch.mp4\" src=\"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/files\/2020\/08\/switch.mp4\" preload=\"metadata\" controls=\"controls\" width=\"100%\" ><\/video><\/span><\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Fun\u00e7\u00f5es L\u00f3gicas Condicionais Ao longo do curso j\u00e1 utilizamos a fun\u00e7\u00e3o SE (IF). Que \u00e9 usada para comparar informa\u00e7\u00f5es e no caso da opera\u00e7\u00e3o resultar verdadeiro\u00a0 executamos uma a\u00e7\u00e3o, caso falso executamos outra fun\u00e7\u00e3o. Vamos ver agora, quais s\u00e3o as diferen\u00e7as para as novas fun\u00e7\u00f5es IFS() e SWITCH() que veremos nessa se\u00e7\u00e3o. E em que [&hellip;]<\/p>\n","protected":false},"author":667,"featured_media":0,"parent":320,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-504","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/pages\/504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/users\/667"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/comments?post=504"}],"version-history":[{"count":3,"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/pages\/504\/revisions"}],"predecessor-version":[{"id":781,"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/pages\/504\/revisions\/781"}],"up":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/pages\/320"}],"wp:attachment":[{"href":"https:\/\/wp.ufpel.edu.br\/planilhasgoogle\/wp-json\/wp\/v2\/media?parent=504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}