Eu tenho um arquivo CSV que posso manipular através do Excel/LibreOffice e/ou SQLite3. Essa tarefa deve ser executada apenas quando o CSV for atualizado, o que raramente acontece, para que eu possa executá-la manualmente quando necessário.
Suponha uma tabela estruturada como esta, contendo cerca de 10 mil linhas e muito mais colunas. A coluna SAME_COLOR está vazia.
Este é o CSV/tabela inicial:
EU IA | produtos | COR | MESMA COR |
---|---|---|---|
1 | camiseta | preto | |
2 | sapato | branco | |
3 | calça | amarelo | |
4 | meias | preto | |
5 | moletons | rosa | |
6 | bolsas | vermelho | |
7 | luvas | azul | |
8 | pulseiras | vermelho |
Se houver uma linha da tabela que tenha o mesmo valor de outra linha na coluna COLOR (o que pode acontecer apenas duas vezes dentro da tabela, ou nunca acontecer), gostaria de adicionar na coluna SAME_COLOR, o ID da outra linha com o mesmo valor.
Esta seria a tabela de saída:
EU IA | produtos | COR | MESMA COR |
---|---|---|---|
1 | camiseta | preto | 4 |
2 | sapato | branco | |
3 | calça | amarelo | |
4 | meias | preto | 1 |
5 | moletons | rosa | |
6 | bolsas | vermelho | 8 |
7 | luvas | azul | |
8 | pulseiras | vermelho | 6 |
ID 1 e ID 4 possuem a mesma COR, portanto:
- na linha 1, na coluna SAME_COLOR é inserido o valor 4
- na linha 4, na coluna SAME_COLOR é inserido o valor 1
ID 6 e ID 8 possuem a mesma COR, portanto:
- na linha 6, na coluna SAME_COLOR é inserido o valor 8
- na linha 8, na coluna SAME_COLOR é inserido o valor 6
Este é o exemplo de CSV para a tabela de saída acima:
ID,product,COLOR,SAME_COLOR
1,tshirt,black,4
2,shoes,white,
3,pants,yellow,
4,socks,black,1
5,hoodies,pink,
6,bags,red,8
7,gloves,blue,
8,bracelets,red,6
Como faço isso rápido/automaticamente?
Dada a sua descrição de que sempre haverá apenas duas cores ou uma, no Excel 365 você pode usar a seguinte fórmula:
Observe que estou usando uma tabela com referências estruturadas , mas você pode alterar isso para endereçamento regular se preferir
Com uma Tabela, você só precisa inserir a fórmula
D2
e ela será preenchida automaticamente até onde for necessárioUNIQUE
função, pois a combinação do ID atual com os dois IDs resultará em apenas um único valor de retorno ou nenhum valor de retorno => erro.