Excel - Como vincular a fórmula de índice / correspondência com a fórmula indireta para referência de coluna dinâmica


0

Eu tenho uma planilha na qual estou procurando utilizar a fórmula Index / Matching para extrair os valores exatos para a interseção única de Department & amp; Valores da conta em uma folha de dados separada.

No entanto, preciso que o Index Array seja flexível, pois estou procurando a mesma intersecção "exclusiva" do departamento & amp; valores de conta em várias colunas (as colunas representam meses em minha folha de dados).

Eu tentei usar uma fórmula indireta referindo-me ao intervalo de valores na planilha de dados, também tentei outra variação da fórmula indireta nomeando meu intervalo - ambas as fórmulas não retornam resultados, embora eu saiba que existem valores no meu ponto de intersecção. Se eu codificar duro meu Index Array, a fórmula funciona e recebo os resultados para preencher na minha planilha.

Aqui estão minhas fórmulas agora:

=IFERROR(INDEX(INDIRECT(_2015_December_Act), MATCH(AB$15&$G17, ('Essbase Data'!$C$8:$C$356&'Essbase Data'!$A$8:$A$356), 0)), "") 

Onde _2015_December_Act é um intervalo nomeado na guia de dados do Essbase para valores no intervalo de Q8: Q356.

e também:

=IFERROR(INDEX(INDIRECT(""&$A$8&"!"&$B$8), MATCH(AB$15&$G16, ('Essbase Data'!$C$8:$C$356&'Essbase Data'!$A$8:$A$356), 0)), "")

Onde A8 = Dados do Essbase e b8 = Q8: Q356 - esse intervalo representa os valores no mês de dezembro na minha planilha Essbase Data.

O que estou fazendo de errado?

Eu estou tentando automatizar a atualização da referência de matriz, para que o relatório possa ser atualizado mensalmente com atualizações manuais mínimas na matriz de índice.


Quais são os valores armazenados no Essbase! Q8: Q356? São referências ou valores de células?
— B540Glenn

Eles são valores. A aba Essbase é essencialmente uma folha de dados vinculada ao vivo que será atualizada com novos valores do nosso ERP à medida que fechamos a cada mês.
— Andra M

Indireto está esperando uma seqüência de caracteres que irá avaliar para um local em uma planilha. Tente nomear o intervalo "" & amp; $ A $ 8 & amp; "!" & Amp; $ B $ 8 e usar esse valor no lugar do nome _2015_December_Act.
— B540Glenn

Eu já tentei isso já, eu tenho 2 versões da fórmula postada acima, onde eu tentei o intervalo nomeado, então também "" & amp; $ A $ 8 & amp; "!" & Amp; $ B $ 8. Nos meus valores A8 e B8 eu tenho os seguintes valores armazenados: A8 = Essbase Data, e B8 = Q8: Q356. Ainda não funciona...
— Andra M

Respostas:


1

Essbase Data

| Field Name | Jan - 2016 | Feb - 2016 | Mar - 2016 |
| Key 1      | A          | B          | C          |
| Key 2      | D          | E          | F          |
| Key 3      | G          | H          | I          |
| Key 4      | J          | K          | L          |
| Key 5      | M          | N          | O          |

Report

| Date:        | Mar - 2016   |
| Tab:         | Essbase Data |
| Date range:  | ?            |
| Field range: | ?            |
| Data range:  | ?            |
| Column:      | ?            |
|              |              |
| Field Name   | Value        |
| Key 1        | ?            |
| Key 2        | ?            |
| Key 3        | ?            |
| Key 4        | ?            |
| Key 5        | ?            |
| ...          | ...          |

Identificando seus intervalos

* Os nomes das guias remotas que contêm espaços devem ser agrupados em aspas simples ( 'Tab name' ). Pode ser uma fonte ruim, mas na minha perspectiva parece que eles estão faltando em suas fórmulas acima.

Em primeiro lugar, você deseja identificar o intervalo para correspondência de seus pontos fixos no tempo. Intervalo de datas:

="'" & B2 & "'!$1:$1"

Exemplo de saída seria 'Essbase Data'!$1:$1. Isso será usado para MATCH() a coluna desejada.

Em segundo lugar, você deseja identificar o intervalo para correspondência de seus nomes de campo. Faixa de campo:

="'" & B2 & "'!$A:$A"

Exemplo de saída seria 'Essbase Data'!$A:$A. Isso será usado para MATCH() a linha desejada.

Por fim, você deseja identificar o intervalo de todo o seu conjunto de dados. Intervalo de dados:

="'" & B2 & "'!$A:$D"

Exemplo de saída seria 'Essbase Data'!$A:$D. Isso será usado para INDEX() a coluna e linha desejadas. Você poderia usar COUNTA() e ADDRESS() construí-los dinamicamente. isto é

="'" & B2 & "'!$A$1:" & ADDRESS(COUNTA('Essbase Data'!A:A), COUNTA('Essbase Data'!1:1))

Exemplo de saída seria 'Essbase Data'!$A$1:$D$6

Indexação

Em primeiro lugar, você deseja identificar sua coluna especificada, usando o período no seu exemplo. Coluna:

=MATCH(B1,INDIRECT(B3),0)

Exemplo de saída seria 4. Onde B1 é o cabeçalho especificado e B3 é o intervalo de datas especificado a partir do Report tabela acima.

Por fim, você deseja criar sua fórmula para indexação de linha que retorna seu respectivo valor da coluna identificada acima.

=INDEX(
   INDIRECT($B$5), <-- Data range
   MATCH($A9, <-- Field lookup value
     INDIRECT($B$4), <-- Field range
     0
   ),
   $B$6 <-- Column number
 )

Arraste para baixo e sua saída deve se parecer com:

| Field Name   | Value        |
| Key 1        | C            |
| Key 2        | F            |
| Key 3        | I            |
| Key 4        | L            |
| Key 5        | O            |
| ...          | ...          |

Consegui seguir suas instruções até a indexação ... Acho que meu desafio é que o Intervalo de datas não seja direto como em seu exemplo "Mar - 2106", os valores de dados em minha tabela têm o Mês e o Ano em um linha separada (sem opção para o feed de dados para concatenar os valores) que resulta em março, aparecendo várias vezes em uma linha (eu tenho dados de 2015 e 2016 na minha tabela). Você estaria aberto a uma sessão de compartilhamento de tela para revisar juntos a construção da pasta de trabalho?
— Andra M

Eu não me oporia, no entanto eu trabalho para uma instituição financeira e estou sob rígidas regras de tráfego de entrada / saída de rede - seria um pouco complicado de fazer no escritório. Se puder, atualize sua pergunta para refletir a estrutura de dados de Esbase Data. Eu posso modificar minha resposta se eu tivesse um melhor entendimento de como os dados são estruturados.
— jtrumbull

Acabei de fazer mais alguns ajustes na minha fórmula e finalmente consegui fazê-la funcionar! Obrigado pela ajuda :)
— Andra M
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.