Procure um valor em uma list e retorne TODOS os vários valores correspondentes

A resposta básica à minha pergunta é fornecida aqui: como procurair um valor em uma list e retornair vários valores correspondentes . No entanto, uma vez que a fórmula é inserida, eu preciso airrastair paira baixo, ou copy / colair a fórmula, paira obter o resto dos valores correspondentes. Paira citair o airtigo:

Quando você insere ou preencha esta fórmula em células subseqüentes, a fórmula retorna os valores correspondentes correspondentes

  • Calcule o número de domingos no mês
  • Como combinair valores de várias linhas em uma única linha no Excel?
  • Erro de tempo de execução do VBA 1004: o método 'OpenText' do object 'Workbooks' falhou
  • Como o Microsoft Word e o Excel são executados sem qualquer installation?
  • MS Excel: Como contair ocorrências de itens em uma list?
  • Folha de cálculo do Excel desfaça / reviewte paira o estado salvo anteriormente
  • No entanto, não tenho como saber quantos valores esperair e, portanto, não há como saber até onde copy / colair a fórmula. Copiair e colá-lo todo o path crash no Excel.

    EDITAR Se meus dados se pairecem com isto:

    Tag | Loc | Time ---|---|---- NN | IN | 7 CD | OUT | 4 VB | OUT | 12 NN | OUT | 4 NN | IN | 2 NN | OUT | 6 VB | OUT | 23 VB | OUT | 4 VB | IN | 6 

    Eu gostairia de executair t-tests paira cada Tag, compairando o Times of IN vs OUT. Usando a fórmula INDEX, pude, hipoteticamente, puxair todo o Times paira, por exemplo, NN & OUT.

  • Especificando o delimitador paira exportação do Excel 2007
  • Excel 2010 leva uma eternidade paira abrir
  • No Excel (ou Números), qual fórmula pode calculair a quantidade de dias em um determinado mês em 2 datas
  • O que diabos eu fiz na minha folha do Excel (e como desfazê-la)?
  • Divisão de um endereço em células diferentes
  • Existe uma maneira de caber duas páginas em uma página no MS Excel ao imprimir?
  • 2 Solutions collect form web for “Procure um valor em uma list e retorne TODOS os vários valores correspondentes”

    Eu acho que o problema aqui é que a sugestão dada nesse link paira lidair com os resultados de fórmulas em linhas além do número de returns esperados é simplesmente envolview a fórmula em algum tipo de cláusula IFERROR.

    No entanto, esta configuration é extremamente ineficiente, especialmente se o dataset em questão for dynamic, potencialmente expansível.

    O objective é que, se você tiview uma configuration como:

    = IFERROR ([ some_lairge_airray_formula ], "")

    que se destina a ser copiado paira baixo um número suficiente de linhas, de modo a encapsulair todos os returns desejados, então você será confrontado com duas opções.

    Em primeiro lugair, você pode executair algum cálculo paira determinair com precisão quantos desses returns você terá em um determinado momento e, em seguida, airraste esta fórmula paira baixo nesse número de linhas. Obviamente, isso não é ideal, e ainda less se você tiview, como eu disse, um dataset dinâmicamente em mudança.

    Em segundo lugair, podemos copy as fórmulas paira um número airbitrairiamente grande de linhas, de modo que gairantamos todos os returns possíveis, mesmo que nosso dataset se expanda em algum momento futuro e, portanto, não precisa se preocupair novamente com isso.

    Obviamente, este segundo método é preferível na prática. O problema com a construção do IFERROR (pior ainda, se você estiview em 2003 ou anterior e tiview que usair um IF repetido (cláusula ISERROR) é aquele, nas linhas pelas quais a fórmula é copiada paira além daquilo que é efetivamente necessário, não há nada paira evite que a fórmula de matriz grande e pesada de resources seja calculada desnecessairiamente.

    O ponto é que, na construção acima, mesmo em linhas além daqueles que contém nosso último return esperado, o Excel ainda precisa gastair todo o recurso no cálculo da pairte da fórmula da matriz antes que ele possa decidir por si mesmo se é de fato um erro ou não .

    Distante, muito melhor do que essa abordagem IFERROR ociosa – que, infelizmente, quase sempre é recomendada paira esta configuration em torno das várias fonts na internet – é, como James aponta, usair uma única célula "auxiliair" paira determinair primeiro o número de linhas que esperamos ter retorna e, em seguida, faça reference a isso na fórmula.

    Assim, por exemplo, se os dados publicados estiviewem em A1: C10 (com headers na linha 1) e colocamos, por exemplo, NN em E1 e OUT em F1, entrairemos primeiro uma fórmula única e sem matriz, por exemplo, G1:

    = SUMPRODUCT (0+ (A2: A10 = E1), 0 + (B2: B10 = F1))

    A ** fórmula de matriz **** na nossa primeira célula de escolha seria então:

    = IF (ROWS ($ 1: 1)> $ G $ 1, "", ÍNDICE ($ C $ 2: $ C $ 10, PEQUENO (IF ($ A $ 2: $ A $ 10 = $ E $ 1, IF ($ B $ 2: $ B $ 10 = $ F $ 1, ROW ($ C $ 2: $ C $ 10) -MIN (ROW ($ C $ 2: $ C $ 10)) + 1)), ROWS ($ 1: 1))))

    e copiado conforme necessário.

    Concedido, ainda temos a questão de quão longe paira copy esta fórmula. E mesmo que tenhamos um cálculo no lugair paira determinair o número necessário de linhas, ainda não queremos reajustair manualmente o número de células contendo fórmulas sempre que quisermos atualizair os resultados. Este deve ser um trabalho inicial único.

    Eu certamente não recomendairia copy até o final da planilha. No entanto, desde que um limite superior adequadamente grande possa ser escolhido, então não deve importair muito em termos de performance se acabairmos com até vários milhaires de células estranhas contendo fórmulas. O motivo e a enorme diferença entre esta configuration e a abordagem "preguiçosa" da IFERROR, que aqui a cláusula inicial:

    = IF (ROWS ($ 1: 1)> $ G $ 1, ""

    significa que, em linhas além do número esperado de devoluções, a cláusula IF retorna TRUE e, portanto, um branco é retornado. E a pairte agradável sobre a function IF é que, se a cláusula passada paira ela é VERDADEIRA, então a pairte FALSA – aqui uma fórmula grande, com resources pesados ​​- não é considerada paira o cálculo.

    Este não é o caso com a viewsão IFERROR, que continua a prejudicair, inconsciente do fato de que seus cálculos são desnecessários e um fairdo no recurso.

    Saudações

    ** As fórmulas de matriz não são inseridas da mesma forma que as fórmulas "padrão". Em vez de pressionair apenas ENTER, primeiro segure CTRL e SHIFT, e apenas pressione ENTER. Se você fez isso corretamente, você notairá que o Excel coloca os suportes curly {} em torno da fórmula (embora não tente inseri-los manualmente você mesmo).

    Eu diria formatair seus dados em uma tabela (Home> Format at Table) ou criair um range chamado dynamic em relação aos seus dados. Isso aborda o problema de não saber quantos dados você terá, pois o range / tabela crescerá à medida que novos dados forem adicionados enquanto você ainda pode se referir ao range / tabela por nome.

    tldr: format como tabela, se esta for a primeira tabela em sua pasta de trabalho, a tabela dairá o nome "Tabela1"

    Minha sugestão seria criair uma tabela dinâmica neste ponto (usando o nome da sua tabela / range como fonte) e colocair "Tag" em Etiquetas de linha, "Loc" em etiquetas de coluna e "Tempo" em Valores. Você obterá dados que se pairecem com isto:

    . IN OUT CD 4 NN 9 10 VB 6 39

    Você poderia então adicionair uma fórmula simples à direita e airrastair paira baixo paira calculair a diferença entre IN e OUT

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.