Telefonszámunk: 1-472-0679

Egyedi értékek kinyerése

Kezdőlap Fórumok Excel témák Egyedi értékek kinyerése

15 bejegyzés megtekintése - 1-15 / 15
  • Szerző
    Bejegyzés
  • #11477
    Miklos
    Felhasználó

      Sziasztok!

      Milyen megoldást ajánlotok, arra feladatra, hogy van egy táblázat, miben random cellákban értékek helyezkednek el szöveg és számok formájában vegyesen, azaz adatok. A HA(VAGY függvényt használtam a teszt feladatra, de mivel a sorok és az oszlopok száma is tetemes, ezért olyan megoldásra van szükségem, ami nem igényel ennyi macerát.
      Csatolok munkafüzetet.

      Köszönöm a lehetőséget.

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

        Szia!

        A feladatot nem írtad le, de a munkafüzetből ki lehet találni.
        A fekete hátterű értékeket kell megkeresni egy tartományban és ha megvan, visszaadni az oszlopszámát.
        Te ugyan sor-t írtál a VAGY-os megoldásba, de a képlet oszlopszámokat ad vissza.

        Ez a HA(VAGY megoldás valóban elég reménytelen.

        Én készítettem egy megoldást, de csak akkor működik, ha a keresendő értékek nem ismétlődnek az oszlopokban.
        Ez egy tömbképlet:

        =SUMPRODUCT((B8=$B$2:$K$4)*COLUMN($B$2:$K$4))

        A B8-ban lévő értéket keressük (512) a B2:K4 tartományban.
        Először megnézi, hogy bármelyikkel egyenlő-e és az eredmény tömböt, ami TRUE/FALSE tömb) megszorozza a cellák fizikai oszlop értékeinek tömbjével. A kapott tömbben egy helyen lesz egy oszlop érték, a megtalált adat pozíciójában, a többi nulla lesz
        Ezt összeadva magát a fizikai oszlop értéket kapjuk.

        hangsúlyozom ég egyszer, hogy ez csak ismétlődéseket nem tartalmazó tartományban fog jól működni.

        csatolom.

        Imre

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

          Szia!

          Egyedi értékre tökéletes. Én így módosítottam: =SZORZATÖSSZEG((B8=$B$2:$K$4)*OSZLOP($B$2:$K$4))-1 és akkor az oszlop számot kapom meg.

          Valójában az is érdekelne, hogy milyen megoldás van arra, ha a tömb soraiban, vagy oszlopaiban több azonos érték van, és azt szeretném kiíratni , listázni?

          #11483
          horvimi
          Adminisztrátor

            Szia!

            Ha lehet, mindig add meg azt is, hogy melyik Excel verizót használod.

            Mert ha egy keresett érték többször előfordul, akkor további lehetőségek merülnek fel:
            – Több oszlopban benne lehet, de csak egyszer, kellene az oszlopok listája
            – Egy vagy több oszlopban benne lehet, de oszlopon belül is ismétlődhet. Az oszlopon belüli ismétlődéseket is listázza vagy azt egynek tekintse?
            – Érdekelhet, hogy melyik oszlopban fordul elő először
            – ilyesmi

            Ezekre összeraktam lehetséges megoldásokat, de ez már csak Excel 2024-ben vagy 365-ben fog működni.
            Például az oszlopok listája, ahol előfordul a B8:

            =TEXTJOIN(" ,";TRUE;LET(oszlopok;TOCOL((B8=$B$2:$K$4)*COLUMN($B$2:$K$4));FILTER(oszlopok;oszlopok>0)))

            Csatoltam az Excel fájlt.

            Imre

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

              Szia verax, Imre!

              13 verzió.

              #11491
              Miklos
              Felhasználó

                Szia Imre!

                Tehát, van egy tömb aminek a cellái tartalmaznak adatokat vegyesen, azaz számokat és szövegeket is, viszont az egyszerűség kedvéért minden át van konvertálva szöveg formátumba. A jelenlegi a 03-07 verzióban fut, mivel a telefonos app abban kezeli a függvényeket, és a makrókat.
                A sima keres funkcióval a cellákban található szavakra lehet rákeresni, és kiadja az előfordulásuk számát a tömbben.
                Én azt szeretném elérni, ha van rá mód ebben a verzióban, hogy az általam bevitt adathalmazok, amik egy külön lapon helyezkednek el egyedileg, hogy ezek az egyedi rekordok szerint legyenek listázva egy harmadik lapra dátum és óra szerint sorrendbe. Illetve, ha ez megoldható, akkor, ha ismétlődik a rekord a bázis lapon beírás közben, akkor ajánlja fel a már rögzített rekordot, és ha a rekord módosításra kerül bármelyik része, azt újként rögzítse.
                A bázis lap amire rögzítve vannak az adatok, úgy néz ki értelemszerűen, hogy függőlegesen vannak a napok-első sor, és vízszintesen az órák-fejléc, negyedórákra bontva, így 4 cella tesz ki egy órát.
                Gondolkoztam a kétdimenziós kereséssel, de az csak számokkal működik, mert a keresendő számsor utolsó 4 karakterének egyezése kell a pontos találathoz, és ha teljes egyezést akarok találni, akkor növelem mindig egy számmal a keresést. Pl.: d21005642223 esetén elég a 2223-at beírni, de ha van a tömbben d21004222364, akkor azt is találatként kezeli, ezért a 2223 helyett 42223 keresek, és az sem jó, ezért a 642223 fog teljes egyezést mutatni ami kell nekem. És akkor ezt már lehet rögzíteni. Ez működik akkor, ha kizárólag ID-t keresek és indexelem a hozzátartozó sorok adatait.

                Remélem érthetően leírtam.

                Nagyon hasonlóra gondoltam, amit ezen a linken elkészítettél Imre. Azzal a különbséggel, hogy én a rekordot keresem listázásra sor és oszlop szám megjelöléssel, vagy tükrözéssel, és nem a feltétel utáni rekordot.
                https://excel-bazis.hu/forumok/topic/ertekek-osszes-elofordulas-keresese-eredmeny-listazasa

                #11492
                verax
                Felhasználó

                  Sziasztok! Szia Miklós!
                  Én úgy tudom, hogy az Excelnek nincs v13.0 verziója.
                  Excel 2007 = v12.0
                  Excel 2010 = v14.0
                  Lehet hogy Excel 2013-at használsz?
                  De mindegy is… még az Excel 2013 sem rendelkezik azokkal a függvényekkel, amelyekkel hatékonyabban kezelhetjük az adattömböket, ennél fogva azok hiányát a VBA nyelvű programozással lehet pótolni. Ott viszont már semmi akadályt nem jelenthet a keresendő adatok többszöri ismétlődése sem.

                  üdv’
                  verax

                  #11497
                  horvimi
                  Adminisztrátor

                    Sziasztok!

                    Ezzel eldőlt, hogy az én függvényes megoldásom nem fog működni.
                    A 03-07 verziót sem értem, de hátha kiderül, hogy az mi.

                    Miklós!
                    Ezúttal nem csatoltál fájlt, de a leírásból kiderül, hogy valami egészen mást szeretnél, mint amit kérdeztél. Illetve az még lehet, hogy a kérdésed, egy általad kitalált lehetséges megoldás első lépése lenne. Mármint hogy listázza az előfordulások oszlopszámát. Mindegy én el voltam vele, a második választ már egyedül találtam ki, tanultam belőle.

                    Ez a sorbarakásos rekord átírás/módosítás dolog egyértelműen makró irányába viszi a dolgot, amit meg kell előzzön egy sokkal pontosabb feladatleírás.
                    Előbb-utóbb biztosan megszületne valamilyen megoldás, de részemről ez már meghaladja az ingyenes segítség határait. Főleg, hogy ha jól sejtem, nem készítesz makrókat Excelben, tehát nem tudnál önállóan hozzátenni (javíts ki, ha tévedek)

                    Lehetséges, hogy a ChatGPT-t vagy valamelyik másikat lehetne addig nyüstölni, amíg valamit össze nem hoz neked.

                    Verax, te jössz, ha neked belefér időben

                    Imre

                    #11511
                    horvimi
                    Adminisztrátor

                      Azok a tömbképletek nem fognak működni 2013-ban, amiket én a második megoldásban adtam neked.

                      Imre

                      #11515
                      Miklos
                      Felhasználó

                        Szia Imre!

                        a 03-07 az 97-2003-as verziót jelent, csak elírtam. 🙂
                        Igaz önállóan nem tudok makrót írni, különben nem lógnék itt:). Viszont régebben foglalkoztam vele, és videókból írogattam egysmást. Jelenleg is van egy formom ami adatbevitelre adatbázisként működik, úgy hogy a rekordok sorba vannak rögzítve cellákra osztva, pl.: veznév kernév szdát,stb.
                        Ez a makró vissza tudja hívni az ID-t és törölni, vagy módosítani tudja.
                        Még az is megoldás lehet, hogy hozzádobok pár oszlopot, és a napot és időt külön oszlopba rögzítem.

                        Különben nagyon hasonló makróra gondoltam, amit ezen a linken elkészítettél. Azzal a különbséggel, hogy én a rekordot keresem listázásra, és nem a feltétel utáni rekordot. Teszteltem, a 2-t kivettem és tesz a dolgát.
                        https://excel-bazis.hu/forumok/topic/ertekek-osszes-elofordulas-keresese-eredmeny-listazasa

                        Igen, az a továbbgondolás része lenne, ha szükséges részemre.
                        Nyilvánvaló, hogy egyedi elképzelés létrehozása egyedi tárgylás és megegyezés az alapja.

                        #11519
                        horvimi
                        Adminisztrátor

                          Szia!

                          Csatolt minta nélkül nem fogunk tudni tovább lépni.
                          Amit eddig értek:

                          – 2013-as Excelt használsz, de a munkafüzet régi Excel formátumban van (xls)
                          – Egy bázis munkalapra te viszel be adatokat soronként. Ennek formátuma értelmezésem szerint egy mátrix, ahol az első oszlopban dátumok vannak, a többi oszlop fejlécben az idő negyedóránként. Az nem derül ki, de gondolom egy napról lehet szó, azaz max 24×4 idő oszlop.
                          – Egy rekord adat tartalmát nem ismerjük, de valahol van benne egy ID, gondolom ez a lényeg, ez biztosítja az egyediséget?
                          – Én úgy értem, hogy a felvitt rekordok nincsenek időrendi sorrendben.

                          Na, innen jön az, hogy mit szeretnél, és ez nekem nem egyértelmű
                          – A bázis táblából készüljön egy másik munkalapra egy új tábla, ami Egyedi rekordokat tartalmaz, időrendben
                          – Nem írtad le, hogy ennek a táblának milyen formátumban kellene lennie? Olyanban, mint a bázis tábla?
                          – Itt már nem értem az időrendet. Az első oszlopban lévő dátum szerint növekvő? De akkor mi van az időkkel az oszlopokban?
                          – És ha egy napon belül több negyedórában is van érték, akkor mi is van?
                          – Ha a bázis lapon az ID beírásakor kiderül, hogy ez az ID már létezik, akkor valahogy jelenjen meg a már létező sor,
                          amit lehessen szerkeszteni és ezután visszaírni új rekordként.
                          – Hová? A bázis táblába?
                          – Melyik táblában kel figyelni, hogy vane már ilyen ID?
                          – Ez csak makróval oldható meg, és űrlappal, ami különben van neked valami hasonlóról írtál.

                          És még bizonyára számtalan pontosításra van szükség, amit írogatással végtelen idő tisztázni.
                          Csatolt munkafüzettel kicsit előrébb lehetünk.

                          De konkrét makró írásra a fórum keretein belül nekem most nincs szabadidőm.

                          Imre

                          #11520
                          Miklos
                          Felhasználó

                            Szia!

                            Ok, készítek két külön munkafüzetsablont, amit ellátok magyarázattal, hogy értsd, mert a válaszod alapján összemostad a két variációt amit leírtam.

                            #11530
                            verax
                            Felhasználó

                              Sziasztok!
                              Egy időre hátrább léptem, hogy ne „beszéljünk” egyszerre.
                              Miklós!
                              Ha eddig nem tetted meg, talán érdemes lenne ismerkedned az adatbázisok világával is – mert ez a feladat adatbázisért kiált. És akkor rögtön kezdem is egy szabály ismertetésével. Adatbázisban nem módosítunk rekordokat (egyetlen mezőben sem), adatbázisból nem törlünk rekordokat (sorokat). Mindig új rekordban rögzítjük a szükséges változtatásokat.
                              Én ezt az „utat járom”, még akkor is, amikor a táblázatkezelővel oldom meg az egyszerű adatbázis feladatot.

                              De ha továbbra is ragaszkodsz az eredeti elképzelésedhez, szerintem – ha Imrének nincs is rá ideje – fogunk tudni segíteni.

                              üdv’
                              verax

                              #11559
                              Miklos
                              Felhasználó

                                Sziasztok!

                                Lehet, hogy nem voltam elég érthető, de ilyesmire gondoltam, amit készítettem.
                                A lényege, hogy a tartományon belül ami alapján ki kell nyerni az adatokat azok feltételek változnak. A változáskor az azok a tételek mentésre kerülnek, másik adatbázisokba, amik kikerültek, vagy bekerültek újként.

                                A lényege, amit mostanáig elértem, hogy az aktuális tartomány szerint tudok szűrni, majd ezt a szűrt tartományt egy újabb feltétel szerint lehet tovább szűrni, vagy akár egyből az egyedi rekordok alapján lehet szűrni és elmenteni.
                                A lényege, hogy pl.: a Favágás-ra évre, hónapra, hétre, napra le tudjam szűrni a bevitt adatokat.
                                Nem ezzel foglalkozom, csak példaként alkottam ezt a feltételt, de a naptár a saját szerzeményem, mert nekem így kényelmes és áttekinthető, az elterjedthez képest.

                                Mivel többféle szűrőt kell kreálni, és fontos az xls formátum megtartása, ezért még az Akárhány szintű legördülő lista makró nélkül verzióba való beágyazásba is gondolkodom.
                                Igaz gépre jó lenne a makros verzió, ha lenne rá mód.

                                Imre, valóban nem fut a Makro a telefonon, csak úgy emlékeztem, mert elég régen alkalmaztam azt a formot, és azt is arra használtam, hogy a kikeresett tételeket leszűrje, majd kinyomtassa.

                                Megfogalmazódott bennem egy gondolat: Mire a kérdéshez érkezel, már rég találkoztál a válasszal, akár több formában is.
                                Ez akkor fogalmazódott meg bennem, amikor megtaláltam a letöltött Lista szűrése másik lista alapján formot, ami évekkel ezelőtt történt.

                                Várom a hozzászólásokat, vagy kritikákat.
                                Köszi.

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

                                  Sziasztok!

                                  Így oldottam meg a nyűgömet.
                                  Van egy feltétel lap amibe rögzítem az új adatokat, az most teljesen mindegy, hogy hogyan.
                                  Ezek az adatok egyedi értékeket képviselnek, így a tartomány folyamatosan változik.
                                  Biztos mindenki ismerte, de én most jöttem rá, hogy a névtartományba így _1_ lehet számot kreálni, hogy sorszámkén nézzen ki.
                                  Működése: a főlap aktív celláit érvényesíteni kell, a tartományból kiválasztom a kívánt tételt, a főlapon elhelyezett cella (A2) indirekt módon behívja a kiválasztott adatot. Az aktív cellába, csak az a tétel fog megjelenni ami ki lett választva. Ezek után lehet tovább töltögetni a táblázatot.
                                  A szűrő az A:A oszlopban leszűri a képlet alapján a kitöltött sorokat -> Szűrő -> Dátumszűrők -> Egyéni szűrő -> <>0 választásával.
                                  A leszűrt adathalmazt k lehet menteni az eredmény táblába, ahol csak azok a sorok lesznek aktívak, amiben vannak adatok. Ezeket az adatokat így már tovább lehet bontani órára, napra, tételre.

                                  Eredetileg azt szerettem volna, hogy az indirekt hivatkozás az aktív cellába legyen, és a kiválasztott érték a legördülő menüben cserélődjön ki a sorszám hivatkozású szövegre.Gondolom nem lehet ezt függvénnyel megoldani.

                                  Ha van valakinek jobb ötlete szívesen várom.

                                  Attachments:
                                  You must be logged in to view attached files.
                                15 bejegyzés megtekintése - 1-15 / 15
                                • Be kell jelentkezni a hozzászóláshoz.