Telefonszámunk: 1-472-0679

[Resolved] Előfordulás és előfordulás közti sorok száma kersés

Kezdőlap Fórumok Excel témák [Resolved] Előfordulás és előfordulás közti sorok száma kersés

Topic Resolution: Resolved
27 bejegyzés megtekintése - 1-27 / 27
  • Szerző
    Bejegyzés
  • #11135
    LajosLajos
    Felhasználó

      Sziasztok!

      Olyan problémába ütköztem, hogy egy folyamtosan bővülő táblázatban kell értékeket keresnem és azt is, hogy a találatok között mennyi sor van.
      Egyszerűség kedvéért feltöltöttem egy 10×10 es adatokat tartalmazó excelt és példa képpen az 1-es számot nézzük.
      Amihez segítség kellene, hogy bármelyik oszlop cellájában is fordul elő az 1-es szám és a példa képen 10×10 táblában akárhányszór,
      azokat az értékeket kellene megkapnom, hogy az előfordulások között, hány sor van és ezeket az értékeket sorba kiírva.

      Valóságban több ezer sor és oszlop van a táblázatban, de mindig egy konkrét számot keresek 1-kb 10000 között.
      A képletnek külömbséget kell tennie pl: 1-es keresésnél az 1-es, 101-es, 9010-es stb számok között, csak az 1es-re hozhat találatot a példában.

      Előre is köszönöm a segítséget.
      Üdv:
      Lajos

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

        Szia!

        Meglátásom szerint ez makró nélkül segédoszloppal oldható meg legegyszerűbben.
        Nem definiáltad pontosan afeladatot, a megoldáshoz kellene tudni, hogy
        – Lehet-e egy sorban többször is a keresett szám?
        – Melyik Excel verziót használod?

        Nézzük először azt az esetet, hogy egy sorban csak egyszer lehet 1-es
        1. Az utolsó oszlop után, akár egy oszlop kihagyásával csinálsz egy oszlopot, ami megvizsgálja, hogy az adott sorban van-e 1-es.
        – K1-be megadod ezt
        =DARABHA(A1:J1;1)
        – Lehúzod a végéig
        – Ahol van egyes, ott 1 lesz az eredmény, ahol nincs, ott 0.
        2. Ha ezt az oszlopot szummázod, akkor megkapod, hogy hány olyan sor van, ahol van egyes.

        Az egyeseket tartalmazó sorok számainak listájára, illetve a soron belüli ismétlődések lehetőségére térjünk vissza, ha válaszoltál a fenti két kérdésre.

        Imre

        #11138
        verax
        Felhasználó

          Sziasztok!
          Szia Lajos!
          Ahogy Imre is mondta, nem teljesen egyértelmű a feladat meghatározásod. Nekem az „az előfordulások között hány sor van” megfogalmazás okoz fejtörést. Ez vajon azt jelenti-e, hogy arra vagy kíváncsi, hogy …
          Hány olyan sora van a táblázatnak, amelyben legalább egyszer szerepel a keresett szám?
          (Imre erre a kérdésre válaszolt)
          VAGY
          Hány sor távolságra vannak azok a sorok egymástól, amelyekben legalább egyszer szerepel a keresett szám?
          A mondat folytatása is zavarba ejtő: „… és ezeket az értékeket sorba kiírva”

          Tedd meg, légy szíves, hogy a példa fájlodat oly módon egészíted ki, hogy kézzel beírod az általad várt helyes eredményt! Ha így teszel, biztosan meg fogjuk találni a képletet, amelyre szükséged van. 😉

          üdvözlettel
          verax

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

            Sziasztok!

            Elnézést Egy sorban csak egyszer fordul elő az 1-es és a soron belül bármelyik oszlopban lehet.
            Csak az érdekel, hogy az előfordulások között hány sor van.
            Tehát ha 1 sorban a 3 oszlopban van egy 1-es aztán a 6 sorban a 10 oszlopban a következő 1-es akkor itt 5 kell kapnom, mert öt sorra van.
            A teljes táblázatban akárhány sor lehet ahol van egyes és az összes előfordulások közötti sorok száma érdekel, maga az egyes, hogy hászrór az nem.
            Csak azok az értékek amik két 1-es kozott lévő sorok számát adják.
            PL: ha 1sorban aztán a 6. sorban 19,ben 30 ban van akkor kapnom kéne 5, 13, 11 számot a sortávolságokat, csak ez lenne a fontos-

            Köszönöm:
            Üdv:
            Lali

            #11141
            verax
            Felhasználó

              Szia Lajos!
              Nem tudom megnézted-e a fájlt, amit mellékeltem az előző hozzászólásomhoz. Ha még nem tetted volna meg, itt az ideje hogy pótold a mulasztásodat. 😉
              Látni fogsz benne egy „verax” nevű munkalapot. Figyeld az „L”, „M” és „N” oszlopot! Ott találod a választ a kérdésedre.

              üdv’
              verax

              #11142
              horvimi
              Adminisztrátor

                Sziasztok!

                Na, akkor már tudjuk mi a feladat 🙂
                Azt még mindig nem tudjuk, hogy melyik Excel verzió.

                365-ben tudnék mutatni olyat, ami szintén segédoszlopokkal, de az 1-eseket tartalmazó sorok különbségeit közvetlenül egymás alá listázza.

                ???

                Imre

                #11143
                delila
                Felhasználó

                  Szia Verax!

                  A füzeted verax lapján a =HA(HA(L2<>0;SOR();0)<>0;HA(L2<>0;SOR();0)-MAX(M$1:M1);"") képletet kiegészítettem egy -1-gyel:
                  =HA(HA(L2<>0;SOR();0)<>0;HA(L2<>0;SOR();0)-MAX(M$1:M1)-1;""), mert a 0-kat tartalmazó sorokat kell számlálni.

                  Én más megoldást – makróst – próbáltam. Csatolom a füzetet. Az üres (1-est nem tartalmazó) sorok számát az M oszlopba írja, egymás alá.

                  Üdv, Delila

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

                    Szia Delila!
                    Köszi! Igen, én is gondoltam arra, hogy talán hiányzik egy korrekció, de gondoltam megvárom Lajos pontosító válaszát. 😉
                    Most még Imre 365-os megoldása is csigázza az érdeklődésemet…

                    üdv’
                    verax

                    #11146
                    horvimi
                    Adminisztrátor

                      Szegény Lali csak kapkodja a fejét..
                      Verax, neked meg nincs is 365-öd ha jól tudom… 🙂
                      Google Sheets-ben ez a megoldás nem fog működni.

                      Na jó, ide írom az én megoldásaimat

                      Első segédoszlop (L)
                      Ha a sorban szerepel a keresett érték (P2-ben van), akkor lekéri a sor számát (SOR), különben üres sztring
                      =HA(DARABHA(A1:J1;$P$2)<>0;SOR();"")

                      Másodiik segédoszlop (M) – Ez a kulcs lépés
                      Az előző (L) oszlop celláit pontosvesszővel összefűzi, majd szétbontja az üresek mellőzésével, végül elforgatja, hogy egymás alá kerüljenek
                      =TRANSZPONÁLÁS(SZÖVEGFELOSZTÁS(SZÖVEGÖSSZEFŰZÉS(";";IGAZ;L1:L10);";"))

                      Eredmény oszlop (N)
                      Csak képezi az előző oszlop sorszámainak különbségeit.

                      Csatoltam a fájlt is.

                      Imre

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

                        Szia Imi!

                        Szerintem az N2 képletének a végén itt is le kellene vonni 1-et.

                        Delila

                        #11150
                        horvimi
                        Adminisztrátor

                          Hát, ha kell, akkor vonjunk! 🙂
                          Ez már csak a végső lépés, a lényeg előtte van…

                          I

                          #11152
                          delila
                          Felhasználó

                            :))

                            #11156
                            LajosLajos
                            Felhasználó

                              Sziasztok!

                              2019es prof plus magyar excel használok.
                              Végre megtudtam nézni a példákat, mindkét segédoszlopos megoldás ez jónak tűnik, nagyon köszönöm az eddig segítséget is:)
                              Olyan kérdésem lenne mivel egyszerre nagyságrendileg 200-300 db értéket kell figyelnem és azoknak ugyan úgy az előfordulás közötti sorok számát.
                              Így több száz segédsorral lenne megoldható.
                              Volna e arra megoldás, hogy egy számoz egy oszlop tartozna csak?
                              Most egy számhoz kell 3-4db segédoszlop és egy összesítő, ami kilistázza az eredményeket.
                              Ez átlag 200db számnál 1000db nagyságrendi oszlopt kellen létrehozni, ami mindig bővűl és változik. ( Gondolom az excel is belassúl ennyi hivatkozással?

                              Előre is köszönöm:)
                              Üdv:
                              Lajos

                              #11157
                              delila
                              Felhasználó

                                Átírtam a makrót.
                                Futtatás előtt az O1 cellába írd be a keresendő értéket.

                                Sub UresSorokSzama()
                                    Dim sor As Long, usor As Long, ures As Long, sorGyujto As Long
                                    
                                    ures = 0: sorGyujto = 1
                                    Columns("L:M").ClearContents
                                    usor = Range("A" & Rows.Count).End(xlUp).Row
                                    Range("L1:L" & usor).FormulaR1C1 = "=COUNTIF(RC[-11]:RC[-2],R1C15)"
                                    For sor = 1 To usor
                                        If Cells(sor, "L") = 0 Then
                                            Do While Cells(sor, "L") = 0
                                                ures = ures + 1
                                                Cells(sorGyujto, "M") = ures
                                                sor = sor + 1
                                                If sor > usor Then Exit Sub
                                            Loop
                                            sorGyujto = sorGyujto + 1
                                            ures = 0
                                        End If
                                    Next
                                End Sub
                                #11158
                                horvimi
                                Adminisztrátor

                                  Na. 2019-ben az én megoldásom már ki is van lőve, mert abban van egy olyan függvény, ami csak 2022-ben jelent meg.
                                  Azt mondjuk nem ártott volna megemlíteni az elején, hogy sok értéket szeretnél így figyelni egyszerre.
                                  Natívan, képletekkel nem megoldható segédoszlop vagy oszlopok nélkül.

                                  Még delila makrója is készít segédoszlopot, de az átalakítható lenne úgy, hogy arra ne legyen szükség.

                                  Gondolom úgy képzeled, hogy előre felírod egymás mellé egy sorban a figyelendő számokat, majd mindegyik alatt jelenjen meg az előfordulások sorainak különbsége egymás alatt.
                                  Meg lehet így csinálni makróval, de csak azzal. Delila makrója jó kiindulás hozzá.

                                  I

                                  #11159
                                  LajosLajos
                                  Felhasználó

                                    Sziasztok!

                                    Ez a makrós megoldás lenne az igazi:) Ma este ki is próbálom a több ezer adatot tartalmazó táblázaton.
                                    HA jól gondolom a táblázat mellé megcsinálom az L sort végig és L,M oszlopokat átnevezem a makróban az adott nevű oszlopra, akkor ugyan így le kell futnia?
                                    Még egy kérdés, hol tudom módosítani, hogy az o1 cellát máshova kerüljön, amire hivatkozok?

                                    Előre is köszönöm a segítséget
                                    Üdvözlettel:
                                    Lajos

                                    #11160
                                    LajosLajos
                                    Felhasználó

                                      Sziasztok!

                                      Igen Delila makrója lesz a megoldás:) Nagyon szépen köszönöm mindenkinek 🙂
                                      Ki is próbálatam az excelben.

                                      Abban kérném a segítséget, hogy miként kellen módosítani a makrót, hogy tetszőleges számra tudjam futtatni egyszerre?
                                      Megtudjak adni több figyelendő számot pl O1 től z1 ig, ehhez ugyan úgy megcsinálja egymás utáni a segédoszlopokba és az összegzést.

                                      Előre is köszönöm.
                                      Üdvözlettel:
                                      Lajos

                                      #11161
                                      delila
                                      Felhasználó

                                        Ehhez meg kell adnod a 2 lap nevét,
                                        melyik lapon vannak az adatok,
                                        melyik oszlopokban,
                                        hányadik sorban kezdődnek,
                                        melyik lapon és melyik tartományban szeretnéd látni az eredményeket.

                                        D.

                                        #11162
                                        delila
                                        Felhasználó

                                          Próbáltam kitalálni a válaszokat a fenti kérdésekre.

                                          A START gomb megnyomására indul a makró.
                                          Az Adatok lapról minden ott szereplő számot beír az Elemzés lap első sorába, emelkedő sorrendben. Ezek alá minden oszlopba beírja a húzások közötti kihagyást.
                                          Van még benne hiba: ha egymás utáni hetekben húznak ki azonos számot, akkor 1-et ír, pedig ezen át kellene ugrania.

                                          Most egy darabig nem leszek. Vagy kijavítja valaki, vagy vársz.

                                          D.

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

                                            Sikerült kijavítani a hibát (éjjel megálmodtam).

                                            A Module1 52. sorában a képletnél nem tudom, hogy lehet változóban megadni a tartomány utolsó oszlopát, így fixen írtam be 10-re.
                                            Range(„A2”).FormulaR1C1 = „=COUNTIF(Adatok!RC1:RC10,Elemzés!R1C)”

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

                                              Sziasztok!

                                              Nagyon szépen köszönöm az eddigi segítséget.

                                              Ezt az utolsó két excelt nagyon jó a negoldás,
                                              az 1-es számnál ami a E oszlopban és az 9 sorban fordul elő egyszer itt 7 és 6 az érték ez tökéletes, ráadásul
                                              nekem így azt is megmondja előfordulás után,hogy 6 alkalommal nem volt ilyen értékű,(nagyságrendű) minőséghiba.

                                              Most létrehozza az összes szereplő számot a táblázatból és azokat elemzi.
                                              Lehetne úgy módosítani a makrót, hogy lenne egy beviteli fül, ahol nézi 1-150 ig a beírt számokat és azokat listázza ki így ?
                                              Ha megadok a 2. sorban 30 számot akkor arra a 30 számra kers rá, ha 80db, akkor 80 ra, ha 150db, akkor arra a konkrét 150db számra?
                                              Becsatoltam, hogy mire gondolok.
                                              Ha ez megoldható lenne akkor ez tökéletesen lefedné a probléma megoldását.

                                              Előre is köszönöm:)
                                              Üdvözlettel:
                                              Lajos

                                              #11180
                                              LajosLajos
                                              Felhasználó

                                                Sziasztok!

                                                Hopp na most 🙂

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

                                                  Most addig nem ugrom neki, míg meg nem mondod, hogy az Adatok lapon hány oszlop van.

                                                  #11183
                                                  LajosLajos
                                                  Felhasználó

                                                    Szia!

                                                    Általában 3 mintavételezés van, de ha hiba közeli az érték, akkor még két mintát vesznek, az 5 oszlop, ha az is közeli érték, akkor újra gyártás és újra mintavétel azzal minimum 8 oszlop az adott esetben.
                                                    Azt nem tudom, hogy lehet e úgy megírni, hogy változó mennyiségű sorból számoljon? Tehát ha az adatok fülön 3 oszlop van, akkor annyiból számoljon, ha több, akkor annyiból?
                                                    Többségében 3-5 oszlop, de előfordul gyakrabban 8-10 oszlop és ritkábban ennél több. A sorok száma év végére 10ezres nagyságrendű.

                                                    Előre is köszönöm.
                                                    Lajos

                                                    #11184
                                                    delila
                                                    Felhasználó

                                                      Ha most még az is kiderül, hogy a számok nem az A oszloptól kezdődnek, sírva fakadok.
                                                      Ha viszont így van, tedd a táblázatod végére azokat az oszlopokat, amelyek nem a számokat tartalmazzák (pl. dátumokat). Máskülönben újra kezdhetném a makró átírását.

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

                                                        Szia Delila!

                                                        Ez tökéletes!

                                                        Köszönöm a sok és gyors segítséget 🙂
                                                        Lajos

                                                        #11188
                                                        delila
                                                        Felhasználó

                                                          Használd egészséggel!

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