Somar variaveis Iguais Topic is solved
Moderator: Gio
-
- Posts: 95
- Joined: 13 Sep 2021, 06:08
Somar variaveis Iguais
Olá, boa Tarde.
Como faço para somar VARIAS variaveis iguais?
Estou com um script que está gerando Nomes e textos, por exemplo.
Gerando os seguintes dados.
Thales, 25
Ricardo, 12
Thales, 12
Ricardo, 27
Giovani, 12
Giovani, 62
Tendo em vista que o código gera diversos nomes.
Cerca de 500 pessoas.
Como posso fazer isso de forma automáticaw
Como posso fazer para somar os valores com os nomes iguais.
Por Exemplo:
Resultado Total de:
Thales = 37
Ricardo = 39
Giovani = 74
Não consegui ainda achar uma forma de escrever isso no AHK.
Poderiam me dar um help nessa situação?
Seria semelhante a formula SOMASES() DO EXCEL
Grato!
Como faço para somar VARIAS variaveis iguais?
Estou com um script que está gerando Nomes e textos, por exemplo.
Gerando os seguintes dados.
Thales, 25
Ricardo, 12
Thales, 12
Ricardo, 27
Giovani, 12
Giovani, 62
Tendo em vista que o código gera diversos nomes.
Cerca de 500 pessoas.
Como posso fazer isso de forma automáticaw
Como posso fazer para somar os valores com os nomes iguais.
Por Exemplo:
Resultado Total de:
Thales = 37
Ricardo = 39
Giovani = 74
Não consegui ainda achar uma forma de escrever isso no AHK.
Poderiam me dar um help nessa situação?
Seria semelhante a formula SOMASES() DO EXCEL
Grato!
- flyingDman
- Posts: 2832
- Joined: 29 Sep 2013, 19:01
Re: Somar variaveis Iguais
Bom dia. O que dizer disso?
Você também pode recuperar o total para cada nome individual da seguinte maneira:
Code: Select all
var =
(
Thales, 25
Ricardo, 12
Thales, 12
Ricardo, 27
Giovani, 12
Giovani, 62
)
arr := {}
for x,y in strsplit(var,"`n")
{
nm := strsplit(y,", ").1, cnt := strsplit(y,", ").2
arr[nm] := !arr.HasKey(nm) ? cnt : arr[nm] + cnt
}
for k,l in arr
lst .= k "`t" l "`n"
msgbox % lst
Code: Select all
msgbox % arr["thales"]
14.3 & 1.3.7
-
- Posts: 95
- Joined: 13 Sep 2021, 06:08
Re: Somar variaveis Iguais
Olá, muito obrigado pelo retorno!!
Sim, é parecido com isso.
Só que também precisaria para números.
Por Exemplo
Para somar contando com CPFS
Como eu poderia fazer isso?
Sim, é parecido com isso.
Só que também precisaria para números.
Por Exemplo
Para somar contando com CPFS
Code: Select all
var =
(
66495756070, 25
00966776003, 12
66495756070, 12
00966776003, 27
66495756070, 12
00966776003, 62
)
arr := {}
for x,y in strsplit(var,"`n")
{
nm := strsplit(y,", ").1, cnt := strsplit(y,", ").2
arr[nm] := !arr.HasKey(nm) ? cnt : arr[nm] + cnt
}
for k,l in arr
lst .= k "`t" l "`n"
msgbox % k
- flyingDman
- Posts: 2832
- Joined: 29 Sep 2013, 19:01
Re: Somar variaveis Iguais Topic is solved
Da mesma forma:
Code: Select all
var =
(
66495756070, 25
00966776003, 12
66495756070, 12
00966776003, 27
66495756070, 12
00966776003, 62
)
arr := {}
for x,y in strsplit(var,"`n")
{
tmp := strsplit(y,", "), nm := tmp.1, cnt := tmp.2
arr[nm] := !arr.HasKey(nm) ? cnt : arr[nm] + cnt
}
for k,l in arr
lst .= k "`t" l "`n"
msgbox % lst
msgbox % arr[66495756070]
14.3 & 1.3.7
-
- Posts: 95
- Joined: 13 Sep 2021, 06:08
Re: Somar variaveis Iguais
Muito Obrigado!!flyingDman wrote: ↑18 Aug 2022, 12:44Da mesma forma:Code: Select all
var = ( 66495756070, 25 00966776003, 12 66495756070, 12 00966776003, 27 66495756070, 12 00966776003, 62 ) arr := {} for x,y in strsplit(var,"`n") { tmp := strsplit(y,", "), nm := tmp.1, cnt := tmp.2 arr[nm] := !arr.HasKey(nm) ? cnt : arr[nm] + cnt } for k,l in arr lst .= k "`t" l "`n" msgbox % lst msgbox % arr[66495756070]
Não entendi muito bem como foi a montagem do código, mas vou utilizar esse código como base para estudos.
Grato pela atenção!
Desejo um ótimo dia! =)
-
- Posts: 95
- Joined: 13 Sep 2021, 06:08
Re: Somar variaveis Iguais
Amigo, boa tarde.
Se eu quiser colocar um terceiro parametro, como posso fazer o for retornar isso?
Como posso retornar a cidade? junto com o CPF, total e a cidade? (Sempre será 1 cidade por CPF, não será mais de uma)
Se eu quiser colocar um terceiro parametro, como posso fazer o for retornar isso?
Code: Select all
var =
(
66495756070, 25, BRAZIL
00966776003, 12, ESTADOS UNIDOS
66495756070, 12, JAPAO
00966776003, 27, BRAZIL
66495756070, 12, ESTADOS UNIDOS
00966776003, 62, JAPAO
)
arr := {}
for x,y in strsplit(var,"`n")
{
tmp := strsplit(y,", "), nm := tmp.1, cnt := tmp.2
arr[nm] := !arr.HasKey(nm) ? cnt : arr[nm] + cnt
}
for k,l in arr
lst .= k "`t" l "`n"
msgbox % lst
msgbox % arr[66495756070]
- flyingDman
- Posts: 2832
- Joined: 29 Sep 2013, 19:01
Re: Somar variaveis Iguais
Eu não entendi. Eu só vejo nomes de países, não cidades. Você diz que há uma cidade por CFP, mas o CFP que termina em 03 tem ESTADOS UNIDOS, BRASIL e JAPAO associados a ele. Seria mais fácil se você mostrasse o resultado desejado.
14.3 & 1.3.7
-
- Posts: 95
- Joined: 13 Sep 2021, 06:08
Re: Somar variaveis Iguais
Acho que me expressei mal.
Peço desculpas.
Então, estou realizando uma aplicação no qual a ferramenta vai ler UM arquivo txt na nuvem e vai dizer os Totais pontuados de cada funcionário.
A parte da leitura do banco de dados eu consegui fazer tranquilamente.
A parte onde travei foi a respeito de poder listar esses campos.
Tentei no for fazer um tmp.3, mas não consegui reproduzir ele no arr.
Segue Código.
Peço desculpas.
Então, estou realizando uma aplicação no qual a ferramenta vai ler UM arquivo txt na nuvem e vai dizer os Totais pontuados de cada funcionário.
A parte da leitura do banco de dados eu consegui fazer tranquilamente.
A parte onde travei foi a respeito de poder listar esses campos.
Tentei no for fazer um tmp.3, mas não consegui reproduzir ele no arr.
Segue Código.
Code: Select all
var =
(
00966776003, 12, BRAZIL
00966776003, 27, BRAZIL
00966776003, 62, BRAZIL
66495756070, 25, ESTADOS UNIDOS
66495756070, 12, ESTADOS UNIDOS
66495756070, 12, ESTADOS UNIDOS
09598848401, 25, JAPÃO
09598848401, 12, JAPÃO
09598848401, 33, JAPÃO
)
arr := {}
for x,y in strsplit(var,"`n")
{
tmp := strsplit(y,", "), nm := tmp.1, cnt := tmp.2
arr[nm] := !arr.HasKey(nm) ? cnt : arr[nm] + cnt
}
for k,l in arr
lst .= k "`t" l "`n"
msgbox Os funcionários que mais pontuaram foram:`nCPF / PONTUAÇÃO / PAÍS`n%lst%
flyingDman wrote: ↑19 Aug 2022, 12:22Eu não entendi. Eu só vejo nomes de países, não cidades. Você diz que há uma cidade por CFP, mas o CFP que termina em 03 tem ESTADOS UNIDOS, BRASIL e JAPAO associados a ele. Seria mais fácil se você mostrasse o resultado desejado.