«

»

nov 06

“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.

 

 

3 comments

  1. Kárándi Diána

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

  2. Filitheyo

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

  3. Marietta

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

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.

Az alábbi HTML kódok használhatóak: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

css.php