Telefonszámunk: 1-472-0679

[Resolved] CSV fájlok kezelése

Kezdőlap Fórumok Excel témák [Resolved] CSV fájlok kezelése

Topic Resolution: Resolved
14 bejegyzés megtekintése - 1-14 / 14
  • Szerző
    Bejegyzés
  • #6176
    borniex
    Felhasználó

      Sziasztok,

      Van mellékelve egy szerintem nagyon csúnya csv fájl amiből szeretném kinyerni az adatokat. A fájlt egy könyvelő program generálja és dolgozónként szeretném a bér, járulék és szabadság adatokat kinyerni, de napok óta nem boldogulok. Mivel lenne a legcélszerűbb? Minek van benne ennyi oszlop? Eddig főleg excelben gondolkodtam de más programnak is szívesen utána nézek ha azzal kezelhető. Makrót írni nem tudok sajnos. Én azt gondoltam függvénnyel is meg lehet oldani, de kezdem azt hinni, hogy nem. A fájl adatainak szerkezete minimálisan de változik. Az ötleteket és a segítséget előre is köszönöm.

      Attachments:
      You must be logged in to view attached files.
      #6178
      horvimi
      Adminisztrátor

        Szia!

        Ez első ránézésre elég durván néz ki.
        Tegyél fel lszi egy mintát ahhoz is, hogy mit szeretnél látni eredményként, mert a bér, járulék, szabadság adatok így kevés.
        Legyen fejléce, és a 4 dolgozói rekord, ahogy látni szeretnéd a végeredményt.

        makróval valószínűleg meg lehet csinálni, de időm biztosan nem lesz rá.
        A részletek megismerése után el tudom dönteni, hogy PowerQuery szóba jöhet-e.

        Mit jelent az, hogy a szerkezet minimálisan változik?

        Imre

        #6180
        borniex
        Felhasználó

          Teszek ide egy mintát. Ha egyet ki tudok nyerni belőle, gondolom akkor az összeset is. index,hol.van függvényekkel próbálkoztam, szerintem azokkal is mennie kellene. Van egy xlsx kiterjesztés is, azt is becsatolom mindjárt, lehet az könnyebb út. Hogy változik azt értem alatta, hogy nem mindegyik egyforma mennyiségű sort tartalmaz.

          • A hozzászólás módosításra került: 5 years, 3 months telt el-borniex.
          Attachments:
          You must be logged in to view attached files.
          #6182
          borniex
          Felhasználó

            Csak .xls

            Attachments:
            You must be logged in to view attached files.
            #6185
            horvimi
            Adminisztrátor

              Ha az xlsx-ben a csv tartalom van ugyanebben a formában, akkor mindegy.
              Néhány feltételezéssel élve esetleg meg lehet próbálni a következő utat:
              feltételezések:
              – Megvannnak a dolgozói nevek egy külön listában/excelben.
              – Nincs közöttük ismétlődés. (Ha van, akkor kell az adazonosító is)
              -A Névhez vagy az adóazonosítóhoz képest mindig ugyanannyi relatív eltolásra vannak a szükséges cellák egy emberhez. (Az aktuáls fájlban,és a jövőben mindig)

              Ha ezek igazak, akkor a menetet én így próbálnám:
              1. rákeresnék a névre (vagy az adóazonosítóra)
              2. Ha megtalálta, akkor megállapítom, hogy melyik cellában találta meg
              3. ELTOLÁS függvénnyel kiszedegetném hozzá képest jobbra-balra-le a többi adatot
              Ez egymásba ágyazva vélhetően egy elég bonyolult képletet ad, de csak egy figurára kell megcsinálni, a többire lehúzható.

              Kipróbáltam a bruttó bérre, ami a dolgozó1 szövegtől 16 sorral lejjebb, és 3 oszloppal jobbra van, és működik!

              A CSV különben teljes katasztróva, A dolgozó1 úgy van benne, hogy „: dolgozó1”
              Tehát ketőspont, szóköz, dolghozó1
              Az adóazonosító szintén.
              Elképesztő!!!

              Emiatt a dolgozó1 kettőspontos verzióját írtam, azt kell keresni, hogy hol van.
              Tehát A2-ben az van, hogy „: dolgozó1”
              Képlet a B2-ben a bruttó bérre

              =ELTOLÁS(INDIREKT("'[könyvelő-teszt.csv]könyvelő-teszt'!"&"D"&HOL.VAN(A2;'könyvelő-teszt.csv'!$D:$D;0));16;3;1;1)

              Működés:
              A HOL.VAN megkeresi az A2-t (dolgozó neve) a csv fájl D oszlopában, szövegesen összerakja a címét, majd az eltolás függvény első, bázis paraméterének INDIREKT függvénnyel odaadja, és 16 sor, 3 oszlop eltolással kivesz egy 1 sor és 1 oszlop magas tartományt, ami egy cella, ahol a bruttó bér van.

              Lehúztam a többi dolgozóra.
              Rögtön kibukott, hogy dolgozó2-nél nem 16, csak 14 sorral van lejjebb a bruttó bér, a dolgozó3-nál 15-el, dolgozó4-nél megint 14 sorral.

              Hát, ez nagyon gáz úgy ahogy van.
              Biztosan nem lehet valami normálisabb formátumot kinyerni abból a programból?
              Szégyen gyalázat 2019-ben

              Imre

              #6186
              borniex
              Felhasználó

                Sajnos az .xls sem sokkal szebb. Vmi dinamikus keresés kellene. Olyat nem lehetne, hogy a „Nettó:” kifejezést keresem az mindig ugyanabban az oszlopban van és a dolgozó név cella indexével kezdődik a tartomány és akkor a helyes nettó érték lesz az első találat? Vagy valamire nem gondoltam? Ha makrózást szeretnék tanulni hogy meg tudjam csinálni, mit, hol kéne keresnem. Milyen könyvet kell venni? Mit ajánlasz? És természetesen nagyon szépen köszönöm a segítséged, talán egyszer egy céges oktatás kellene.

                • A hozzászólás módosításra került: 5 years, 3 months telt el-borniex.
                #6188
                horvimi
                Adminisztrátor

                  Ránéztem az XLS-re is. Az is csúszkál.
                  A Bruttó bér amiatt csúszkál, hogy volt-e szabin az elszámolási időszakban vagy nem.
                  Ettől függően jönnek be új tételek.
                  Viszont ha mindig ugyanabban az oszlopban vannak, akkor ahogy a nevet meg tudtuk keresni, úgy meg tudnánk keresni a „Bruttó járandóság” szöveget, ami az adott névtől lefelé van. Egy-két segédoszlopot kellene használni.

                  Látom, hogy KulcsSzoft program, és nyomtatáshoz lett készítve, Így már érthetőbb, hogy miért ilyen rettenetes adatfeldolgozás céljára.
                  Én már hallottam olyat, hogy közvetlenül csatlakoztak a Kulcsssoft program adatbázisához, és direkt lekérdetzésekkel kinyerték belőle a szükséges adatokat.
                  és persze ők is megcsinálnák szerintem, ha jól el tudod mondani, amit szeretnél.

                  Makrót tanulni lehet, de ez egy elégé összetett programozási feladat, idáig eljutni úgy lehet, ha egy halom problémát megoldasz, és rutint szerzel. Ez 1-2 év minimum.

                  Vannak nekünk is makró tanfolyamaink, kezdetnek például az egynapos automatizálás, most lesz szeptember 17-én.
                  http://pentaschool.hu/excel/excel-automatizalas-makro-vba-tanfolyam.php

                  Itt még nincsenek összetett dolgok, csak repetitív munkafolyamatok automatizálása, arra jó, hogy beleláss és éldöntsd, kell-e ez neked?

                  Visszatérve, ezzel az összetett HOL.VAN-INDIREKT-ELTOLÁS kombóval szerintem megoldható

                  Imre

                  #6189
                  horvimi
                  Adminisztrátor

                    Kicsit eljátszottam vele, egész bíztató.
                    A Törzsbérig eljutottam.
                    Az a baj, hogy a Nettó bér is csúszkál a 3-4 dolgozónál egy oszloppal hátrébb van a Nettó, ezért nem találja.
                    De a többi jó.

                    Csatolom, több időm most nincs erre, bocsi.
                    Az INDIREKT fv miatt csak akkor működik, h a csv is nyitva van az Excelben., és ugyanez a neve, mert bele van drótozva.

                    Imre

                    Attachments:
                    You must be logged in to view attached files.
                    #6195
                    borniex
                    Felhasználó

                      Itt tartok. Biztos hogy innen meg lehet már oldani. Csak még nem találtam ki hogyan. A neveket nem tudom sorba rendezni és az indexeket sem. Elcsúsznak a sorok. Miért? ilyet nem is láttam még azt hiszem. A törzsbér indexének kereséséhez a két egymást követő név indexét kellene azt gondolom megadni, akkor adná vissza a hozzá tartozó értéket. Bárhogy próbálom összefűzni a =HOL.VAN($D$1;”Munka2!P”&b2:P;0) , mindig hibát kapok vissza, nem tudom hogyan van a helyes formátum. Hol lehetne ennek utána nézni? A törzsbér oszlopban sikerült, de lemásolni nem tudom, pedig már majd minden variációt kipróbáltam. Még 6 nap hónap zárásig 😀

                      Attachments:
                      You must be logged in to view attached files.
                      #6197
                      horvimi
                      Adminisztrátor

                        Megnézted, amit feltettem?

                        #6198
                        borniex
                        Felhasználó

                          Meg persze és sejtem, hogy itt a szövegesen összerakni címet részt kell figyelni csak még nem sikerült megértenem. De az elgondolás jó ugye hogy így dinamikus lenne a keresés és az összes többi tényezőt is hasonlóan lehetne?

                          #6199
                          horvimi
                          Adminisztrátor

                            Igy van

                            #6206
                            borniex
                            Felhasználó

                              Sikerült, köszönöm, nagyon hálás vagyok!

                              #6208
                              horvimi
                              Adminisztrátor

                                Nem volt egyszerű, gratulálok!

                              14 bejegyzés megtekintése - 1-14 / 14
                              • Be kell jelentkezni a hozzászóláshoz.