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 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 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
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 n-é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