Barion Pixel
Excelmarketing.hu - Amikor ChatGPT sem írja meg jól a képletet, ott a Copilot

Esettanulmány: Vegyes dátumtípusok egy forrásfájlban – Copilot megoldotta

A munkám során heti szinten használok egy Excel-alapú riportot, amely egy weboldal háttérrendszeréből exportált adatokra épül. Az adatfrissítést egy saját fejlesztésű makró automatizálja, ami jelentősen gyorsítja a folyamatot. A fájl azonban meglehetősen komplex: nagy méretű, és több külső forrásból származó táblázatra támaszkodik.

Az egyik ilyen adatforrásban egyszer egy változtatás történhetett, ami a frissítéseknél fel sem tűnt elsőre: a nyers exportfájl dátum oszlopában az értékek nem egységes formátumban szerepeltek.

A probléma: „Dátum” oszlop kétféle adattípussal

Az egyik külső nyers fájlban a „CREATE_DATE” / „dátum” jellegű oszlop nem egységesen érkezett:

  • A sorok egy részében a dátum valódi Excel dátumként (számként tárolva) szerepelt, pl. 2026.01.02 22:31.
  • Más sorokban ugyanaz a mező szövegként érkezett, pl. 2026-01-02 22:09:40.032 (kötőjeles, milliszekundumos, importból jövő timestamp).

A vegyesség leglátványosabb jele az volt, hogy a dátumok különböző igazítással jelentek meg:

A szöveg balra, a szám/dátum típus jobbra igazodik.

Miért veszélyes ez egy riportban?

A hiba nem „csak esztétikai” volt, hanem több láncreakciót okozott:

  • Szűrés és rendezés: a szövegként tárolt dátumok nem ugyanúgy rendeződnek, mint a valódi dátumok.
  • Pivot és kimutatások: a dátum szerinti csoportosítás (hét/hónap/év) bizonyos soroknál elcsúszhat vagy nem működik.
  • Képletek: a dátumra épülő képletek (pl. HÉT/HÓ/ÉV oszlopok) eltérő eredményeket adhatnak, vagy hibát dobhatnak.
  • Makró futás: a makró által elvárt típus (Date) helyett text érkezik → ez könnyen okoz hibát vagy rejtett adatszennyezést.

Összességében: esetünkben a riport ugyan „lefutott”, de a kimenet minősége romlott, a szöveg típusú „dátumok” nem kerültek bele megfelelően a kimutatásokba.

A megoldási stratégia: normalizált dátum képlettel

A cél az volt, hogy a riportban legyen egy olyan dátum mező, ami:

  1. Minden sorban valódi dátum (Excel dátumszám),
  2. Független attól, hogy a forrás szöveg vagy dátum,
  3. Időrészt levág (ha csak dátum kell),
  4. Nem kézi beavatkozás, hanem automatizálható (makróval/frissítéssel is).

Ezért a dátummezőhöz egy olyan képlet került be, ami két ágat kezel:

  • Ha a forrás cella már eleve dátum/szám → INT() levágja az időrészt és dátum marad.
  • Ha a forrás szöveg → a képlet kiveszi a dátum részt, egységesíti a formátumot, majd DATE()-tel valódi Excel dátummá alakítja.

Példa jelleggel (konceptuálisan):

=IF(ISNUMBER(forrás),
    INT(forrás),
    DATE(év, hónap, nap)
)

Igen ám, viszont férfiasan bevallom, a képletet nem sikerült magamtól megírni. Sem ChatGPT-vel. Ekkor jött az Excelbe integrált Copilot.

Hogyan segített az Excelbe integrált Copilot licensz?

A Copilot licensz több ponton is gyorsította és biztosabbá tette a megoldást:

Gyors diagnózis: A vegyes igazítás alapján azonnal felvetette a dátum-szöveg kettősségét, így nem kellett hosszasan manuálisan keresgélni, hogy miért viselkedik furcsán a rendezés/pivot.

Robusztus képlet-javaslat: Olyan képletet javasolt, ami kezeli mind a valódi dátumot, mind a timestamp jellegű szöveget – és közben levágja az időt, ami sok riportban alapelvárás.

Tudásmegosztás: A Copilot abban is segített, hogy a megoldás ne csak „működjön”, hanem érthető legyen: lépésről lépésre megfogalmazhatóvá vált, mi történik a képletben, így később is könnyen karbantartható.

de a legfontosabb, mivel az AI már az Excelbe volt építve, így a Copilot egyből átlátta az egész fájlt. Nem kellett minden részletet elmagyarázni neki, mint pl. egy külsős ChatGPT-nek. Tudta melyik oszlopban mi van, hol milyen érték szerepel. Ez meggyorsította és leegyszerűsítette a promptolást.

Íme a végső képlet:

=HA(SZÁM(D2);
    INT(D2);LET(t;HELYETTE(BAL(D2;10);"-";".");
    DÁTUM(ÉRTÉK(BAL(t;4));ÉRTÉK(KÖZÉP(t;6;2));ÉRTÉK(KÖZÉP(t;9;2))))
)
Mennyire találtad hasznosnak ezt cikket?
[Összes szavazat: 1 Átlag értékelés: 5]

Közzétéve

itt:

, írta:

Cimkék: