Usou o recurso de consulta de energia do Excel 2016 para importar vários arquivos CSV que contêm histórico financeiro pessoal e que tentam usar o recurso dinâmico de poder.
O problema é que eu realmente preciso agrupar as transações por uma categoria, mas isso não existe nos arquivos de origem. Eu realmente não quero adicionar isso aos arquivos de origem, pois eles são gerados automaticamente do meu banco, ou manualmente, selecionar e agrupar as coisas depois.
Então, existe alguma maneira de adicionar uma etapa no editor de consulta de energia que adicione uma nova coluna com um valor baseado em um campo de texto e usando algum tipo de função de troca / correspondência / mapeamento?
No pseudo código, estou pensando em algo assim:
if [Column] in {"foo", "bar", "baz"} return "Cat A"
if [Column] starts with "blah" return "Cat B"
if [Column] matches /\d+/ return "Cat C"
else return No Cat
Alternativamente, se houver outra boa maneira de resolver isso ...
Dados de amostra
╔══ Date ════╦══ Text ═══════════════════════════╦══ Amount ═╦══ (new) ══╗
║ 01.05.2014 ║ Boots Apotek Bogstadvn.34 Oslo ║ -289,70 ║ Health ║
║ 01.05.2014 ║ 143 Boots Apotek Skøyen ║ -73,00 ║ Health ║
║ 01.05.2014 ║ Rema Industriga Industrigata Oslo ║ -25,70 ║ Groceries ║
║ 30.09.2014 ║ Råh Avd Industr Industrigt 4 Oslo ║ -575,00 ║ Hair ║
║ 30.09.2014 ║ Random stuff ║ -68,00 ║ Other ║
║ 30.09.2014 ║ Rema Industriga Industrigata Oslo ║ -39,90 ║ Groceries ║
║ 29.09.2014 ║ To Church Betel ║ -200,00 ║ Offering ║
║ 29.09.2014 ║ To Church Cornelius ║ -200,00 ║ Offering ║
║ 29.09.2014 ║ To Johnny Landlord ║ -9 015,00 ║ Rent ║
║ 29.09.2014 ║ To Johnny Landlord ║ -500,00 ║ Other ║
╚════════════╩═══════════════════════════════════╩═══════════╩═══════════╝
Então, por exemplo, eu quero
- Saúde se o texto contiver um dos "Boots Apotek" ou outros nomes de farmácia
- Compras se o texto começar com Rema ou começar com / contiver outro nome de loja
- Oferta se o texto contiver um de uma lista de nomes de igrejas
- O aluguel se o texto contiver o nome do senhorio e for maior que -9000, porque qualquer coisa abaixo disso provavelmente é outra coisa