Hivatkozott Excel verzio: Excel 2010 Excel 2013 Excel 2016 Office365
Még manapság is előfordul, hogy egyes pénzügyi rendszerek úgy exportálnak adatokat, hogy a negatív előjel a számok végén van. Az export fájl legtöbbször CSV formátumban van, ezért a példában is ebből indultam ki. Nincs benne több, mint egy adatoszlop. A negatív számokat a hátul lévő mínusz jel miatt szövegesnek tekint az Excel a megnyitáskor, ezért ha vegyesen vannak pozitív és negatív számok az oszlopban, akkor kb. így fog kinézni a CSV és az Excel.
Tehát a feladat az, hogy a negatív előjeleket mozgassuk a számok elejére, és természetesen alakítsuk numerikus típusúvá. Három megoldást fogok megmutatni, szituációtól függ, hogy mikor melyiket érdemes használni.
Megoldás képlettel
Általános megoldás
A cikk megírása előtt rákerestem a problémára, és meglepődve tapasztaltam, hogy 5-6 féle megoldást találtam. Közöttük voltak meglehetősen összetettek is. De a leggyakoribb mégis az a megoldás, amikor lecserélik a kötőjelet a semmire, majd az eredményt hozzáfűzik a kötőjelhez, és számmá alakítják. Természetesen ezt csak akkor kell megtenni, ha a végén van a kötőjel.
=HA(JOBB(A2;1)="-";ÉRTÉK("-"&HELYETTE(A2;"-";""));A2)
Kedvenc megoldásom
Találtam azonban egy igazi gyöngyszemet is, ami hihetetlenül elegáns, azonnal a kedvencem lett.
=MAX(A2;-HELYETTE(A2;"-";""))
Két érték közül választja ki nagyobbat. Az egyik az eredeti, a másik a kötőjeltől megszabadított és ellenkező előjelűre módosított verzió. Nézzük az eseteket:
- Ha az eredeti érték pozitív, akkor az első változatlan marad, a másodikból kijön a kötőjel, és negatív lesz. A nagyobb tehát az eredeti pozitív szám
- Ha az eredeti érték végén kötőjel van, akkor szövegesnek számít, és a MAX függvény figyelmen kívül hagyja. A másodikból kiveszi a kötőjelet, és negatívvá teszi.
Megoldás szövegből oszlopok eszközzel
Erről az eszközről már több bejegyzés is született, most egyet hivatkozok meg, ami néhány speciális lehetőséget mutat be,
Úgy látszik, hogy ez a szám végi negatív előjel probléma régóta ismert lehet, mert az Excel minden verziója, amiben benne van a szövegből oszlopok parancs, beépítve tartalmazza az átalakítást.
- Kijelöljük az oszlopot
- Adatok-> Szövegből oszlopok
- A harmadik lépésben bemegyünk az „Irányított” opcióba
- Az opció alapból be van pipálva (be sem kellene jönni ide)
- Befejezés
Megoldás PowerQuery-vel
A CSV csatlakozás során magától felismeri a helyzetet és automatikusan kezeli.
Lássuk mindezt Videón is
Vélemény, hozzászólás?
Hozzászólás küldéséhez be kell jelentkezni.