Olá, Visitante. Por favor entre ou registe-se se ainda não for membro.

Entrar com nome de utilizador, password e duração da sessão
 

Autor Tópico: Excel (Duvida)  (Lida 42170 vezes)

rs_trader

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 3259
    • Ver Perfil
    • Algo Trading Strategies and Trading System Development and Evaluation.
Re: Excel (Duvida)
« Responder #120 em: 2020-04-11 18:23:27 »
Estou com a ultima versão do Excel.

Criei um ficheiro Excel para importar dados de um CSV. Neste versão importa sempre como tabela e tem por trâs o Power Query.

Quando altero o ficheiro CSV por outro e tento importar apesar de ter exatamente o mesmo numero de colunas, ele dá erro por o header dessas colunas não é o mesmo.

Por exemplo: Se no ficheiro CSV existia colunas com header 2005, 2006. 2007 e no novo existe 2004, 2005 e 2006 ele dá erro porque não encontra a coluna 2004.

Existe forma de ultrapassar isso? Em versões anteriores não tinha este problema com a importação sem usar tabelas.

Obrigado.

« Última modificação: 2020-04-11 18:24:20 por rs_trader »
Em memória do grande DeMelo: "PQP... gajo chato fdx."

Robusto

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 1830
    • Ver Perfil
Re: Excel (Duvida)
« Responder #121 em: 2020-04-11 20:37:12 »
Podes colocar um print do erro?

rs_trader

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 3259
    • Ver Perfil
    • Algo Trading Strategies and Trading System Development and Evaluation.
Re: Excel (Duvida)
« Responder #122 em: 2020-04-12 02:43:30 »
É este.
Em memória do grande DeMelo: "PQP... gajo chato fdx."

Robusto

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 1830
    • Ver Perfil
Re: Excel (Duvida)
« Responder #123 em: 2020-04-12 10:21:26 »
Hmm, na tua descrição do erro dizes que o problema é não encontrar a coluna de 2014 (que em teoria será a primeira coluna no novo ficheiro), mas eu acho que a rotina não está é preparada para identificar que a última coluna seja diferente.

Estou a pensar num outro problema que às vezes me acontece, que é, quando faço importações deste género de dados na mesma sheet, ele não me deixa colar novos dados porque já identificou uma "ligação" no lugar de destino. Normalmente resolvo isso, indo ao menu das Conexões existentes e eliminando as conexões que existem lá.

Sinto que não estou a ser grande ajuda.  :-[ Em algum sítio no teu ficheiro de destino, escreveste algum código em VBA, ou isso?

rs_trader

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 3259
    • Ver Perfil
    • Algo Trading Strategies and Trading System Development and Evaluation.
Re: Excel (Duvida)
« Responder #124 em: 2020-04-12 11:29:28 »
Solucionei o o problema editando manualmente os campos que ele espera encontrar no ficheiro no power query. Não é prático mas com pouco trabalho adicional resolve o problema.
Em memória do grande DeMelo: "PQP... gajo chato fdx."

vbm

  • Hero Member
  • *****
  • Mensagens: 13804
    • Ver Perfil
Re: Excel (Duvida)
« Responder #125 em: 2020-04-12 12:52:39 »
No futuro,
carrega uma (con)versão
rápida, gratuita, à experiência!

Automek

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 30976
    • Ver Perfil
Re: Excel (Duvida)
« Responder #126 em: 2020-05-17 15:58:54 »
tenho isto no Excel (não é só isto, é uma enormidade deles, com muito mais linhas e colunas)

como é que posso obter uma tabela com o número de vezes em que cada par aparece ?

se estivesse em linha era fácil com uma pivottable, mas estando assim não estou a ver como é que posso fazer de forma fácil.

deMelo

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 12687
    • Ver Perfil
Re: Excel (Duvida)
« Responder #127 em: 2020-05-17 16:00:56 »
tenho isto no Excel (não é só isto, é uma enormidade deles, com muito mais linhas e colunas)

como é que posso obter uma tabela com o número de vezes em que cada par aparece ?

se estivesse em linha era fácil com uma pivottable, mas estando assim não estou a ver como é que posso fazer de forma fácil.

não consegues.... if igual a EUR.USD count 1  ?

E correr sobre a tabela toda?
The Market is Rigged. Always.

Automek

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 30976
    • Ver Perfil
Re: Excel (Duvida)
« Responder #128 em: 2020-05-17 16:11:15 »
São duas dúzias de pares, não queria andar a fazer isso, até porque de vez em quando vai aparecer um que não tinha previsto.
O que queria era uma funcionalidade tipo pivot table que faz a contagem dos que existem com dois ou três clicks.

Robusto

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 1830
    • Ver Perfil
Re: Excel (Duvida)
« Responder #129 em: 2020-05-18 00:01:39 »
tenho isto no Excel (não é só isto, é uma enormidade deles, com muito mais linhas e colunas)

como é que posso obter uma tabela com o número de vezes em que cada par aparece ?

se estivesse em linha era fácil com uma pivottable, mas estando assim não estou a ver como é que posso fazer de forma fácil.
Da forma como a informação está organizada, acho que tens mesmo que ir lá com um Count.IF, estendendo o range da fórmula a toda a tabela.

Automek

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 30976
    • Ver Perfil
Re: Excel (Duvida)
« Responder #130 em: 2020-05-18 07:24:33 »
É inacreditável que o Excel não tenha uma forma elementar de fazer isto. Na pior das hipóteses tenho de usar a formula TRANSPOSE, para criar uma tabela intermédia, e depois uma pivot table, mas estava a evitar isso.

kitano

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 8677
    • Ver Perfil
Re: Excel (Duvida)
« Responder #131 em: 2020-05-18 12:19:28 »
Mek, agora estou sem computador para experimentar, mas há uma função que te lista todos os pares (sem meter os repetidos). Depois à frente de cada par podes meter uma função para contar quantas vezes se repete.

Isto são dois passos...

É isto que queres fazer?
"Como seria viver a vida que realmente quero?"

Zenith

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 5259
    • Ver Perfil
Re: Excel (Duvida)
« Responder #132 em: 2020-05-18 13:01:22 »
Se o objectivo era calcular o nº de vezes que um determinado par aparece, então omo disse o Robusto e se entendi correctamente é usar countif (não sei qual o nome em português)


Se quiseres os resultados com mesma disposição dos pares (um array 2D), considerando que os pares estão em A1:N5

seria

=countif($A$1:$N$5;a1) e depois deslizar fórmula.


Mas pelo que percebi antes disso queres ter os pares numa coluna (ou linha).


Se um para aparecer duas ou mais vezes também vais obter duas ou mais vezes o mesmo resultado e só por inspeção visual é que vais ver os que são duplicados.
Se quiseres só um resultado por par, podes colocar os pares numa única coluna e depois na contagem ver se um particular ja foi calculadoe se sim deixar célula em branco

Exemplo 3linhas x 4 colunas
a   b   c   c
eu   ff   a   a
gg   u   x   y


usar numeração de 0 até 3x4-1. Pode-se começar em 1 mas para mim fica mais fácil para usar resultado de uma divisão.
formula
=indirect(address(linha correspondente ao valor do indice; coluna correspondente ao valor do indice)
onde linha correspondente ao valor do indice vem dada por =MOD(                ROW()-linha onde vai começar o  array 1D);     nº linhas do array 2D). neste caso num linhas 2D é 3
e
coluna correspondente ao valor do indicevem dada por FLOOR(   (ROW()-linha onde vai começar array1D)       /      nº linhas do array 2D       ; 1)+1
Penso que coisa parecida pode ser feita usando OFFSET (se calhar fica mais simples).

Isto usando fórmulas do Excel. O mais simples e flexível é escrever uma função em vba que transforma um array 2D NxM num array1D NMx1. Argumentos da função seriam range do array 2D (seleccionável com cursor), e saída ponto onde começa array 1D (também selecconável). Seria um código com 2 ciclos for em que conversão dos índices das células seriam feitas com formulas anteriores.




Automek

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 30976
    • Ver Perfil
Re: Excel (Duvida)
« Responder #133 em: 2020-05-18 13:09:29 »
Mek, agora estou sem computador para experimentar, mas há uma função que te lista todos os pares (sem meter os repetidos). Depois à frente de cada par podes meter uma função para contar quantas vezes se repete.

Isto são dois passos...

É isto que queres fazer?
Isso já praticamente resolvia a questão sem chatices de muitos passos intermédios. Obrigado. Vou investigar a ver se descubro essa função.

Zenith

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 5259
    • Ver Perfil
Re: Excel (Duvida)
« Responder #134 em: 2020-05-18 13:10:25 »
Não sei se o Kitano se está a referir a alguma função do Excel (que desconheço) ou a um procedimento que se pode fazer com "Filter".
Selecciona-se o array2D e com Advanced Filter: copy to another location onde podes escolher "unique records only"
Requer é que colunas do array 2D tenham headers.
« Última modificação: 2020-05-18 13:21:20 por Zenith »

kitano

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 8677
    • Ver Perfil
Re: Excel (Duvida)
« Responder #135 em: 2020-05-18 13:25:39 »
Há uma função para isso, se ligar o computador e descobrir já digo...

Zenith O countif em português é soma.se
"Como seria viver a vida que realmente quero?"

kitano

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 8677
    • Ver Perfil
Re: Excel (Duvida)
« Responder #136 em: 2020-05-18 13:35:07 »
Mek,

selecionas os dados transpões para uma coluna e seleccionas toda a coluna e depois vais ao separador dados - ferramenta de dados - remover duplicados.

ele ao eliminar os duplicados diz quantos foram removidos e quantos permanecem
"Como seria viver a vida que realmente quero?"

Robusto

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 1830
    • Ver Perfil
Re: Excel (Duvida)
« Responder #137 em: 2020-05-18 13:39:55 »
Mek,

selecionas os dados transpões para uma coluna e seleccionas toda a coluna e depois vais ao separador dados - ferramenta de dados - remover duplicados.

ele ao eliminar os duplicados diz quantos foram removidos e quantos permanecem
Mas os dados compõem uma grelha. Como é que dá para transportar os dados assim de uma vez numa coluna só?

kitano

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 8677
    • Ver Perfil
Re: Excel (Duvida)
« Responder #138 em: 2020-05-18 13:48:44 »
Não sou especialista...mas ou tentava usar a ferramenta de transpor os dados ou corria o remover suplicados coluna a coluna

Outra forma é selecionar a grelha toda e usar a formatação condicional para selecionar os valores duplicados ou exclusivos - também não sei bem o que ele quer fazer com os dados.

mek, se fosse possível colocares aqui a tabela, se calhar podíamos pegar e ver a melhor forma de o fazer...eu como não sou grande especialista é mais por tentativa e erro...
"Como seria viver a vida que realmente quero?"

Automek

  • Ordem dos Especialistas
  • Hero Member
  • *****
  • Mensagens: 30976
    • Ver Perfil
Re: Excel (Duvida)
« Responder #139 em: 2020-05-18 14:09:30 »
O propósito é bastante simples.

Para cada um dos dias, tenho um indicador calculado para cada um dos pares.
No fundo de cada dia tenho os cinco pares que tiveram os cinco valores mais altos desse dia.
O que quero é fazer uma tabela global que me mostre os pares que apareceram no TOP5 e quantas vezes.

Anexo a tabela exemplo. Claro que o original não tem apenas 20 dias, tem muito mais. Por isso é que precisava de algo minimamente automatizado, sem ter de andar a fazer copy - paste e transposes. Idealmente sem ter de fazer uma macro (se calhar vai ter de ser).