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)
Conforme comentado você poderia usar:
=FILTER(CHOOSECOLS(_Pop,7,8,9,5),_Pop[Department]=$H$43)
Ou adicionando SORT e UNIQUE (como Kevin comentou):
=SORT(UNIQUE(FILTER(CHOOSECOLS(_Pop,7,8,9,5),_Pop[Department]=$H$43)),2)
(onde2
está a coluna de índice do resultado CHOOSECOLS)A resposta que acabei procurando foi usar uma função CHOOSE.
=SORT(CHOOSE({1,2,3,4}, FILTER(INDEX(_Pop,,7), _Pop[department]='Annualized Hours (2)'!$H$43), FILTER(INDEX(_Pop,,8), _Pop[department]='Annualized Hours (2)'!$H$43),FILTER(INDEX(_Pop,,9), _Pop[department]='Annualized Hours (2)'!$H$43), FILTER(INDEX(_Pop,,5), _Pop[department]='Annualized Hours (2)'!$H$43)),2,1)