Az alábbiak a PositSum blogból származnak. A Google Sheetsben a legegyszerűbben a Paperpusher nevű ingyenes kiegészítővel lehet cellákat és oszlopokat osztani, cellákat és oszlopokat kombinálni, valamint egyéb gyakori OCR-átírási és adatbeviteli hibákat kijavítani. Ez a blogbejegyzés megmutatja, hogyan lehet cellákat és oszlopokat osztani, ha nem szeretné letölteni a bővítményt.
Amikor egy formátumból táblázatokat másolok be egy táblázatkezelőbe, gyakran találok olyan cellákat és oszlopokat, amelyeket össze kell osztanom. Általában a Google Sheets elég jól kezeli ezt. Például, ha van egy csomó vesszővel elválasztott értékem, mint az alábbiakban látható:
Values: 5, 6, 8, 12
Egyszerűen bemehetek az Adatok menüpontba, és rákattinthatok a “Szöveg oszlopokra osztása” gombra, ahogy az alábbi képernyőképen látható. Hagyhatom, hogy a Google automatikusan kitalálja, vagy kiválaszthatom, hogy milyen elválasztóra van szükségem. Ilyen egyszerű.
![](https://miro.medium.com/max/2794/0*YJjzcixikLVblMul.jpg)
De mi van, ha az elválasztójelek nem következetesek? Vegyük példának a következő 9 cellát:
Original: 56, 56A, 180 000 kutya
Kívánt 1. osztás: 5, 56, 180 000
Kívánt 2. osztás: 6, A, kutya
Az elsőben az 56-ot két cellára, 5-re és 6-ra szeretném osztani. A másodikban az 56A-t szeretném számokra és egy betűre osztani. A harmadikban a számra és a szóra akarok osztani.
Az ezek közötti osztáshoz reguláris kifejezésekre van szükségem. Ez lehetővé teszi számomra, hogy “karakterláncokat”, vagyis szövegdarabokat vizsgáljak, és szabályok alapján manipuláljam őket. Minél általánosabbak a szabályok, annál kevesebbet kell írnom. Továbbá, mielőtt elkezdeném használni a reguláris kifejezéseket, rá kell kényszerítenem a cellákat, hogy szövegesek legyenek, amit vagy a formula =TEXT parancsával tehetek meg, vagy a következő menüponttal tehetem meg.
![](https://miro.medium.com/max/60/0*EK-loKQni8py4cnc.jpg?q=20)
A tervem az, hogy létrehozok olyan szabályokat, amelyek a megfelelő karakterláncot a “Kívánt osztás 1”-be helyezik, majd csak azt mondom a Google-nak, hogy ami megmarad, azt tegye a “Kívánt osztás 2″-be. Lássunk hozzá.”
Az “56”-ból az “5” kiválasztásához azt mondom a Google-nek, hogy válassza ki a karakterlánc első számát. Ezt a következő képlettel teszem a B2-ben:
=REGEXEXTRACT(A2,””)
Ez azt mondja a Google-nek, hogy az A2 cellából (“56″) bármelyik 0-9 közötti egyes számjegyet vegye ki. Miután ezt megtettem, megmondhatom a Google-nek, hogy a C2-es cellába tegye be azt, ami az A2-es cellából megmaradt. A C2 cellára vonatkozó konkrét képletem:
=REGEXREPLACE(A2,B2,””)
Ez azt mondja a Google-nek, hogy nézze meg az A2-t, és az A2-ben lévő “5”-öt helyettesítse semmivel “”. Ugyanezt a képletet fogom használni a C3 és C4 cellákhoz is.
A B3 cellához azonban ki kell találnom egy olyan módszert, amellyel megmondhatom a Google-nek, hogy csak az A3 cellából vegye ki a számokat. Ezt a következő képlettel teszem
=REGEXEXTRACT(A3, “*”)
Ez azt mondja a Google-nek, hogy az A3-as cellából bármely számjegyet, amely tetszőlegesen sokszor ismétlődik *. Így kapok 56-ot. Ugyanezt a képletet használom a C2-es cellából, hogy a maradékot a C3-as cellába tegyem.
Végül az A4-es cellához meg kell találnom a módját, hogy a Google-nek megmondjam, hogy csak a számokat vegye ki. De van egy csavar: a vessző benne van a számban. Ha a számokat vessző nélkül vonom ki, akkor egy kellemetlen lógó vessző marad, aminek nem lesz értelme. Ezért a következő képletet használom:
=REGEXEXTRACT(A4, “**”)
Ez azt mondja a Google-nek, hogy az A4-ből bármelyik számjegyet *, majd egy vesszőt , és utána bármelyik számjegyet * kivonja. Ezt és csak ezt fogja kivonni. Ezután megismételhetem a C4-es cellára vonatkozó képletemet, amelyet a C3-as cellánál használtam.
A B2, B3 és B4-es cellákra vonatkozó képleteimet nyilvánvalóan nem lehet kombinálni, mivel a B2-es cellában szét akartam választani a számokat, de a B3-as és B4-es cellában együtt akartam tartani őket. De a B3 és B4 cellákra vonatkozó képleteimet kombinálhatom, és megmondhatom a Google-nak, hogy mindig a számot akarom kivenni, függetlenül attól, hogy van-e vessző vagy nincs, és függetlenül attól, hogy van-e szóköz az utolsó szám és az első betű között vagy sem.
Ezért a következő képletet használom:
=REGEXEXTRACT(A3, “**|*”)
Ez a | OR operátort használja, és azt mondja a Google-nek, hogy az A3-ból vagy egy vesszővel formázott számot, például “180,000”, vagy egy vessző nélkül formázott számot vonjon ki. Vegyük észre, hogy a sorrend itt fontos: először azt mondom a Google-nek, hogy ellenőrizze, hogy van-e vessző, majd ha nincs, akkor a vessző nélküli számot vegye ki. Ha ez fordított sorrendben történne, a Google nem ellenőrizné, hogy van-e vessző, és csak a “180”-at, azaz a vessző előtti számjegyeket vonná ki.
A legegyszerűbb a cellák és oszlopok felosztása, a cellák és oszlopok kombinálása, valamint más gyakori OCR-átírási és adatbeviteli hibák javítása a Google Sheetsben a Paperpusher ingyenes bővítmény segítségével. Nézze meg!