Kombinera flera tabeller i Excel till en?

Permalänk

Kombinera flera tabeller i Excel till en?

Hej!

Jag har 10 sheets i Excel och 1 tabell i vardera sheet. De är helt identiska förutom innehållet.
Jag vill kombinera alla dessa till en stor i ett nytt sheet, men när jag testar med power query så infogar excel en kopia av varje tabell i ett nytt sheet och sedan en med samtliga i sheet #21. Jag vill bara infoga samtliga i en ny sheet, försöker jag ta bort de nya sheet'sen så säger excel att det inte går pga att de är sammanlänkade eller något.

Vad gör jag för fel? Behöver jag göra något speciellt med varje tabell först? Länge sedan jag använde excel. :/
Underförstått att om jag ändrar i en tabell så uppdateras den som kombinerar alla. Ska jag kanske göra en helt ny fil?

Permalänk
Medlem

Hur menar du med att kombinera? Värdena eller kolumnerna?

T ex

//Ordiginal sheets sheet_1 val1, val2, val3, val4, val5 1, 2, 3, 4, 5 sheet_2 val1, val2, val3, val4, val5 1, 2, 3, 4, 5 = sheet_combinded val1, val2, val3, val4, val5, val1, val2, val3, val4, val5 1, 2, 3, 4, 5 , 1, 2, 3, 4, 5

Eller vill du kombinera värdena?

Permalänk

Bra fråga!

Jag vill slå samman kolumnerna utan att göra någon beräkning, det främst namn/adresser i tabellerna och jag vill få en överblick över all data på ett ställe.

//Ordiginal sheets sheet_1 val1, val2, val3, val4, val5 1, 2, 3, 4, 5 sheet_2 val1, val2, val3, val4, val5 1, 2, 3, 4, 5 = sheet_combinded val1, val2, val3, val4, val5 1, 2, 3, 4, 5 1, 2, 3, 4, 5

Hoppas det blev klarare

Permalänk
Medlem

Det låter som att du vill göra en union av två tabeller.

Kommer du att läsa in ursprungstabellerna från en extern datakälla och kommer denna inläsning behöva göras ofta med möjlig förändring i radernas innehåll? Och kommer strukturen av tabellerna någonsin kunna förändras, t.ex. att en kolumn kan tillkomma i framtida läsningar eller att ordningen av kolumner kan komma att ändras? Isf tror jag det bästa är att skriva ett litet program i VBA som jämför- och hämtar relevanta kolumnrubriker och sedan laddar över rad för rad från de respektive tabellerna.

Annars kanske detta ser ok ut?
https://blog.jamesbayley.com/2017/04/03/create-the-union-of-two-tables-in-excel-revisited/

Ett annat sätt (ett dunderfult undantag!) skulle kunna vara att tilldela varje rad i respektive tabell en unik nyckel i en ny kolumn vid respektive sheet, t.ex. en unik bokstav för sheet_1 och en annan för sheet_2, följt av radnr. D.v.s.:
="A"&RAD() i sheet_1
="B"&RAD() i sheet_2
Sedan kan du trixa in en formel i en tredje flik, sheet_union(sheet_1,sheet_2) som hämtar alla dessa unika nycklar från respektive sheet. Se här:
https://www.get-digital-help.com/2009/06/16/extract-an-unique-distinct-list-from-two-columns-using-excel-2007-array-formula/
Slutligen då får du från den nyckeln läsa in varje kolumnvärde igen, genom nya formler ( t.ex. VLOOKUP() eller INDEX() ). Från din nyckels första tecken får du ju då information om värdet ska läsas från sheet_1 eller från sheet_2. Men sådana här lösningar skall påtalas är väldigt fula och de har stor risk att göra hela filen väldigt tungrodd. Det är även lätt att du får märkliga och svårspårade fel av Excels dumma datatyper, så jag avråder från att försöka "programmera" alltför snitsliga grejer med enbart excelformler Men det kan åtminstone lösa uppgiften, om nu VBA känns som en tung tröskel och du bara behöver automatisera denna union en snabb liten gång.

Visa signatur

Asus M5A99X EVO | AMD PhenomII x6 1100T @3.3GHz | Hyper 212+ EVO | Corsair DDR3 1600MHz @16GB | Asus GeForce GTX 1060 @1GB | Crucial M4 SSD @128GB | OCZ Solid 3 SSD @60GB | Seagate barracuda HDD @2TB | Corsair TX650 @650W | benQ 24" @2ms | Logitech X-540 @70W 5.1-surround | Corsair Gaming K95 RGB

Permalänk
Skrivet av nanananaBatman:

Det låter som att du vill göra en union av två tabeller.

Kommer du att läsa in ursprungstabellerna från en extern datakälla och kommer denna inläsning behöva göras ofta med möjlig förändring i radernas innehåll? Och kommer strukturen av tabellerna någonsin kunna förändras, t.ex. att en kolumn kan tillkomma i framtida läsningar eller att ordningen av kolumner kan komma att ändras? Isf tror jag det bästa är att skriva ett litet program i VBA som jämför- och hämtar relevanta kolumnrubriker och sedan laddar över rad för rad från de respektive tabellerna.

Annars kanske detta ser ok ut?
https://blog.jamesbayley.com/2017/04/03/create-the-union-of-two-tables-in-excel-revisited/

Det var så som jag testade, nu upptäckte jag att jag kunde "close and load" enbart till en queries så jag slapp en kopia av varje sheet.
Jag har nu fått alla i en ny sheet, men om jag ändrar i min "union" så ändras inte originaltabellen... Hur ändrar jag så att mina ändringar i union sparas i originalet?

Skrivet av nanananaBatman:

Ett annat sätt (ett dunderfult undantag!) skulle kunna vara att tilldela varje rad i respektive tabell en unik nyckel i en ny kolumn vid respektive sheet, t.ex. en unik bokstav för sheet_1 och en annan för sheet_2, följt av radnr. D.v.s.:
="A"&RAD() i sheet_1
="B"&RAD() i sheet_2
Sedan kan du trixa in en formel i en tredje flik, sheet_union(sheet_1,sheet_2) som hämtar alla dessa unika nycklar från respektive sheet. Se här:
https://www.get-digital-help.com/2009/06/16/extract-an-unique-distinct-list-from-two-columns-using-excel-2007-array-formula/
Slutligen då får du från den nyckeln läsa in varje kolumnvärde igen, genom nya formler ( t.ex. VLOOKUP() eller INDEX() ). Från din nyckels första tecken får du ju då information om värdet ska läsas från sheet_1 eller från sheet_2. Men sådana här lösningar skall påtalas är väldigt fula och de har stor risk att göra hela filen väldigt tungrodd. Det är även lätt att du får märkliga och svårspårade fel av Excels dumma datatyper, så jag avråder från att försöka "programmera" alltför snitsliga grejer med enbart excelformler Men det kan åtminstone lösa uppgiften, om nu VBA känns som en tung tröskel och du bara behöver automatisera denna union en snabb liten gång.

Va? Känns alldeles för komplicerat för att kombinera tabeller?