HWSW Informatikai Kerekasztal: Excel segítség! - HWSW Informatikai Kerekasztal

Ugrás a tartalomhoz

Mellékleteink: HUP | Gamekapocs

  • (63 Oldal)
  • +
  • « Első
  • 53
  • 54
  • 55
  • 56
  • 57
  • Utolsó »
  • Nem indíthatsz témát.
  • A téma zárva.

Excel segítség! Értékeld a témát: -----

#1081 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2012. 04. 16. 10:23

Storey

Egy kicsit több konkrétum nem ártott volna.

A harmadik lapon alkalmazd a SZUMHATÖBB függvényt, ahol az első feltétellel arra az adatra hivatkozol, ami mindkét lapon azonos (pl. cikkszám). A további feltételek a 2 lapra hivatkozzanak külön-külön.

Ez a függvény a 2007-es verzióban jelenik meg először. Ha régebbi Excelt használsz, két SZUMHA függvény (1. és 2. lapra hivatkozva) összegét tedd be a 3. lapra.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#1082 Felhasználó inaktív   Storey 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 2
  • Csatlakozott: --

Elküldve: 2012. 04. 16. 17:21

Delila!
Először is köszi a gyors választ, és hogy szeretnél segíteni!
Megpróbálom érthetőbben leírni a problémám. Az első két lapon ugyanazok a nevek szerepelnek ( csak más-más sorrendben, és  nem alkalmazhatok rendezést, mert ez fix ), amelyekhez adatokat táplálok be. A harmadik lapon összesíteném az adatokat, ( az első lapról hivatkozással megoldottam a feladatot, de mivel a másodikon már más a sorrend,sima hivatkozással már nem megy, iletve nem helyes adatokat hoz)  majd szeretném ha kiírná, hogy milyen helyet foglal el a sorozatban ( a bevitt, összesített adatok alapján). Sorszám függvényt alkalmaztam.  Csakhogy lehet kettő, vagy akár több adat között is értékazonosság, és ilyenkor egy másik ( de ugyanabban a táblázatban szereplő adat alapján kellene sorszámoznia). Nem tudom mennyire volt ez így érthető. Kicsit bonyolultnak tűnik, de egy nagyon speciális feladatra kellene!
Előre is köszi!




#1083 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2012. 04. 16. 18:03

Storey

Munka3!A2 képlete: =Munka!A2
Munka3!B2 képlete: =SZUMHA(Munka1!A:A;A2;Munka1!B:B)+SZUMHA(Munka2!A:A;A2;Munka2!B:B)
Munka3!C2 képlete: =B1+SOR()*0,00001
Munka3!F2 képlete: =NAGY(C:C;SOR()-1)
Munka3!G2 képlete: =INDEX(A:C;HOL.VAN(F2;C:C;0);1)

Felvettem egy segédoszlopot, a C-t arra az esetre, ha azonos értékek jönnének ki a Munka3 lap B oszlopában.
Az összegeket csökkenő sorrendben jeleníti meg a G oszlop, az F-ben pedig megjelenik a név, akihez ez az érték tartozik. A G oszlopban ne látszanak a tizedesek!
Lehet, hogy nem is nevek vannak az A oszlopban, csak én feltételeztem.

Az F és a G képlete helyett beírhatod a D2-be a =SORSZÁM(C2;C:C) képletet.

Ha mondjuk az első 5 értékre vagy kíváncsi, elég az A és B oszlop. Beteszel egy autoszűrőt, és a B-ben a számszűrés toplistában beállítod az 5-öt.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#1084 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 10:45

Üzenet megtekintéseIdézet: Delila - Dátum: 2012. 04. 13. 12:55

hkpk

Sikerült összehozni, csak szépséghibája, hogy miután berajzolta a kézi oldaltöréseket, hibára fut a
Do While Rows(sor).PageBreak = tores
sorban (sor=0). Próbáltam On Error, és If sor<1 hibakezelést, fütyül rá, de addigra elvégzi a feladatot.

Sub Toresek()
    Dim tores As Integer, sor As Integer, usor As Integer, sor1 As Integer
    usor = Range("A65536").End(xlUp).Row
    
    tores = Rows(usor).PageBreak
    sor = usor
    
    Do While sor > 2
        Do While Rows(sor).PageBreak = tores
            sor = sor - 1
        Loop
        
        For sor1 = sor To 3 Step -1
            If Cells(sor1 - 1, 1) = "" Then
                ActiveWindow.SelectedSheets.HPageBreaks.Add before:=Cells(sor1, 1)
                Exit For
            End If
        Next
        sor = sor - 2
    Loop
End Sub


Bocs, csak most tudtam kipróbálni, és VAU!
(Ugyan nem tökéletes, de a fényt megmutattad!

#1085 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 11:56

hkpk

Sikerült kiküszöbölni a hibát?
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#1086 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 12:06

Inkább koncepcionális kérdésem lenne, vagy nem tudom....

Adott két munkalap:
X -munkalap, ezt külső szoftver lekérdező modulja állítja elő, és neve folyton más, és persze előtte ki lehet jelölni, mely oszlopok kerüljenek bele, milyen sorrendben....

És Y munkalap, ami más forrásból van /helyileg vezetik, de a lényeg, hogy Y néhány adata (oszlopa) megegyezik X oszlopaival (meg kellene egyeznie), ezek persze véletlenül sem ott (azon az oszlop pozíción) vannak, és véletlenül sem az az oszlop azonosítójuk (első cella értéke), mint ami X munkalapon a kérdéses adat azonosítója (tipikus másságok: Gyári szám; Gy.Sz. Gyári sz. Gyár azonosítója; Gyári ID; stb.)
Y-n előfordulhatnak részösszegek is. Mindkét munkalapnak egy soros oszlopazonosítója van.
Mindkét munkalapban van olyan egyedi adat, (több is) amit azonosítóként, index kulcsként lehet használni (Gyári szám, leltári szám, cikkszám, stb.), amivel a két tábla adatait össze lehet hasonlítani .


Rendszeresen ellenőrizni kell, hogy van-e eltérés, egyeznek-e az adatok. Jellemzően 7 oszlop adatát kell hasonlítgatni.
Eddig Fkeres-el bűvészkedtek, de a dolog terhes lett, hiszen X munkalapneve, meg az oszlopok pozíciója esetenként változik, sőt borult időnként a számot ábrázoló szöveges mezők kezelése is.
És alkalmasint 7 oszlopot kell vizsgálni!

Így jöttek hozzám, hogy kellene valami. Először valami frappáns függvényes megoldással próbálkoztam, (saját "kompozit" függvényt próbáltam összehozni), de végül ez lett belőle (ld. csatolt ZIP)
Ebben egy exportált form van. Minden benne van, egy külső makrónak csak a Munkalap_chk.show parancsot kell kiadnia. Annyi a változó, hogy azok átadásával (másik, külső makrónak) már nem is próbálkoztam, meg aztán sürgős is volt.

Engem viszont izgat, milyen más módon lehet-ne ezt megoldani, van valakinek más tippje?

Csatolt fájl:



#1087 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 12:07

Üzenet megtekintéseIdézet: Delila - Dátum: 2012. 04. 17. 12:56

hkpk

Sikerült kiküszöbölni a hibát?

Még nem foglalkoztam vele, csak csekkoltam, de amint sor kerül rá, beszámolok (ahogy a FOR-nak van EXIT FOR-ja, talán a DO-nak is, azzal léptetném ki a ciklusból, ha eléri SOR a 2-t, gondolom

#1088 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 13:49

Üzenet megtekintéseIdézet: Delila - Dátum: 2012. 04. 17. 12:56

hkpk

Sikerült kiküszöbölni a hibát?

Szóval a hátul tesztelő ciklus nem volt jó, mert hamarabb lett sor=0 mint kellett volna.
Az sem bizonyult szerencsésnek, hogy alulról felfele történt a töréspontok keresése, mert így akadt
ami "kimaradt" Pontosabban minden oldaltörés után az Excel kiszámolja a többit, és egyik helyen nem vala, de később odakerült egy a ciklusváltozó "mögé"... vagy hogy.

De ez végül jól működik:
Sub Toresek()
    Dim tores As Integer, usor As Integer, sor1 As Integer
    usor = Range("A65536").End(xlUp).Row
    tores = Rows(1).PageBreak
      For i = 2 To usor
      If Rows(i).PageBreak <> tores Then
        Cells(i, 1).Select
        For sor1 = i To 3 Step -1
            If Cells(sor1 - 1, 1) = "" Then
                ActiveWindow.SelectedSheets.HPageBreaks.Add before:=Cells(sor1, 1)
                tores = Rows(sor1 - 2).PageBreak
                Exit For
            End If
         Next sor1
       End If
     Next i
End Sub

Szóval kösz, Delila, nagy vagy ! :respect:

#1089 Felhasználó inaktív   Raynes 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 14.740
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 14:22

Húú, hÓkUSZpÓk, látom a programozási tudományod azóta sem sokat csiszoltad :Đ Na mindegy, ezt úgyse javítom ki, az Excel nem épp a szakterületem, ha nem lett volna muszáj, bottal sem piszkáltam volna egyszer se :-D Különben is, tehókuszpókságod már úgyis ilyen marad.
„The volume of a pizza of thickness a and radius z can be described by the following formula: pi zz a.”

#1090 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 14:38

hkpk

A sor=sor-2 után betettem egy if sor<1 then exit sub-ot, de nem lépett ki, pedig úgy illett volna.

Örülök, hogy sikerült gatyába ráznod.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#1091 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 14:44

Üzenet megtekintéseIdézet: Raynes - Dátum: 2012. 04. 17. 15:22

Húú, hÓkUSZpÓk, látom a programozási tudományod azóta sem sokat csiszoltad :Đ Na mindegy, ezt úgyse javítom ki, az Excel nem épp a szakterületem, ha nem lett volna muszáj, bottal sem piszkáltam volna egyszer se :-D Különben is, tehókuszpókságod már úgyis ilyen marad.

Most Neked itt Ó, Nagymester, mi a problémád? (szerk. esetleg, ha megmutatnád, hogyan csináltad volna...)

Szerkesztette: hkpk 2012. 04. 17. 14:45 -kor


#1092 Felhasználó inaktív   Raynes 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 14.740
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 14:59

Üzenet megtekintéseIdézet: hkpk - Dátum: 2012. 04. 17. 15:44

Most Neked itt Ó, Nagymester, mi a problémád? (szerk. esetleg, ha megmutatnád, hogyan csináltad volna...)

Ilyen egymásba ágyazott, visszafelé léptetett, 2-től/ig indított ciklusok. Javítja ki a fene, úgyse értem mit csinál a kód, meg amúgy miről van szó. Csak hátradőlök, csámcsogok a popcornnal, és élvezem a showt :tv: Átadom magam a hÓkUSZpÓk-sztájlnak.
„The volume of a pizza of thickness a and radius z can be described by the following formula: pi zz a.”

#1093 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 04. 17. 18:10

Üzenet megtekintéseIdézet: Raynes - Dátum: 2012. 04. 17. 15:59

Ilyen egymásba ágyazott, visszafelé léptetett, 2-től/ig indított ciklusok. Javítja ki a fene, úgyse értem mit csinál a kód, meg amúgy miről van szó. Csak hátradőlök, csámcsogok a popcornnal, és élvezem a showt :tv: Átadom magam a hÓkUSZpÓk-sztájlnak.

Hm. ha egyszer ilyen a forrás, ahhoz igazodik a kód. Ha visszaolvasnál, lehet megértenéd, ez egy hosszabb thread vége. Ja, visszafele nem lépteded a ciklust, így nehéz :rolleyes:
Szóval, kb. erről van szó Állsz A pontban, és az a feladat, leverj egy cölöpöt B pontba A pont és C pont között, ami között nem ismered a távolságot, csak azt tudod, C-től 1/5-öd annyira kell lennie B-nek, mint az A-C távolság.
Én úgy csinálom, hogy lemérem A-C távolságot, és visszaszámolok C-től B-ig. Biztos, hogy úgy is lehet, hogy visszamégy A-ba, és onnan megint vissza C-felé, de szerintem ez a lükébb megoldás

#1094 Felhasználó inaktív   Afflicted 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 1
  • Csatlakozott: --

Elküldve: 2012. 05. 01. 19:12

Sajnos még nagyon amatőr szinten tartok Excelben, egyelőre még szinte csak a gyorsbillentyűk használatával növelem meg a hatékonyságomat.
Több gyorsbillentyűről felismertem, hogy nem működik, habár a súgó ír róla.
Ezek egy részét helyettesítő valódi kombinációra már rájöttem. Furcsa mód van olyan gyorsbillentyű-kombináció is, ami az itthoni excelemben működik, a munkahelyiben pedig nem. Most hirtelen nem tudom mi különbség lehet a kettő közt, elvileg szerintem 2010-es mindkettő.
Jelenlegi gyorsbillentyű, ami nagyon megszépítené a napom, ha működne: Ctrl+Shift+L, azaz a kijelölt cellák szűrésének engedélyezése. Az itthoni excelen működik, a munkahelyemen nem - Tudja vki, mi lehet a működőképes változat?

Tipp: aki olyan excelt használ, amiben nem működik a Ctrl+, a pontos dátum bevitelére, annak a Ctrl+0-t fogja elfogadni.

Üdv

#1095 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 05. 03. 07:43

Üzenet megtekintéseIdézet: Afflicted - Dátum: 2012. 05. 01. 20:12

Sajnos még nagyon amatőr szinten tartok Excelben, egyelőre még szinte csak a gyorsbillentyűk használatával növelem meg a hatékonyságomat.
Több gyorsbillentyűről felismertem, hogy nem működik, habár a súgó ír róla.
Ezek egy részét helyettesítő valódi kombinációra már rájöttem. Furcsa mód van olyan gyorsbillentyű-kombináció is, ami az itthoni excelemben működik, a munkahelyiben pedig nem. Most hirtelen nem tudom mi különbség lehet a kettő közt, elvileg szerintem 2010-es mindkettő.
Jelenlegi gyorsbillentyű, ami nagyon megszépítené a napom, ha működne: Ctrl+Shift+L, azaz a kijelölt cellák szűrésének engedélyezése. Az itthoni excelen működik, a munkahelyemen nem - Tudja vki, mi lehet a működőképes változat?

Tipp: aki olyan excelt használ, amiben nem működik a Ctrl+, a pontos dátum bevitelére, annak a Ctrl+0-t fogja elfogadni.

Üdv

Csak tippek:
Makróval is el lehet állítani a billentyűkombinációkat, de úgy is hogy be van kapcsolva a Lotus kompatibilitásnál (Beállítások / Speciális) a másodlagos irányító billentyűk opció.

#1096 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 05. 03. 08:00

Van két lista szerű táblázat, random sorokkal.
Össze kell hasonlítani.
A két táblában logikailag azonos adat "tartalmú" oszlopok vannak
Azonosító, dátum, név, forint

A két táblát egymás mellá helyezve, ezek a következő oszlopokba kerülnek:
A;B;C;D
E;F;G;H

Mindkét tábla szöveges forrás, midkettő importálásakor az azonosító
szöveges formátumra van állítva, úgy is olvassa ba (bár azok formailag számok)
Egy makró sok mindent csinál ezzel, többek között, a sorokat összepárosítja.
/vannak sorok, amik az első, és vannak amik a második táblából hiányoznak/
Mindkét tábla azonosító, dátum szerint rendezett.

Azondja:
For i = 3 To (rekordszám * 2) + 3
If Cells(i, 1).Value > Cells(i, 5).Value Then
 If IsEmpty(Cells(i, 6)) Then Exit For
Range(Cells(i, 1), Cells(i, 4)).Insert Shift:=xlDown
Cells(i, 1).NumberFormat = "@"
Cells(i, 1).Value = Cells(i, 5).Value
End If

If Cells(i, 1).Value < Cells(i, 5).Value Then
If IsEmpty(Cells(i, 3)) Then Exit For
Range(Cells(i, 5), Cells(i, 8)).Insert Shift:=xlDown
Cells(i, 5).NumberFormat = "@"
Cells(i, 5).Value = Cells(i, 1).Value
End If
next i

Amikor az E oszlopból az A oszlopba másolja a tartalmat,
a cella formátuma szövegesre van állítva, mert különben hiába
szöveges a forrás, számként illesztené be az Excel. Viszont így szépen szöveges lesz.

Amikor az A oszlopból az E oszlopba másolja a tartalmat,
a cella formátuma szövegesre van állítva, mert különben hiába
szöveges a forrás, számként illesztené be az Excel. És meg is teszi!
Annak ellnére, hogy ugyanúgy szöveges a cél, szöveges a forrás.
Ugyanúgy, ugyanolyan módon van átmásolva innen oda, mint onnan ide,
mégis másként kezeli!

Mivel lehetne rábírni, hogy legyen következetes?


//Sheriff, a i = 3 To (rekordszám * 2) + 3 csak a Te kedvedért lett így kitalálva :-)//

#1097 Felhasználó inaktív   Raynes 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 14.740
  • Csatlakozott: --

Elküldve: 2012. 05. 03. 10:04

Üzenet megtekintéseIdézet: hkpk - Dátum: 2012. 05. 03. 09:00

//Sheriff, a i = 3 To (rekordszám * 2) + 3 csak a Te kedvedért lett így kitalálva :-)//

Szerencséd, hogy seröfnek szólítottál. Mondjuk ez a 3-as dolog nem annyira tetszik, de talán ebben a példában elmegy, legalább nem mínuszos léptetésű, meg nem GOTO-s. Csak nem értem, hogy miért pont 3, de ez az én egyéni szocproblémám. Különben király topik, ide mindig vérbeli hkpk-kódokat jövök olvasgatni és sosem csalódom :Đ
„The volume of a pizza of thickness a and radius z can be described by the following formula: pi zz a.”

#1098 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2012. 05. 03. 10:06

hkpk

Mi lenne, ha a Cells(i, 5).Value = Cells(i, 1).Value helyett cells(i,5).copy cells(i,1)-et használnál? Akkor a cellaformátumot sem kellene megadnod.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#1099 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 05. 04. 19:58

Üzenet megtekintéseIdézet: Raynes - Dátum: 2012. 05. 03. 11:04

Szerencséd, hogy seröfnek szólítottál. Mondjuk ez a 3-as dolog nem annyira tetszik, de talán ebben a példában elmegy, legalább nem mínuszos léptetésű, meg nem GOTO-s. Csak nem értem, hogy miért pont 3, de ez az én egyéni szocproblémám. Különben király topik, ide mindig vérbeli hkpk-kódokat jövök olvasgatni és sosem csalódom :Đ

Excel feature egyfelől, hogy nem updateli rendesen a táblában használt sorok számát, de itt külön arról van szó, hogy az i változó sorok cmízésére van használva. Oszt a táblába felül 2 sor fejléc gyanánt beszúrva lett (ez nem látszik a kódból, a történet nem erről szól), így az összehasonlítást a 3-ik sortól kell kezdeni. Afelett értelme sincs, és hibához is vezetne. A +3 a végén meg pont azért kell, mert be lettek szúrva sorok. Na, valami ilyesmi. Meg lustaság :-)

#1100 Felhasználó inaktív   hkpk 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.536
  • Csatlakozott: --

Elküldve: 2012. 05. 04. 19:59

Üzenet megtekintéseIdézet: Delila - Dátum: 2012. 05. 03. 11:06

hkpk

Mi lenne, ha a Cells(i, 5).Value = Cells(i, 1).Value helyett cells(i,5).copy cells(i,1)-et használnál? Akkor a cellaformátumot sem kellene megadnod.

hm. megpróbálom.

Téma megosztása:


  • (63 Oldal)
  • +
  • « Első
  • 53
  • 54
  • 55
  • 56
  • 57
  • Utolsó »
  • Nem indíthatsz témát.
  • A téma zárva.

1 felhasználó olvassa ezt a témát.
0 felhasználó, 1 vendég, 0 anonim felhasználó