Procv invertido - contagem de folgas escala Vermelha e Preta

Bom dia.

Vi um video com uma fórmula interessante de procv invertido no excel que realiza o cálculo das folgas automaticamente somente informando se naquele dia a escala é vermelha ou preta. tentei realizar a mesma fórmula no libreoffice calc e não consegui. Realizando uma pesquisa vi que poderia conseguir o mesmo resultado combinando uma fórmula de procv com escolher, porém não obtive êxito. Diante do exposto solicito apoio na criação dessa fórmula. Segue os arquivos com a foto da fórmula no excel e a planilha com as fórmulas na célula em xr4 e xr5.
Escala de sv teste de formula.ods (65.5 KB)

fórmulas proc no excel.odt (525.8 KB)

Cela XR4: ?
Cela XR5: =PROC(2;1/(XP2:XQ2=XR2);XP4:XQ4)+1

Olá!
Se puder compartilhar o vídeo, agradeço!

XR4: =PROCV(XP2:XQ2=XR2;ESCOLHER({1\2};XP4:XQ4);2;0)+1

Tentei combinar uma fórmula de procv com escolher.

XR5: =PROC(2;1/$XP$2:XQ$2=XR2;$XP4:XQ4)+1
Esta é a fórmula que funciona no excel. Eu coloquei os cifrões para ficar igual a imagem e inclui os cifrões no arquivo também.

Bom dia,

Segue os dados do vídeo conforme solicitado:
endereço:

título do vídeo

Escala de Serviço Militar - Fórmula de contagem de folgas escalas V ou P (contagem com condição)

atenciosamente,
Edmilson

Bom dia,

Tentando solucionar o problema eu consegui uma fórmula que faz a pesquisa parcialmente, porém acredito que a fórmula está pesquisando da esquerda para a direita. Se conseguir uma fórmula de pesquisar da direita para a esquerda talvez funcione. Na planilha abaixo se alterar a célula de xr2 para p ou v, a coluna XR troca as folgas, porém a coluna XS já não funciona da mesma maneira.
Escala de sv teste de formula com resultado parcial.ods (63.7 KB)

@Edmilson Olá!
Acredito que tenha conseguido!
Alterei com a formula de XR4 até ( : ) XU16 apenas na planilha
segue para observação
Escala de sv teste de formula com resultado parcial2.ods (62,2,KB)
É bem complicado mesmo no caso vie que você tem outro chamado aqui com a mesma planilha, isso resolve o outro também? lá é por cor e até o momento não tenho ideia de como resolver…
Usei o chatgpt para uma melhor compreensão deixo explicação abaixo:
Formula : =PROC(2; 1/($C$2:$D$2=E$2); $C4:$D4) + 1

Claro! Vamos detalhar a função =PROC(2; 1/($C$2:$D$2=E$2); $C4:$D4) + 1.

Estrutura da Função

  1. PROCV e a Lógica do PROC:

    • O PROC é uma função que procura um valor em um intervalo e retorna um valor correspondente de outro intervalo. Neste caso, estamos usando uma técnica comum que envolve a divisão.
  2. Argumentos:

    • 2: Este é o valor que estamos tentando encontrar. O PROC procura por valores que se aproximam de 2.
    • 1/($C$2:$D$2=E$2): Este é um truque para criar um vetor de resultados. Aqui, $C$2:$D$2=E$2 resulta em uma matriz de valores lógicos (VERDADEIRO ou FALSO) dependendo se os valores em C2 e D2 são iguais a E2.
      • Quando um valor é VERDADEIRO, a expressão resulta em 1 (porque 1/VERDADEIRO = 1).
      • Quando é FALSO, resulta em uma divisão por zero, que o Excel ignora.
    • Portanto, o vetor resultante será algo como {1; ERRO}, dependendo dos valores nas células.
  3. $C4:$D4: Este é o intervalo de onde o PROC irá retornar o valor correspondente. Assim, se a condição for satisfeita, ele irá buscar o valor em C4 ou D4.

  4. + 1: Finalmente, estamos adicionando 1 ao resultado da função PROC.

Resumindo o Funcionamento

  • O PROC vai encontrar o maior valor que é menor ou igual a 2 no vetor gerado pela divisão. Se por exemplo, o valor correspondente a C2 ou D2 for igual a E2, ele irá retornar o valor da linha correspondente em C4 ou D4.
  • O + 1 no final ajusta o resultado final, incrementando em 1.

Exemplo Prático

Se:

  • C2 = 5, D2 = 3, E2 = 3 (então, $C$2:$D$2=E$2 resulta em FALSO para 5 e VERDADEIRO para 3)
  • C4 = 10, D4 = 20

O vetor gerado seria {FALSO, VERDADEIRO}{#DIV/0!, 1}.

Portanto, o PROC retornaria 20 (da célula D4) e a função final seria 20 + 1 = 21.

Espero que isso ajude a entender a função! Se precisar de mais alguma coisa, é só avisar.

Eu até pensei em usar a formula do SE com CONT.SE porém quando andava pro lado a formula dava errado…
Espero que tenha ajudado!

Obrigado! Será muito útil e ajudou demais!

1 Like