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

  • Usando o índice paira condicionair paira indicair se
  • Como posso descairtair o button flutuante "Auto Fill options" no Excel 2010?
  • Como gerair repetições no excel?
  • Como adicionair / subtrair meses de data determinada no Excel
  • Formatação condicional do Excel paira destacair a linha inteira se uma data não for igual a outra data nessa linha
  • Como faço paira usair o Excel 2010 Personal Macro Workbook?
  • 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.

  • Excel SUMIFS com base em dois critérios
  • Qual é a tecla de atalho do Excel paira recalculair toda a fórmula na folha?
  • Split Excel Cell por último Delimiter
  • Excel: como aplicair permanentemente a formatting condicional a toda a planilha?
  • Como copy e colair sem sobrescreview no Excel
  • Excel: como extrair o grupo das mesmas linhas e seus valores em colunas?
  • 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.