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 / user-11820046

Mark S.'s questions

Martin Hope
Mark S.
Asked: 2025-01-09 04:55:22 +0800 CST

Fórmula de divisão para somas por linha e coluna somente para meses relevantes

  • 6

Tenho uma tabela com formatação solta que tem Pessoas no topo, tarefas nas linhas e uma coluna para data de início e uma coluna para Data de término. O usuário inserirá as horas esperadas nas subtarefas fornecidas e elas serão acumuladas na própria tarefa. Consegui obter uma soma por linha dividida pelo número de meses sendo pesquisados, mas não consegui que o valor fosse distribuído corretamente pelos meses relevantes.

É assim que os dados são estruturados.

Amostra

A tarefa é produzir uma tabela que descreva as tarefas e subtarefas e faça uma média linear das horas gastas em uma determinada tarefa nos meses relevantes. (Total / # meses -> os meses entre as datas de início e término).

Por exemplo, aqui você vê que estou filtrando as subtarefas do total de tarefas e distribuindo suas respectivas horas totais pelos meses em que a tarefa deve ocorrer.

Resultado Esperado

Gostaria de me concentrar na tabela inferior por enquanto, já que a tabela superior é composta por isso, acho que posso ajustar o resto adequadamente.

Agora mesmo, eu pego um sumifs do total por tarefa/mês # para aquela tarefa/dia do cabeçalho apenas para que ele se espalhe pelas colunas. No entanto, isso está espalhando o mesmo valor por todos os meses para as tarefas, não apenas os meses relevantes. Então, eu tentei um If para verificar se a data está entre a data de início e término, mas então ele não se espalha. E se eu fizer isso sozinho, ele não valida corretamente a lógica.

Também tentei usar uma instrução LET para definir a data de início e a data de término, depois verificar o intervalo de vazamento do cabeçalho do mês para ver se esse valor está entre essas datas e, se estiver, multiplicar o valor por 1 ou 0 para tentar zerar os valores irrelevantes.

Isso é o que está acontecendo atualmente quando tento verificar as colunas em relação aos resultados do xlookup das linhas e aplicá-los às interseções.

O que está acontecendo

Aqui está uma tabela de markdown para você entender o básico.

Minha fórmula de filtro para as tarefas:=FILTER(A5:A16,MOD(A5:A16,1)<>0)

Minha fórmula para os cabeçalhos de data:=DATE(YEAR(MIN(B5:B16)),SEQUENCE(1,DATEDIF(MIN(B5:B16),MAX(C5:C16),"M")+1,MONTH(MIN(B5:B16)),1),1)

Pessoa 1 Pessoa 2 Pessoa 3 Pessoa 4 Pessoa 5
$ 100 $ 150 $ 200 $ 175 $ 95
Tarefa Começar Fim Meses Total
1 01/01/2024 01/08/2024 8 5 15 25 12 10 67
1.1 01/03/2024 01/04/2024 2 5 5 10 20
1.2 01/05/2024 01/07/2024 3 15 12 27
1.3 01/05/2024 01/08/2024 4 20 20
2 01/07/2024 01/10/2024 4 20 20 30 - 60 130
2.1 01/07/2024 01/09/2024 3 20 20 40
2.2 01/09/2024 01/10/2024 2 30 60 90
3 01/06/2024 01/10/2024 5 20 - 45 55 30 150
3.1 01/06/2024 01/07/2024 2 10 10
3.2 01/09/2024 01/10/2024 2 10 15 25
3.3 01/09/2024 01/10/2024 2 25 25
3.4 01/09/2024 01/10/2024 2 30 30 30 90
excel
  • 2 respostas
  • 71 Views
Martin Hope
Mark S.
Asked: 2024-08-03 05:06:29 +0800 CST

Xlookup multicondicional com entradas de matriz de derramamento

  • 5

Eu tenho uma matriz com várias colunas que são intervalos de derramamento. Preciso usar cada coluna para fazer um xlookup multicondicional (ou fórmula/resultado semelhante) que forneça uma faixa de resultados dos resultados. Usei sumifs para obter resultados, mas quando uma célula está vazia, gostaria que ela permanecesse vazia, onde os resultados dos sumifs dão 0% quando uma célula está vazia.

A aplicação real disso será colocada em uma fórmula LET e cada um dos derramamentos no xlookup será uma saída de escolha.

=XLOOKUP(1,($C$3#=$C$12:$C$15)*($D$3#=D12:D15),$E$12:$E$15,"",0)

=SUMIFS($E$12:$E$15,$C$12:$C$15,C3#,$D$12:$D$15,D3#)

Na imagem, as bordas indicam uma matriz de derramamento. Os resultados esperados são inseridos manualmente.

imagem

excel
  • 2 respostas
  • 28 Views
Martin Hope
Mark S.
Asked: 2024-05-14 23:28:09 +0800 CST

Sumifs em toda a gama de derramamentos de múltiplas colunas, Top x & Group permanecendo juntos usando fórmulas de derramamento

  • 6

Tudo, meu objetivo é ter uma saída resumida de fórmulas de derramamento que gere o x superior das linhas, mas a última linha agrupando todas as outras linhas para que os totais sejam vinculados à fonte de dados. (A primeira imagem mostra geralmente como está funcionando, a segunda mostra como eu gostaria que fosse. Tabela Markdown incluída para teste.) Se houver uma maneira melhor de formular o título, me avise e eu ajustarei.

A tabela de origem é gerada por fórmulas auxiliares em uma tabela dinâmica. Eu faço isso para poder obter o total que devo vincular antes de começar a combinar campos, para os quais as tabelas dinâmicas não têm uma solução limpa (para agrupar os x campos principais, você precisa selecioná-los manualmente, mas preciso que isso seja dinâmico).

Na imagem, a primeira tabela (à esquerda) contém todas as fórmulas de derramamento. Os números de departamento na parte superior e os IDs na lateral são gerados, assim como os valores.

A segunda tabela tenta pegar os 5 primeiros e depois somar tudo depois dos 5 primeiros em "Outros"; no entanto, como você pode ver, isso está obtendo dados para o ID 6, em vez de tudo maior que 6. Tentei a fórmula de algumas maneiras, mas não consegui somar todas as colunas de uma vez enquanto fazia isso. Uma solução que exige que eu copie a fórmula para colunas adicionais ou remova-as quando houver menos, pois não será estático.

Restrições: A primeira tabela é gerada a partir de fórmulas de derramamento, o número de linhas e colunas não é estático, portanto a segunda tabela precisa levar isso em consideração. Por exemplo, usei Sequence()para os cabeçalhos e linhas, e uma fórmula aleatória para os valores conterem alguns dados.

A fórmula funciona para tudo, menos para a linha "Outros":

=MAKEARRAY( ROWS(I2#), COLUMNS(K1#), LAMBDA(r,c,SUM(C2#*--(A2#=INDEX(I2#,r))*--(C1#=INDEX(K1#,1,c)) )))

Tentei modificar a fórmula em K2 abaixo, mas resultou em #N/A:

=MAKEARRAY( ROWS(I2#), COLUMNS(K1#), LAMBDA(r,c,SUM(C2#*--IF(I2#>5,(A2#>=INDEX(I2#,r)),(A2#=INDEX(I2#,r)))*--(C1#=INDEX(K1#,1,c)) )))

insira a descrição da imagem aqui

Esta é a saída desejada:

insira a descrição da imagem aqui

(Marcação para teste)

ID/Departamento Nome 1 2 3 4 5
1 Tom 2h00 3,25 4,50 5,75 7h00
2 Joe 2,75 4h00 5,25 6h50 7,75
3 Cristina 3,50 4,75 6h00 7h25 8h50
4 Marca 4,25 5,50 6,75 8h00 9h25
5 Bem 5h00 6,25 7h50 8,75 10h00
6 Jane 5,75 7h00 8h25 9h50 10,75
7 Kerry 6h50 7,75 9h00 10h25 11h50
8 Jack 7h25 8h50 9,75 11h00 12h25
9 Rosa 8h00 9h25 10h50 11h75 13h00
10 Michelle 8,75 10h00 11h25 12h50 13,75
11 Michael 9h50 10,75 12h00 13h25 14h50
12 Paulo 10h25 11h50 12h75 14h00 15h25
13 Jose 11h00 12h25 13h50 14,75 16h00
14 Shonda 11h75 13h00 14h25 15h50 16,75
15 Erik 12h50 13,75 15h00 16h25 17h50

Aqui está uma pergunta que me ajudou a criar a primeira fórmula

excel
  • 2 respostas
  • 43 Views
Martin Hope
Mark S.
Asked: 2024-01-27 00:14:59 +0800 CST

Derramamento não adjacente ou pesquisa multicondicional usando intervalo de derramamento de várias colunas como chave de pesquisa e outra célula

  • 5

Eu tenho uma planilha onde o departamento está na parte superior (H43) e estou usando uma fórmula aninhada Classificar, Exclusivo e Filtrar para extrair 3 colunas de uma tabela nomeada. O filtro analisa esse departamento e fornece todos os IDs, nomes e cargos dos funcionários. A coluna adicional necessária também está nessa tabela, mas não em uma coluna adjacente, Status. Os números das colunas que preciso são 7,8,9,5 nessa ordem.

Gostaria de minimizar a manutenção de fórmulas de arrastamento, por isso espero uma de duas coisas: poder usar a fórmula extra para extrair a coluna adicional não adjacente ou ter uma pesquisa multicondicional (porque aqui estão os IDs duplicados) para trazer o status de emprego e preenchê-lo automaticamente com o derramamento.

Os cabeçalhos _Pop são, atualmente estou puxando os 3 últimos, mas quero status de funcionário. As últimas três colunas estão extraindo dados do primeiro conjunto de colunas, mas o status está bom como está, então eu gostaria de não movê-lo ou duplicá-lo desnecessariamente.

Departamento Funcionário ID(Nome) Escritório Estado do empregado ETI ID do Empregado Nome Título

Fórmulas que tentei:

Derramamentos:

Esta fórmula extrai as últimas 3 colunas corretamente, mas não a coluna de status adicional

=SORT( UNIQUE( FILTER( _Pop[[EmployeeID]:[Title]], _Pop[department]='Annualized Hours (2)'!$H$43)),2,1)

Esta fórmula deu um comportamento estranho

=SORT( UNIQUE( FILTER( _Pop, _Pop[department]='Annualized Hours (2)'!$H$43),{7,8,9,5}),2,1)

Essa tentativa deu um #Valor! erro.

=SORT(UNIQUE(FILTER(INDEX(_Pop, , {7,8,9,5}), _Pop[department]='Annualized Hours (2)'!$H$43)),2,1) =SORT(UNIQUE(FILTER(INDEX(_Pop[#Data], , {7,8,9,5}), _Pop[department]='Annualized Hours (2)'!$H$43)),2,1)

Isso deu as colunas, mas não na ordem que preciso:

=SORT(UNIQUE(FILTER(FILTER(_Pop, _Pop[department]='Annualized Hours (2)'!$H$43), (COLUMN(_Pop)=COLUMN(INDEX(_Pop,,7)))+(COLUMN(_Pop)=COLUMN(INDEX(_Pop,,8)))+(COLUMN(_Pop)=COLUMN(INDEX(_Pop,,9)))+(COLUMN(_Pop)=COLUMN(INDEX(_Pop,,5)))),FALSE,FALSE),3,1,FALSE)

Criados helpers em A1:D1 caso não gostasse das constantes. sem sorte

=INDEX(_Pop,MATCH('Annualized Hours (2)'!$H$43,_Pop[department],0),MATCH(COLUMN(A1:D1),COLUMN(INDEX(_Pop,,{7,8,9,5})),0))

Pesquisas:

=XLOOKUP(INDEX(I44#,,1), MATCH(TRUE,($H$43=_Pop[department])*(INDEX(I44#,,1)=_Pop[EmployeeID]),0),_Pop[Employee Status],0,0)

excel
  • 2 respostas
  • 29 Views

Sidebar

Stats

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

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

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