Categorias
Excel

Contar número de sábados ou domingos em um mês com Excel

Recentemente precisei contabilizar a quantidade de sábados e domingos que existem da data atual até o final do mês. Encontrei diversas formas de fazer isso, aqui vou trazer a que achei mais prática

Função DIATRABALHOTOTAL.INTL

O método consiste em usar a função NETWORKDAYS.INTL (DIATRABALHOTOTAL.INTL em português). Esta função calcula quantos dias úteis existem entre duas datas e recebe três parâmetros:

  • Data Inicial
  • Data Final
  • Fim de semana: Regra do que é dia útil e o que é final de semana. Se não for passado, ele considera sábado e domingo como final de semana, mas permite ser customizado para contar só sábado ou só domingo, ou qualquer combinação de dias. Existem alguns valores pré-definidos para esse parâmetro, mas ele também suporta uma texto com 7 números 1 ou 0, indicando se é considerado um dia útil ou não. O primeiro número representa segunda-feira, o segundo terça-feira e assim por diante. Exemplo: 1111100, indica que sábado e domingo são considerados fim de semana:

Exemplo de uso para retornar quantos dias úteis faltam do dia atual para o final do mês:

# Inglês
=NETWORKDAYS.INTL(TODAY(); EOMONTH(TODAY();0))

# Portugues
=DIATRABALHOTOTAL.INTL(HOJE(); FIMMÊS(HOJE();0))

Agora a alteração para contar quantos sábados e domingos faltam do dia atual para o final do mês:

# Inglês
=NETWORKDAYS.INTL(TODAY(); EOMONTH(TODAY();0); "1111100")

# Portugues
=DIATRABALHOTOTAL.INTL(HOJE(); FIMMÊS(HOJE();0); "1111100")

Para contar outros dias, basta adaptar o último parâmetro para o dia desejado. Exemplos:

  • 0111111: Contará as segundas-feira que faltam para o final do mês
  • 1011111: Contará as terças
  • 1110011: Contará quantas quintas e sextas faltam
  • Etc

Outro exemplo: Quantidade de dias, exceto domingos, entre duas datas que estão nas colunas A1 e B1:

# Inglês
=NETWORKDAYS.INTL(A1; B1; "0000001")

# Portugues
=DIATRABALHOTOTAL.INTL(A1; B1; "0000001")
Categorias
Wordpress

Abrir um form do Elementor com ação de redirect em uma nova aba

Ao utilizar um formulário com ação de Redirect no Elementor Pro, ele não permite que a URL seja aberta em uma nova janela ou aba. Para conseguir isso, é possível utilizar o código Javascript abaixo:

jQuery( document ).ready(function( $ ){
	jQuery( document ).on('submit_success', function(e, d){
		var url = d.data.redirect_url;
		d.data.redirect_url = undefined;
		if('undefined' !== typeof url){
			window.open(url, '_blank');
		} 
	});
});

Basta inserir esse código na página do formulário. Este script foi testado com WordPress 5.5.1, Elementor 3.0.12 e Elementor Pro 2.8.4. Não é garantido que funcionará em outras versões.

Categorias
Excel

Encontrar a penúltima ocorrência de um determinado valor no Excel

Já fiz dois posts ensinando como encontrar a última e a enésima ocorrência de um valor no Excel, agora trago uma variação desse última para conseguir obter o penúltimo valor.

A abordagem é bem semelhante ao de encontrar a n-ésima ocorrencia, a diferença fica no uso da função LARGE (MAIOR em português) ao invés da SMALL (MENOR). Seguindo o mesmo exemplo, suponha que você tenha uma tabela com os dados:

Neste caso, se eu procurar por “Caneta”, gostaria de obter o valor “R$ 4,00”. A função é a seguinte:

=INDEX(B2:B10;LARGE(IF("Caneta"=A2:A10;ROW(A2:A10)-ROW(A2)+1);2))

Aplique com CONTROL+SHIFT+ENTER.

O que determina qual ocorrência será retornada é o segundo parâmetro da função LARGE, nesse caso o número 2 para indicar que queremos o penúltimo. Para pegar a última ocorrência bastaria trocar ele para 1, a antepenúltima para 3 e assim por diante.

Categorias
Dicas Programação

Como utilizar o Google Cloud SDK com múltiplas credenciais

Para quem utiliza o Google Cloud SDK e queira autenticar com mais de uma credencial ao mesmo tempo, você pode utilizar esses comandos para criar uma configuração para cada conta:

1. Criar uma configuração:
gcloud config configurations create [nome-da-config]

2. Ativar a configuração:
gcloud config configurations activate [nome-da-config]

3. Autenticar na conta desejada:
gcloud auth activate-service-account --key-file=[path-da-conta-de-servico.json]
ou
gcloud auth login

4. Setar o projeto padrão:
gcloud config set project [id-do-projeto]

Depois só repetir os passos de 1 a 4 para cada conta que deseja autenticar.

5. Para utilizar a configuração:
gcloud config configurations activate [nome-da-config]
ou utilize a variável de ambiente:
CLOUDSDK_ACTIVE_CONFIG_NAME="nome-da-config"

Caso esteja em uma rede fechada, antes da autenticação você pode configurar um proxy:
gcloud config set proxy/type http
gcloud config set proxy/address proxy.host.intranet # ou IP
gcloud config set proxy/port 3128

Para mais detalhes, consulte a documentação oficial: https://cloud.google.com/sdk/gcloud/reference/config/configurations

Categorias
Desenvolvimento de software Dicas

Comandos úteis para Kubernetes (kubectl)

A ideia aqui não é ser uma documentação, mas apenas servir de guia para consulta rápida de alguns comandos úteis, que eu particularmente sempre esqueço. Para quem quiser aprender mais sobre Kubernetes, melhor ir para a documentação oficial.

Abrir uma sessão do shell em uma pod

Esse comando é útil quando é preciso fazer uma análise mais detalhada da pod.
kubectl exec -it POD_NAME -- bash

Desativar um cronjob

Para desativar um cronjob sem precisar fazer um novo deploy é possível usar o comando:
kubectl patch cronjobs JOB_NAME -p '{"spec" : {"suspend" : true }}'

Descrever a pod

kubectl describe pod POD_NAME

Disparar execução de um cronjob

Caso queira disparar manualmente a execução de um cronjob, sem aguardar o agendamento:
kubectl create job --from=cronjob.batch/CRON_NAME JOB_NAME
JOB_NAME pode ser qualquer nome único