“Ott van a számban a pont”

“Nem vagyok én szájsebész.”

A munkahely kiváló ihlető forrása az írásoknak. Részben azért, mert igazi, mindennapi felhasználói problémák vetődnek fel, másrészt, mert időnként vicces formában hangzanak el a kérdések.

Tehát, a probléma: gyakran előfordul más, külső rendszerből történő adat átvételnél, hogy a szám adatok számként nem értelmezhető karaktereket tartalmaznak. Sokszor van a számok előtt szóköz, esetleg a tizedes pont vagy ezres elválasztó karakter különbözik az Excel beállításaitól. Egyszerű megoldásként általában Keres/Cserél-t (Find / Replace) alkalmazunk a menüből. Jelen esetben a “számban” levő pontot kellett volna eltüntetni, azaz semmire kicserélni. Ez azonban valamiért nem sikerült, az Excel nem cserélte ki a pontokat. Ne foglalkozzunk most az okokkal (többféle is lehet), inkább mutatok egy jobb megoldást.

Az adattisztítás megoldható két képlet használatával.

A KIMETSZ vagy TRIM (a 2007-es Excelben is TRIM) formula az összes felesleges szóközt eltávolítja a szövegből (csak a szavak közti egyszeres szóközt hagyja meg). Így működik:

Trim1

=KIMETSZ(A2)

=TRIM(A2)

 

A HELYETTE vagy SUBSTITUTE formula  a pontot fogja eltávolítani ebből a tisztított adatból. Első paramétere az a szöveg (cella) amiben a helyettesítést végezzük, második paraméter: amit cserélünk, harmadik paraméter: amire cseréljük. Kolléganőmek így építettem fel:

Trim2

=HELYETTE(B2;”.”;””)+0

=SUBSTITUTE(B2;”.”;””)+0

A harmadik paraméter egy üres idézőjel (“”) – ez jelenti Excel-nyelven a semmit, vagyis hogy a pontot semmire cseréljük. Természetesen bármi másra is cserélhetnénk, például vesszőre, ha épp tizedes jegy elválasztó karakterről lenne szó.

A képlet végén +0 áll, ez fogja számmá konvertálni az adatot, hiszen a karakter helyettesítés szöveg művelet, tehát az Excel alapból szövegként adja vissza az eredményt – így viszont nem tudunk vele számolni. A legegyszerűbb matematikai művelet (+0) már elegendő, hogy számmá alakuljon az adat.

Miért jobb ez a megoldás?

Mert nem kell manuálisan elvégezned a keres-cserél műveletet (kétszer!) – a képletek ott maradnak a munkalapon, ha új adatot másolsz be, akkor rögtön “megtisztítják” az új adatokat is.

Tehát mire emlékezz?

=KIMETSZ(szöveg) vagy =TRIM() a szóközök eltávolításához

=HELYETTE( szöveg ; régi szöveg ; új szöveg ) vagy SUBSTITUTE() karakterek cseréléséhez.

 

 

4 comments

Skip to comment form

    • Avatar
    • Kárándi Diána on 2013-11-06 at 09:16
    • Válasz

    Erről nem is tudtam! Én még a jó öreg Find/Replace user vagyok… 🙂

    • Avatar
    • Filitheyo on 2013-11-06 at 20:59
    • Válasz

    Hű, köszi!!!! Hatalmas ötlet!

    • Avatar
    • Marietta on 2013-11-07 at 19:21
    • Válasz

    a +0-ra soha nem jöttem volna rá magamtól 🙂

    • Avatar
    • Istvan on 2018-06-08 at 16:10
    • Válasz

    Köszönet a posztért!

Hozzászólás a(z) Filitheyo bejegyzéshez Kilépés a válaszból

Your email address will not be published.

css.php