Exibe várias células se os dados em outra pasta de trabalho contiverem o valor "X"

1

Eu exporto um relatório complexo diariamente e transfiro essas informações manualmente para outra planilha do excel. Minha pergunta é: Na pasta de trabalho 1, posso obter um grupo de células em uma linha para exibir o texto na pasta de trabalho 2 (os dados brutos) se a primeira célula exibir o valor "x"? O que eu estou exportando é uma lista diária que contém um número de curso que eu mudo manualmente para um número de sala, nome, nota, etc. O que eu faço então, é classificar por home room e exibir aqueles em sua própria seção em um livro de trabalho .

Então, o que eu estou tentando descobrir é algo como "Exibir células 2,3,4,5,6,7 da pasta de trabalho dois se a célula da planilha 2 for" X ".?

    
por user196829 08.02.2013 / 23:49

3 respostas

1

A fórmula a seguir fornece outra maneira de exibir no Workbook1 o texto em uma linha de seis células no Workbook2, se a célula A1 no Workbook2 for igual a algum valor "X".

É uma fórmula de matriz, portanto, você teria que selecionar as seis células em Workbook1 onde deseja exibir os valores de texto, colar ou digitar a fórmula na barra de fórmulas e, em seguida, concluir a entrada com Ctrl + Deslocar + Introduzir . A fórmula mostrará traços ("-") nas células se não houver "X" na célula A1 do Workbook2. (Para simplificar, presumo que os valores em ambas as pastas de trabalho estejam na Planilha1.)

  =IF([Workbook2.xlsx]Sheet1!$A$1="X",OFFSET([Workbook2.xlsx]Sheet1!$B$1,0,0,1,6),"-")

A parte principal da fórmula é a função OFFSET, que aceita os seguintes argumentos:

  • Uma referência de célula , neste caso, $ B $ 1
  • Um deslocamento de linha , o número de linhas para cima (um número negativo) ou linhas para baixo (um número positivo) que o intervalo de células que você deseja retornar começa
  • Um deslocamento de coluna , o número de colunas restantes (negativo) ou direito (positivo) que o intervalo que você deseja retornar começa
  • A altura ou o número de linhas no intervalo que você deseja retornar
  • A largura ou o número de colunas no intervalo que você deseja retornar.

Na fórmula, a referência de célula é $ B $ 1, o deslocamento de linha de $ B $ 1 é 0, o deslocamento de coluna de $ B $ 1 é 0, a altura dos valores a serem retornados é 1 linha e a largura é 6 colunas. Aqui, a função OFFSET retornará os valores nas células B1: G1 se "X" for uma correspondência. Se o deslocamento de linha fosse 2 e o deslocamento de coluna 4, os valores nas células F3: K3 seriam retornados.

    
por 12.02.2013 / 06:00
0

Suponho que os dados da sua Pasta de trabalho2 iniciam na linha 1 e que você quer dizer «Exibir células das colunas B , C , D , E , F e G … Se o valor na coluna A for um “X”. » Na primeira célula do Workbook1, onde você deseja começar a exibir dados do Workbook2 (que será de B1), digite

=IF('path_to_Workbook2[filename_of_Workbook2, including .xlsx]Sheet1'!$A1="X",
    'path_to_Workbook2[filename_of_Workbook2]Sheet1'!B1, "")

Em seguida, arraste / preencha isso para a coluna F e desça quantas linhas forem necessárias. Obviamente, se a sua planilha tiver um nome diferente de Sheet1 , mude isso.

    
por 12.02.2013 / 02:27
0

Use o VLookup:

Vlookup($A:$A,[OtherWorkbook.xls]OtherWorksheet!$A:$G,2,false)

    
por 17.06.2013 / 05:00