Telefonszámunk: 1-472-0679

Joker karakter probléma számoknál (általános/szöveg formátum)

Kezdőlap Fórumok Excel témák Joker karakter probléma számoknál (általános/szöveg formátum)

14 bejegyzés megtekintése - 1-14 / 14
  • Szerző
    Bejegyzés
  • #3082
    roys
    Felhasználó

      Sziasztok!

      Van egy 2 oszlopos „adatbázis” excelben. A és B oszlopban celláiban is vannak szövegek, szövegek + számok, számok (ahol csak szám van, általános a formátum, mivel matematikai műveletre nincs szükség).

      Az lenne az igény, hogy ha egy másik munkalapon beírok egy szöveget, vagy számot („keresett kifejezés”), akkor ezen a munkalapon kilistázza a releváns A (és sorban hozzá tartozó) B oszlopok értékeit, illetve fordítva (hiszen lehet, a keresett kifejezés a B oszlopban van, akkor viszont szükségem van az A értékekre is.)

      El is készítettem mindkét változatot HOL.VAN/ELTOLÁS/INDEX függvényekkel, több találat esetén szépen listázza mindet. A keresett kifejezést * joker karakterrel képleteztem, hogy szótöredékre is legyen találat, tehát *keresett kifejezés* és ezek össze vannak fűzve a keresési „célcellában” (én csak a középső cellába írok kifejezést).

      Azonban a következő problémára lettem figyelmes: ha az „adatbázis” egy cellájában (mindegy, hogy annak A vagy B oszlopból beszélünk) csak egy szám van megadva, akkor nem hoz találatot, a hiba pedig a * karakterek miatt van. Tehát pl. a keresési célcellában *szám* van, nincs találat, ha ezt felülírom, és * karakterek nélkül csak a számot írom be, akkor igen. A másik „megoldás”, ha az adatbázisban az ilyen, csak számokat tartalmazó cellák elé a ‘ karaktert beütöm, vagy akár mindegyik elé/mögé teszek pl. egy a betűt (a formátum hiába általános/szöveg, úgy tűnik az excel csak ekkor kezeli ténylegesen szövegként), de ez lehetetlen vállalkozás, mert nagy az adatbázis.

      Szóval, az igény az lenne, hogy megtartva a *keresett kifejezés* struktúrát, csak számokat tartalmazó cellák értékeit is megtalálja. Van esetleg valami speciális karakter „számokra”?

      Elnézést, ha túl részletes volt, de talán így, más komplett megoldás is eszébe jut valakinak (access?).

      Előre is köszi a segítséget!

      • A témakör módosításra került: 7 years, 6 months telt el-roys.
      • A témakör módosításra került: 7 years, 6 months telt el-roys.
      • A témakör módosításra került: 7 years, 6 months telt el-roys.
      #3086
      delila
      Felhasználó

        Szöveggé alakíthatod könnyen a számjegyeket tartalmazó oszlopot.
        Vegyük, hogy az A oszlopban vannak. Egy üres oszlop első cellája legyen
        =A1 & „”
        Ezt lemásolva minden számod szöveges érték lesz. Az új oszlopot értékként beilleszted az eredeti helyére.

        Most már a HOL.VAN függvény működik: =HOL.VAN(„*” & 81 & „*”;A1:A20;0)

        #3088
        Titok
        Felhasználó

          Vagy ue. csak Összefűz(A1) fv-nyel.

          #3092
          roys
          Felhasználó

            Köszi, ezt nem ismertem, működik! 🙂 Viszont a hol.van függvényhez nem nyúltam.
            Ha a szám mögé teszek egy „”-t akkor miért nem változtatja szöveggé? A & valami egy összefűzés, nem? Vagy csak képletben értelmezi a „”-t?

            #3093
            delila
            Felhasználó

              Az összefűz függvényt helyettesítheted az & jellel.
              =összefűz(a1;b1) helyett =a1 & b1. Még szóköz nélkül is működik: =a1&b1
              Ha a hol.van függvényben keresnél 15&””-t, nem találná meg a számok között a 151-et, de az =a1&”” képlettel szöveggé alakított 151-et igen.

              #3094
              roys
              Felhasználó

                Igen, pont emiatt kérdezem, hogy ha A1-ben van egy érték pl. 11, akkor pl. B1=A1 & „” szöveggé alakítja B1-ben a 11-et, viszont ha az A1-be a 11 mögé beírom a „”-t akkor ezt látom: 11″”, pedig az összefűz és & is gyakorlatilag ezt csinálja. Ezek szerint ez a „” olyan, amit csak képletben lehet alkalmazni.

                #3095
                delila
                Felhasználó

                  Végül ez is szöveggé alakítja, de utána teszi az idézőjeleket, amikre nincs szükség. Tehát értelmesen csak képletben lehet használni.

                  #3115
                  roys
                  Felhasználó

                    A hol.van függvény tud két értékre is keresni? *valami1* ÉS *valami2*, tehát annak a cellának a sorszáma(i) lenne(ének) az eredmény(ek), melyben mindkét szótöredék (valami1 és valami2 is) megtalálható. (Jelenleg ez két lépésben van megoldva, az első körös találatokra van egy újabb hol.van függvény.)

                    #3116
                    delila
                    Felhasználó

                      Keresed azt a sort az A oszlopban, aminek a tartalma „petrelyezsmes krumpli”, a függvény lehet (többek között) =HAHIBA(HOL.VAN(„*pet*rg*”;A:A;0);”nincs”)

                      #3117
                      roys
                      Felhasználó

                        Köszi! Arra van megoldás, ha nem az adott sorrendben van beírva a két kifejezés?

                        mert pl. erre van találat: =HAHIBA(HOL.VAN(“*petr*kru*”;A:A;0);”nincs”)
                        erre viszont nincs: =HAHIBA(HOL.VAN(“*kru*petr*”;A:A;0);”nincs”)

                        #3118
                        delila
                        Felhasználó

                          Az előző hsz-ben csúnyán mellényúltam a billentyűzeten, „ru” helyett „rg”-írtam, ami a “petrelyezsmes burgonya” kifejezés sorát határozza meg. 🙁

                          A “*petr*kru*” megtalálja a petrezselymes krumplit, de ha előbb szerepel az oszlopban a “Iván fia, Petruska a krupié”, annak a sorszámát adja vissza a HOL.VAN függvény.

                          Gondolj bele, hogy a * karakter több betűt helyettesíthet. A keresett szöveg meghatározatlan számú, bármilyen karakterekkel kezdődhet, majd folytatódik a “petr” szövegrésszel, ismét meghatározatlan számú bármilyen karakter után szerepelnie kell a “kru” szövegrésznek, ami után megint lehetnek egyéb karakterek, változó darabszámmal.

                          Összefoglalva: ha a keresési tartományban nincs olyan kifejezés, ami a “*kru*petr*” feltételnek megfelel, hibára fut a függvény, az eredmény ”nincs” lesz. Ehhez a fordított sorrendhez “*kru*petr*” feltételt kell megadnod.

                          #3119
                          roys
                          Felhasználó

                            Arra gondoltam, talán függvények összefűzésével megoldható: a hol.van megtalálja azt a sort, amelyikben van pl. „petr”, ÉS ha ez a sor annak a feltételnek is megfelel (HA függvény? SZÖVEG.KERES függvény?), hogy van benne *kru* (teljesen mindegy, hogy hol, a „petr” előtt/után, a lényeg, hogy van benne – ez egy külön vizsgálat), akkor kiadja a sor számát (ebből már tudok tartalmat index-szel), ha nincs benne a kru, akkor megy a következő petr-re és keresi abban a kru-t.

                            Most úgy van megoldva, hogy
                            1. ELTOLÁS függvénnyel kijön az összes pl. *petr* szót tartalmazó találat (30 sorig, azaz találatig van képletezve), 2. és erre a max. 30-as értéklistára van külön egy FKERES ahol már a *petr*-eket tartalmazók között keresi a második szótöredékre keres. Ezt a kettőt akartam valahogy összefűzni, de lehet, csak összezavarodna az excel.

                            #3120
                            delila
                            Felhasználó

                              =ha(hol.van(„*petr*kru*”;a:a;0)=hol.van(„*kru*petr*”;a:a;0);index függvény;”nincs találat”)

                              #3121
                              delila
                              Felhasználó

                                Letelt a szerkesztési idő, nem tudtam javítani.
                                Egyik oszlopban a “*petr*kru*”-ra keress rá, másikban a “*kru*petr*”-re.

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