Telefonszámunk: 1-472-0679

Hozzászólások

23 bejegyzés megtekintése - 1,301-1,323 / 1,323
  • Szerző
    Bejegyzés
  • Hozzászólás: Excel ismétlődések szűrése #1503
    horvimi
    Adminisztrátor

      A PIVOT nemfrissül automatikusan, csak az adatterület, ha az táblázat.
      A PIVOT-ot jobb klikk/Frissítés paranccsal minden változáskor frissíteni kell.

      Vagy lehet csinálni egy eseménykezelő makrót, ami minden változáskor frissíti a Pivot-ot.

      Imre

      Hozzászólás: Excel ismétlődések szűrése #1500
      horvimi
      Adminisztrátor

        Szia!
        A régi és az új ügyfelek számolását továbbra sem értem. Főleg, ha TAJ oszlopot használod erre. egy kicsit magyarázd el.
        Nem nagyon indokolt különben olyan képletet alkalmazni, ami teljes oszlopokra hivatkozik. Ne felejtsük el, h több, mint 1 millió sor van!
        A megoldás az, hogy táblázattá kell alakítani a statisztika adatlap tartományát, és így név szerint tudsz hivetkozni egy oszlopra, bármennyi sora van, az új sorokkal pedig automatikusan bővülni fog.
        Lásd: http://excel-bazis.hu/tutorial/dinamikus-nevtartomany-hasznalata

        De egyelőre hagyjuk ezt, és nézzük csak a régi/új oszlop képletét, amit dinamikus névtartomány használatát feltételezve így írnék:
        =HA(DARABTELI(Taj;B2)=1;"uj";"regi")
        Ez azt fogja tenni, hogy ha egy Taj számot újra bevisznek a táblázatba, akkor az „régi” lesz, de az első előfordulása is átvált „régi”-re, és Te pont ezt szeretnéd, ah jól értem.

        majd ezután csinálnék az egészből egy PIVOT-ot, aminek a Sor cíkéjébe bevinném a TAJ mezőt, az oszlop címkéjébe a Regi/uj mezőt, és a Szumma területébe pedig behúznám újból a régi/új mezőt, hogy megszámlálást csináljon.

        Így minden Taj-ra megkapod, hogy régiként hányszor van benn és újként hányszor (itt csak az egyszer szereplő Taj számok lesznek nyilván)
        A sor összesítésben Taj számonként fogod látni, hogy hányszor van bevive ua a Taj, az oszlop összesenekben pedig látod, hogy hányszor szerepel a régi és hányszor az új szó az oszlopban.
        talán ez még nem teljesen az, amit szeretnél, mert ha egy ügyfél háromszor van benne, akkor az három „régi” szó lesz, de ez valójában egy db régi ügyfél.
        Megoldás:
        A taj oszlop mellé kell egy segédoszlop,a mi egy Taj első előfordulásákor 1-et ad, különben pedig nullát. A TAJ a B oszlopban van, akkor a képlet a C oszlopban:
        =HA(DARABTELI($B$2:B2;B2)=1;1;0)
        És a PIVOT-ba a szumma területre ezt a mezőt is húzd be. (Szum fv)
        Az oszlop összesenekben látszani fog, hogy hány régi és hány új ügyvél van.

        Imre

        • A hozzászólás módosításra került: 9 years, 11 months telt el-horvimi.
        Hozzászólás: Excel ismétlődések szűrése #1498
        horvimi
        Adminisztrátor

          Szia!

          Első probléma, az ügyfelek száma. Azt nem tudom értelmezni, hogy hány régi és hány új ügyfél van, mert amikor valaki először belekerül, akkor újnak számít, legközelebb már réginek.
          De arra tudok megoldást adni, hogy hány ügyfél van egyáltalán, tehát hány különböző TAJ szám van a TAJ oszlopban.
          Képlet angol Excelre:
          =SUM(1/COUNTIF(TAJ oszlop,TAJ oszlop))

          Képlet magyar Excelre
          =SZUM(1/DARABTELI(TAJ oszlop;TAJ oszlop))

          Figyelem! A képletet Ctrl+Shift+Enterrel kel lezárni, mert tömbképlet
          A TAJ oszlop a TAJ számokat tároló oszlop hivatkozása, pl.: B2:B500
          A részletek itt:
          http://www.excel-easy.com/examples/count-unique-values.html

          Második probléma, hogy ha bekerül egy új sor, akkor a megfelelő oszlopba megadja, hogy a új vagy régi ügyfél. Ehez azt kell csinálni, hogy a bevit TAJ számot megkell nézni az egész TAJ oszlopban az elejétől az aktuális sorig, hogy hányszor szerepel. ha ez 1, akkor most került be elsőre, ha nem, akkor már legalább egyszer benne volt. Ennek megfelelően kell egy ha fv, ami ezt eldönti.

          Tegyük fel, hogy a táblázatban a TAJ számok a B oszlopban vannak, és az adatok a második sortól kezdődnek, mert az első a fejléc.
          Képlet a „regi/uj” oszlop második sorában:
          =HA(DARABTELI($B$2:B2;B2)=1;"uj";"regi")
          Ezt aztán le lehet húzni a többi sorra.

          Imre

          Hozzászólás: Darabteli (Countif) hiba? #1487
          horvimi
          Adminisztrátor

            Szia!
            A DARABTELI (Countif) függvénynek ismert ez a hülyesége.
            14 karakterig jól működik.
            Ezt a képletet próbáld ki:
            =szorzatösszeg(–(tartomány=feltétel))
            Pl. ha a kódjaid,amiben keresel az A1:A10 tartományban vannak, amiket keresel pedig a B1-től kezdődik, akkor a C1-be írd ezt:
            =SZORZATÖSSZEG(–($A$1:$A$10=B1)), majd húzd le az oszlopban.
            Működése
            ————–
            A Szorzatösszeg zárójelein belül egy tömbképlet van, ami az A1:A10 tartomány minden elemét összehasonlítja a B oszlop aktuális elemével, és visszaad egy tömböt, ami kb így néz ki: {FALSE;TRUE;FALSE….} .
            A dupla mínusz jel a TRUE/FALSE értékekből 1/0 értékeket csinál, azaz
            {0;1;0…} Végül nincs más dolgunk, mint összeadni ezt a tömböt. Ahány egyes van benne, annyi egyezést talált. Azért használunk itt Szorzatösszeg függvényt a SZUM helyett, hogy ne kellejen CTRL-SHIFT-ENTER-el lezárni, elég legyen a sima ENTER.
            Imre

            horvimi
            Adminisztrátor

              A problémát eseménykezelő makróval lehet megoldani.
              Az esemény az, hogy az adott munkalapon megváltozik egy cella tartalma.
              Ezt így leírva meglehetősen hosszadalmas lesz, de megpróbálom:
              Feltételezem, hogy a táblázatod folyamatosan ki van töltve, és a pontok az “F”, azaz az 5. oszlopban vannak. Tehát, ha az 5. oszlopban bármelyik cella megváltozik, akkor a táblázatot az 5. oszlop szerint rendezi csökkenő sorrendben.
              Lépések:
              1. Legyen az aktív cella azon a munkalapon, ahol a táblázatod van
              2. Lépj át a VBE felületre (ALT-F11)
              3. Ha nem látszik, kapcsold be a Projekt ablakot (Ctrl+R)
              4. Kattints a projekt ablakban duplán a táblázatot tartalmazó Sheet-re
              5. A jobb oldalon a kód ablakba másold be ezt a kódot:
              ——————————————————————-
              Private Sub Worksheet_Change(ByVal Target As Range)
              Dim col As Integer
              col = 5
              If Target.Column = col Then
              ActiveSheet.sort.SortFields.Add Key:=ActiveCell, _
              SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
              With ActiveSheet.sort
              .SetRange ActiveCell.CurrentRegion
              .Header = xlYes
              .MatchCase = False
              .Orientation = xlTopToBottom
              .SortMethod = xlPinYin
              .Apply
              End With
              End If
              End Sub
              ————————————————————
              6. Ha nem az 5. oszlopban vannak a pontszámok, akkor változtasd meg a col=5 sort másik számra.
              7. Menj vissza az Excel lapra
              8. Próbáld ki, hogy beírsz egy új sort, vagy csak egy új pontszámot a végére.
              Jó szórakozást!
              Horváth Imre

              Hozzászólás: Egyesített cellák alatt SZUMHA #1430
              horvimi
              Adminisztrátor

                Én ezt így oldottam meg

                Hozzászólás: Egyesített cellák alatt SZUMHA #1408
                horvimi
                Adminisztrátor

                  Hát, igen, az egyesített cellák…

                  Van rá megoldás, de meglehetősen bonyolult tömbképlet, amivel az a baj, hogy ha nem tudod hogyan működik, akkor nem is tudsz rajta változtatni.

                  Találtam egy ilyesmit, igaz, hogy függőlegesen van, de áttehető vizszintesre.
                  http://forum.chandoo.org/threads/formula-challenge-021-sumif-in-merged-cells.11927/

                  Én inkább azt javasolnám, ha már ilyen táblaszerkezetet használtok, hogy az összevont cellákat (napokat) tartalmazó sor alá tegyél egy új sort, ahol minden naphoz mindhárom cellában megismétled a nap nevét. Ezt a sort aztán el lehet rejteni. A SUMIF képletben pedig ezt a sort használod kritériumnak.

                  Imre

                  Hozzászólás: ciklussal adatokat a másik munkafüzetbe #1404
                  horvimi
                  Adminisztrátor

                    Szia!
                    Egy cellába beírod a munkafüzet nevét, majd onnan kiolvasod egy változóba.
                    Javaslom, hogy a neve tartalmazza a kiterjesztést is.
                    Pl.: ha A munkafüzet neve a D1-ben van, akkor írhatsz ilyet, hogy:

                    valtozo=Range(„D1”).value

                    Mentéskor vagy megnyitáskor a teljes útvonalra szükség lesz, mert ha nem definiálod, akkor az aktuális munkakönyvtárba ment, vagy ott ker3esi a megadott nevű fájlt, ami nem biztos, hogy jó.
                    De ez már egy másik történet.

                    Imre

                    Hozzászólás: IF használata #1398
                    horvimi
                    Adminisztrátor

                      Az IF() függvényen belül lehet írni még egy IF-et, és azon belül még egy IF-et, stb.. azaz egymásba lehet őket ágyazni. A hasonló feladatokra ez egy lehetséges megoldás.
                      Általánosan így néz ki:
                      =IF(első_feltétel;érték_ha_ez_igaz;IF(második_feltétel;érték_ha_ez igaz;érték_ha_egyik_sem_volt igaz))

                      Hozzászólás: IF használata #1428
                      horvimi
                      Adminisztrátor

                        Ez csak matematika. De technikailag úgy kell gondolkozni, hogy a ledolgozott órákat mindenképpen be kell írni valahová. Így soronként 3 oszlop kell.
                        Mondjuk az elsőbe írod a valódi órákat, ami ha jól értem >=8. De életszerű, hogy lehet kevesebb is.
                        A következóben van a normál, ami úgy néz ki, hogy ha a normál nagyobb, mint 8, akkor 8 lesz, különben pedig normal.
                        =IF(normal>=8;8;normal) A normal a megelőző cella.
                        A harmadik oszlopban pedig jön a túlóra, ami a valódi és a normal különbsége.

                        Imre

                        Hozzászólás: IF használata #1394
                        horvimi
                        Adminisztrátor

                          Szia!

                          Nagyjából értem, amit csinálni akarsz. Az a lényeg, hogy meg kell számolni, hány nulla van a tartományban (sorban), és annyit kell kivonni a huszonnégyből.
                          Angol függvénnyel ez a COUNTIF.
                          Tegyük fel, hogy az órákat az A:K oszlopok között vezeted.
                          A COUNTIF(A1:K1,0) megmondja, hogy hány nulla van az A1:K1 tartományban.
                          A képlet valami hasonló lehet:
                          =24-COUNTIF(A1:K1,0)
                          A 24-et persze beírhatod egy külön cellába, főleg ha mindenkinek más mennyiségű szabadnap jár, mert ez több dologól függ.

                          Imre

                          Hozzászólás: Képletkészítési probléma makro #1391
                          horvimi
                          Adminisztrátor

                            Ezt ennyiből nagyon nehéz megmondani. Nyilván látszik, hogy valahol itt a balhé:
                            R[” & -1 * ecskoordinatay

                            Az érthető, hogy mit szeretnél, és miért.
                            Hogy mi a hiba, azt nyomozni kell, pl. a fenti változó követésével.

                            Ha nem boldogulsz, akkor látnunk kell afájlt és a kódot, hogy ki tudjuk próbálni.

                            Hozzászólás: Hivatkozás #1385
                            horvimi
                            Adminisztrátor

                              Nekem ez vált be:

                              Ha csak annyit írsz, hogy Cells(x,y), az az aktív sheet Cells gyűjteményét jelenti. Mert nem adod meg, hogy mihez tartozik.

                              Csináltam két próbát:

                              Sub proba()

                              With Sheets(„InvAct”).Range(Sheets(„InvAct”).Cells(3, 1), Sheets(„InvAct”).Cells(10, 1))
                              .Value = „valami”
                              End With

                              End Sub

                              ————————————————-
                              Sub proba_1()

                              Set sh = Sheets(„InVact”)
                              Set r = sh.Range(sh.Cells(3, 1), sh.Cells(10, 1))
                              With r
                              .Value = „valami”
                              End With

                              End Sub

                              Mind kettő megy tökéletesen.

                              Tehát a Cells() előtt definiálni kell, hogy melyik lap Cells gyűjteményével dolgozol.

                              Hozzászólás: Munkalap átnevezése #1375
                              horvimi
                              Adminisztrátor

                                A meglévő makrót nem küldted be, de lapot beszúrni és elnevezni egyben így lehet.
                                Elejére, vagy bármelyik elé:
                                sheets.Add(before:=sheets(1)).name="valami"

                                Végére:
                                sheets.Add(before:=sheets(sheets.count)).name="valami"

                                Ha már létezik,és utána akarod átnevezni, akkor tudni kell, hogy hányadik lap, vagy mi a neve. Új munkalap nevét elég nehéz eltalálni, ezért ehhez jobban kellene ismerni a Te esetedet. Az átnevezendő munkalapot hová szúrtad be?
                                De lehet, hogy az elejln adott megoldás már elég is…

                                Hozzászólás: Plusz/mínusz jel számok elé írása #1279
                                horvimi
                                Adminisztrátor

                                  Speciális számformátumot kell alkalmaznod.
                                  1. Jelöld ki a tartományt, ahová a számok kerülnek
                                  2. Nyomd meg a Ctrl+1 kombinációt (Cellaformázás)
                                  3. Az egyéni kategóriában a kódhoz másold be ezt:
                                  „+ „# ##0;-# ##0

                                  Ha Ft-ot is szeretnél, akkor pedig ezt:
                                  „+ „# ##0″ Ft”;-# ##0″ Ft”

                                  A pontosvessző bal oldalán a pozitív, a jobb oldalán a negatív számokhoz tartozó formátumkódot kell írni, ha különböznek.

                                  Hozzászólás: Pénznem váltás #1162
                                  horvimi
                                  Adminisztrátor

                                    Semmit nem rontottál el, a szerkesztőléc mutatja a képletet, a cella meg az eredményét. Ezt kell saját magára, vagy az eredeti, rossz számot felülírni értékként. Ha esetleg ez számosra újdonság, akkor leírom:
                                    1. Kijelölöd az ÉRTÉK képleteket
                                    2. Ctrl+C (Copy)
                                    3. Kijelölöd az eredeti cellát/cellákat
                                    4. Irányított beillesztés -> Értékek

                                    Ezzel a képletek aktuális értéket írja a kijelölt cellába

                                    Hozzászólás: Pénznem váltás #1160
                                    horvimi
                                    Adminisztrátor

                                      Szia!
                                      Továbbra sem látok vesszőt a fenti számban, csak kötőjelet, ezért feltételezem, hogy ezt akartad írni. Tegyük fel, hogy ezek a számok (amik most szövegek) egy oszlopban vannak, legyen ez a ‘B’ oszlop, és az adatok a ‘B2’-ben kezdődnek. Azt is feltételezem, hogy magyar rendszert használsz, ahol az ezres elválasztó a szóköz, és nem a pont. A feladat 3 lépésben oldható meg.
                                      Ha nincs üres oszlop, akkor szúrj be 3 üres oszlopot jobbra.

                                      1. A ‘C3’-ba írd a következő képletet:
                                      =HELYETTE(B2;”.”;””)
                                      Ez kiveszi a pontokat az adatból. Kicseréli a pontokat a semmire.
                                      Húzd le az egész oszlopra. (Dupla klikk a sarkán)

                                      2. A ‘D3’-ba jön a következő képlet:
                                      =HELYETTE(C2;”-„;””)
                                      Ez kicseréli a kötőjelet a semmire, marad a szám, de még szöveg formában van. Húzd le az egész oszlopra.

                                      3. Az ‘E3’-ba jön az utolsó képlet
                                      =ÉRTÉK(D2)
                                      Ez a szöveges számot valódi számmá alakítja. Húzd le az egész oszlopra.

                                      Végül a ‘D’ oszlopot értékként másold vissza az eredeti ‘B’ oszlopra, majd
                                      kitörölheted a felhasznált 3 segédoszlopot.

                                      Jó munkát 🙂

                                      Hozzászólás: Cella másolás #1135
                                      horvimi
                                      Adminisztrátor

                                        Továbbra is azt gondolom, hogy formátum probléma van, illetve kerekítési/megjelenítési gond. A másolást ezek szerint vízszintes irányban csinálod.
                                        Erre nem válaszoltál:
                                        – A kiinduló értékeket Te írod be, vagy adottak valahonnan?

                                        Próbáld meg a kiinduló értékeket egésszé alakítani a csonk() vagy a kerek.le() függvénnyel, majd értékként visszatenni, és utána próbáld meg a kitöltést.

                                        Hozzászólás: Cella másolás #1133
                                        horvimi
                                        Adminisztrátor

                                          Ez alapesetben nyilván nem normális viselkedés. Kicsit pontosítsuk a jelenséget, ezért kérdeznék:
                                          1. te írod be az első két értéket, és utána lehúzod?
                                          2. Ha új fájlt nyitsz és beírod az első kettőt, majd lehúzod, akkor mi történik?

                                          Szerintem formázási probléma van, Azt tippelem, hogy az első két érték valójában nem 24,5 és 24,6, csak annak látszik. próbáld meg növelni a tizedeshelyeket, hogy lásd, hol tér el!

                                          Hozzászólás: Vlookup vs. Index-Match #1057
                                          horvimi
                                          Adminisztrátor

                                            Természetesen lehet az Index-hez is és a Match-hez is másik lapról adni a tartományt. Sőt, eltérő lapokról is. Hogy próbáltad?

                                            Hozzászólás: "Hol.van" fgv többdimenziós tömböt lát-e? #1426
                                            horvimi
                                            Adminisztrátor

                                              Érdekelne, hogy lehet Fkeres-sel és a Hol.van fgv-nyel egy kétdimenziós tömbben mwgtalálni egy értéket. Még csak elképzelni sem tudom hogyan kéne egymásba ágyazni a 2 fgv-t ehhez. Vegyük mondjuk az A1:E10 tömböt, amiben random számok vannak, többek közt a C3-ban az ‘5’. Na ezt kéne megtalálni. Az eredmény lehet 13, ha sorirányban számol, és 23, ha oszlopirányban.

                                              Az eredeti kérdésem egyébként inkább elméleti volt, ugyanis nem akartam elhinni, hogy ha az excelt felkészítették arra, hogy egy tömbbeli cellára cells(a)-val is lehessen hivatkozni, akkor ezt miért nem alkalmazták a match-nél is.

                                              Hozzászólás: Sorszámozás dátumok szerint #1024
                                              horvimi
                                              Adminisztrátor

                                                Ha a táblázat dátum szerint rendezve van, és tegyük fel, hogy a dátumok az ‘A’ oszlopban vannak, (‘A1’-ben kezdődnek), akkor az egyik lehetséges megoldás:

                                                1. A ‘B1’-be (az első dátum mellé) írni egy 1-est
                                                2. A ‘B2’-be, a második mellé pedig a következő képletet

                                                 =Ha(A2=A1;B1;B1+1)

                                                Ezt le lehet húzni a végéig.

                                                Úgy műxik, hogy ha az aktuális dátum egyenlő az előző dátummal, akkor az előző sorszámot írja a cellába, különben pedig az előző+1-et.

                                                Hozzászólás: "Hol.van" fgv többdimenziós tömböt lát-e? #1425
                                                horvimi
                                                Adminisztrátor

                                                  A Hol.VAN fv (MATCH) egy dimenziós tömbben tud keresni.
                                                  Létezik két dimenziós keresés, ha az Fkeres és a Hol.van függvények egymásba ágyazva használjuk.
                                                  Esetleg írhatnál egy példát, hogy mit szeretnél megoldani.
                                                  Imre

                                                23 bejegyzés megtekintése - 1,301-1,323 / 1,323