AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1472657
Accepted
hiigaran
hiigaran
Asked: 2019-08-19 11:57:38 +0800 CST2019-08-19 11:57:38 +0800 CST 2019-08-19 11:57:38 +0800 CST

Exibindo valores em uma planilha até X dias a partir da data atual

  • 772

Estou procurando obter ajuda para desvendar a bagunça que é uma planilha de entrada de dados e resumo que tive nos últimos anos no LibreOffice Calc. O layout geral das partes relevantes da planilha é o seguinte:

Folha: "Entrada de dados"

|A    |B    |...  |L    |
|-----|-----|-----|-----|
|Date |Name |...  |Value|

Folha: "Resumo"

|A    |...  |E           |G                       |
|-----|-----|------------|------------------------|
|Name |...  |Total Values|Values from last 90 days|

No momento, tudo funciona, mas desejo adicionar uma nova função à planilha de resumo, que é a coluna G. A coluna E executa uma fórmula complexa para pesquisar na planilha de entrada de dados todas as linhas em que as células da coluna de resumo A correspondem às células de dados Coluna de entrada B. Aqui está a fórmula:

=SUMPRODUCT(('Data Entry'.$B$3:INDIRECT("'Data Entry'.B"&'Data Entry'.$A$1+2)=A1)*ISNUMBER('Data Entry'.$L$3:INDIRECT("'Data Entry'.L"&'Data Entry'.$A$1+2)),('Data Entry'.$L$3:INDIRECT("'Data Entry'.L"&'Data Entry'.$A$1+2)))

Esta é uma bagunça absolutamente confusa, eu sei. Vou tentar simplificar a fórmula abaixo:

=SUMPRODUCT((B1:B100=A1)*ISNUMBER(L1:L100),(L1:L100))

O que eu queria saber é como eu poderia modificar esta fórmula para a coluna Resumo G, onde sua busca seria limitada apenas aos últimos 90 dias.

Um exemplo do que devo ver:

Folha: "Entrada de dados"

|A       |B    |...|L|
|--------|-----|---|-|
|19-08-13|Name1|...|2|
|19-07-25|Name2|...|1|
|19-01-01|Name1|...|3|

Folha: "Resumo"

|A    |...|E|G|
|-----|---|-|-|
|Name1|...|5|2|
|Name2|...|1|1|

EDIT: O seguinte me dá um erro 502:

=SUMPRODUCT(('Data Entry'.$B$3:INDIRECT("'Data Entry'.B"&'Data Entry'.$A$1+2)=A6)*ISNUMBER('Data Entry'.$L$3:INDIRECT("'Data Entry'.L"&'Data Entry'.$A$1+2))*('Data Entry'.A3:"'Data Entry'.A"&'Data Entry'.$A$1+2>TODAY()-91),('Data Entry'.$L$3:INDIRECT("'Data Entry'.L"&'Data Entry'.$A$1+2))*('Data Entry'.A3:"'Data Entry'.A"&'Data Entry'.$A$1+2>TODAY()-91))
worksheet-function spreadsheet
  • 1 1 respostas
  • 43 Views

1 respostas

  • Voted
  1. Best Answer
    fixer1234
    2019-08-21T10:50:44+08:002019-08-21T10:50:44+08:00

    A questão descreve duas questões. Um está tentando depurar uma longa fórmula. Geralmente, a chave para isso é dividir a fórmula em suas partes componentes e testar cada parte para ver o que está fazendo. Comece mantendo os blocos lógicos intactos (ou seja, várias expressões que funcionam juntas) para identificar qual seção da fórmula não está funcionando. Se o erro não for óbvio, divida a seção em suas partes componentes.

    Faça isso copiando e colando cada parte e, em seguida, ajuste a parte colada para torná-la uma fórmula autônoma (como adicionar o sinal de igual). Caso o problema seja parênteses desbalanceados, copie toda a expressão que contém todos os parênteses, depois apague as demais expressões internas e seus parênteses, que serão mais fáceis de localizar; parênteses desequilibrados no que resta podem se tornar óbvios apenas com este exercício. Copiar e colar garantirá que o problema será incluído no que você testar; redigitar a fórmula pode corrigir erros e tudo funciona quando você testa, para que não sirva a um propósito de diagnóstico.

    A outra questão foi limitar os resultados aos últimos 90 dias. Isso pode ser feito de maneira semelhante à forma como a fórmula já limita os resultados ao nome correspondente -- adicione um teste à lista de expressões em SUMPRODUCT. Para manter as coisas simples, deixarei de lado a complexidade de usar INDIRETO para construir os intervalos e mostrar apenas os intervalos fixos. No contexto, o argumento adicional poderia ser assim:

    =SUMPRODUCT( ... (L1:L100), (A1:A100>TODAY()-91) ... )
    

    O (L1:L100) é apenas para mostrar a localização no exemplo simplificado da pergunta.

    As datas são armazenadas como contagens de dias, portanto, os valores estão em unidades de dias. Você pode adicionar ou subtrair dias diretamente. A expressão >TODAY()-91testa datas anteriores a hoje em não mais de 90 dias. Isso pressupõe que seus dados não podem conter datas futuras, pois elas seriam incluídas se você não expandisse a fórmula para limitar isso também. A expressão inteira é um teste lógico que retorna VERDADEIRO ( 1) ou FALSO ( 0). SUMPRODUCT multiplica o restante do resultado da matriz por esses valores, resultando em zero ou qualquer que seja o resultado dos outros argumentos em SUMPRODUCT.

    • 1

relate perguntas

  • Problema de instrução IF do item calculado da tabela dinâmica

  • Ajuda da fórmula: atribua pontos a "sim" e "não" e encontre a soma da coluna

  • Como manter a célula em branco até a data inserida [duplicado]

  • Como usar a função LENGTH do Excel para uma coluna inteira?

  • Matriz do Excel (2 variáveis)

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve