- Asszociációs játék. :)
- Pendrive-ról bootolható "belakott" debian linux live Ventoy pendrive-on
- Szólánc.
- Fűzzük össze a szavakat :)
- Miért ne vegyél gagyi kínai LED izzósort...
- Az én érdekes, öszvér videokártyám...….
- Samsung LE40A536T1F LCD TV képhiba
- Digitális Állampolgárság Program
- leslieke
- Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
-
LOGOUT.hu
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Delila_1
veterán
válasz benjoe1 #44199 üzenetére
Makróval megoldható.
Első oszlop projektek, másodikba ír a makró, 3-tól az első sorban vannak a hetek.
A makrót modulba tedd, a füzetet makróbarátként kell mentened.Sub Heti_Arbevetel()
Dim oszlop As Integer, uoszlop As Integer, sor As Long
Columns("B:B") = ""
Range("B1") = "Tervezett" & vbLf & "árbevételek"
sor = 2: uoszlop = Cells(1, Columns.Count).End(xlToLeft).Column
Do While Cells(sor, 1) <> ""
For oszlop = 3 To uoszlop
If Cells(sor, oszlop) > "" Then Cells(sor, 2) = Cells(sor, 2) & Cells(1, oszlop) & ", "
Next
If Len(Cells(sor, 2)) > 0 Then Cells(sor, 2) = Left(Cells(sor, 2), Len(Cells(sor, 2)) - 2)
sor = sor + 1
Loop
Columns("B:B").EntireColumn.AutoFit
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
senior tag
válasz csferke #44196 üzenetére
Szia,
Plusz információt az InputBox, vagy jobb az Application.InbutBox metódussal tudsz bekérni. Az utóbbinál megadhatod, hogy milyen információt fogadjon el, pl. csak számokat, csak tartományt stb. A Type:=2 azt jelenti, hogy szöveget vár.
Ezek után tudod használni a munkalap Change eseménykezelőjét:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngValidation As Range
Dim szoveg
'ezen a területen van az adatérvényesítés
Set rngValidation = Range("A2:A5")
'a kód csak akkor fusson le, ha az adatérvényesítés területén módosítunk
If Not Intersect(Target, rngValidation) Is Nothing Then
'kikapcsoljuk az eseménykezelõt, így amikor módosítunk a területen
'nem fogja elindítani magát a kód újból
Application.EnableEvents = False
'kérjünk be vmilyen szöveget
szoveg = Application.InputBox("Szöveg", Title:="Infomáció", Type:=2)
'ha NEM nyomtak Mégsem-et, akkor füzzük a cella tartalmához a szöveget
If szoveg <> vbFalse Then
Target = Target & " " & szoveg
End If
'eseményeket mostantól újra nézzük
Application.EnableEvents = True
End If
End Subüdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
senior tag
Szia,
Röviden: ...C$2$100=igen
Ezt hogyan lenne elegáns módosítani, ha nekem a valóságban több ezer sorom van? Írjak be egy nagy számot, hogy mindig elég legyen?Ahogy írtad adj meg egy nagyobb számot, de óvatosan mert a túl sok soron történő számítás le fogja lassítani a munkafüzetedet! Tömbképletek lassabbak mint a hagyományos képletek, ezért csakis módjával velük.
Magyarázat a megadott képlethez, hogy könnyebben lehessen módosítani:
=HA(DARABTELI($C:$C;"igen")>=SOROK(E$1:E1);INDEX($A:$A;ÖSSZESÍT(15;6;SOR(A$2:A$100)/(C$2:C$100="igen");SOROK(E$1:E1)));"")
1. A magja a SOR(A$2:A$100)/(C$2:C$100="igen") rész, ami megnézi hogy az adott sorban a C-oszlopban IGEN van-e vagy sem. Ha az akkor visszakapjuk a sor számát, ha nem akkor pedig a 0-val osztás eredményeként hibát. Ez tömbfüggvény, vagyis egyszerre több eredményt fog visszadni. pl. {2;#ZÉRÓOSZTÓ;#ZÉRÓOSZTÓ;5;6}
2. Ebből a tömbből kellenek egymás után a számok, amit a KICSI függvény add meg, de a gond hogy az a függvény nem tud mit kezdeni azokkal a tömbökkel, amelyekben van hibás érték.
Itt fog besegíteni az ÖSSZESÍT függvény, ami több függvényt tud meghívni, miközben képes a hibákat (amiket szándékosan vétünk az első lépésben) kiszűrni. A 15-ös kód a KICSI függvényt jelenti, a 6-os pedig hogy rejtse el a hibákat.3. A KICSI-nek meg kell mondani, hogy hányadik elemet kérjük vissza a tömbből. A SOROK(E$1:E1) ezt fogja elérni, mert ahogy másoljuk lefelé a második része növekedni fog (mivel ott nem lett rögzítve a sor).
4. A végén az egész egy HA-ba van téve, hogy ne legyen hibaüzenet ha nincs mit megjeleníteni.
Ezt lehetne HAHIBA függvénnyel is elérni, de az mindig előbb kiértékeli a függvényt és az alapján dönti el hogy melyik ágon menjen tovább. Mivel a tömbképletek elég erőforrás igényesek tudnak lenni, ezért azoknál inkább kerüljük. Itt is azt tettem; lecseréltem egy gyorsabban kiszámolható függvényre.Vége.
+1 A képletnek annyi a hibája, hogy az ismétlődéseket nem tudja kiszűrni. Ahhoz kellene egy segédoszlop a régebbi Excelhez.
üdv
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
csferke
senior tag
válasz Fferi50 #44195 üzenetére
cellaérték=Kiválasztott elem & egyéb érték
Ez OK.
Hogyan tudom megoldani makróban, hogy kiválasztok egy elemet és a billentyűzetről viszem be az egyéb értéket (az egyéb érték mindig más).
Eddigi tudásom alapján csak kiválasztok egy elemet és a makró beírja és továbblép.
Hogyan kell várakoztatni, hogy a billentyűzetről is tudjak hozzáadni valamit. -
mckay
aktív tag
Mutt,
zseniális! És ez már az a szint, amit nem is értek.
Ahogy az előző hozzászóló írta: elképesztő!
Ha estig gugliztam és próbálkoztam volna, ezt a tömbképletet akkor sem hozom össze!
És működik!
Persze, megpróbálom felfogni, de még a rácsodálkozásnál tartok, és teszem át a valódi táblába.
És máris kérdésem van... :-)
Az van a függvényben, hogyC$2:C$100=igen
Ezt hogyan lenne elegáns módosítani, ha nekem a valóságban több ezer sorom van? Írjak be egy nagy számot, hogy mindig elég legyen?[ Szerkesztve ]
-
csferke
senior tag
Sziasztok!
Egy munkalapon legördülő listákból (makróból) töltök ki bizonyos mezőket arra lenne szükségem, hogy amikor a legördülőből kiválasztok egy elemet akkor tudjak még valamit hozzáírni/hozzáadni és ekkor a legördülőből választott + a hozzáadott kerüljön a cellába.
A hozzáadott valami szám, dátum (számokkal beírva), "/" karakter és ezeknek kombinációja. A továbbiakban nem kell semmilyen műveletet végezni a cella tartalmával. Csak simán szövegként megjeleníteni.
Remélem érthetően sikerült megfogalmaznom.
Hogyan lehet ezt megoldani/kivitelezni?köszi
Angol Excel 2007 -
mckay
aktív tag
Lappy,
köszönöm, és azt hiszem értem az ötletet.
Viszont azt nem írtam (ez az én hibám, bocsi), hogy a valós táblában több ezer különböző A érték van, tehát nem a-b-c változók vannak, hanem sokkal több.
Így nem tudok képleteteket gyártani ezzel az amúgy frappáns ötlettel.
Azért köszi! -
Mutt
senior tag
Szia,
Első feladatra (legalább 1 igen) a megoldások:
1. A C-oszlopot tedd be a Kimutatás szűrőjébe.2. Ha Office 365-öd van, akkor ez a képlet:
=EGYEDI(SZŰRŐ(A:A;C:C="igen"))
3. Excel 2010-től pedig tömbképlet, amit E1-be írj be majd húzd le a képletet:=HA(DARABTELI($C:$C;"igen")>=SOROK(E$1:E1);INDEX($A:$A;ÖSSZESÍT(15;6;SOR(A$2:A$100)/(C$2:C$100="igen");SOROK(E$1:E1)));"")
Második feladatra, hogy csak akkor ha mindegyik igen.
Kell egz segédszlop. Én D-be tettem a képlete pedig ez:=DARABHATÖBB(A:A;A2;C:C;"nem")>0
Ezek után jöhet a Kimutatás, de mostmár 2 szűrőd van: az igen és segédoszlop (ami HAMIS, mert azt keressük hogy volt-e NEM a betűnél bárhol említve).üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
mckay
aktív tag
Sziasztok!
Kérlek segítsetek, hogyan kéne hozzáfogni egy olyan kimutatás-féléhez, ami azt mutatja meg, hogy melyek azok a betűk [A oszlop], amely betűnél
- legalább egy igen érték [C oszlop] van?
- az összes soránál igen érték [C oszlop] van?A B C
a 1 igen
b 1 nem
c 1 nem
b 2 igen
c 2 nem
b 3 nemLehet, hogy ez nagyon triviális ha a Kimutatás gombot ügyesen használja valaki, de én igen járatlan vagyok...
Azt hiszem jobban is örülnék egy-két képletnek a D oszlopba...
;)Előre is:
[ Szerkesztve ]
-
Delila_1
veterán
válasz acsati #44179 üzenetére
Beírod a B5-be a címet. Kijelölöd a
B5:C5
tartományt. Cellaformázás, Igazítás fül, Vízszintesen A kijelölés közepére.
A címsor (5) alatti sorokban egyszerűen a B oszlopba írsz, de aB:C
oszlopokat együttesen keretezed be.[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
acsati
aktív tag
válasz Fferi50 #44181 üzenetére
Sejtettem, bár reménykedtem, hátha van valami ismeretlenebb opció erre. Felső részen nem lenne gond az egyesítés miatt, mert ott csak egy-egy adat kitöltése szükséges. Az alsó részen problémás, mert kényelmi és gyorsasági szempontból jó dolog lenne a másolgatás.
Megpróbálok kitalálni valamit akkor rá. Köszönöm válaszod! -
Fferi50
Topikgazda
válasz acsati #44179 üzenetére
Szia!
Ez sajnos nem megy. Egy sor - oszlop csak egyforma méretű lehet(kivéve természetesen az egyesítést). (Úgy látom, még az A-B oszlop cellái is egyesítve vannak a felső részen.)
A másolást próbáld úgy megoldani, hogy irányított beillesztéssel csak az értéket másolod be.
Üdv.[ Szerkesztve ]
-
benjoe1
aktív tag
Segítsetek.
Van egy táblázatom, aminek az első oszlopában projektek szerepelnek, a felső sorában számozott hetek. A cellákban tervezett árbevétel összegek.
Szükségem lenne egy képletre, ami a projektek mellé kiadja, hogy mely hétben (esetleg hetekben) van beírva tervezett árbevétel, tehát a hét számát kellene kiírni.https://www.szarvaskovendeghaz.hu/
-
acsati
aktív tag
Sziasztok!
Formalitás problémába ütköztem. Itt egy kép, hogy könnyebben tudjam magyarázni, mi is a gond, mit szeretnék:A fehér mezőket tudja megrendelő kitölteni, viszont gyakran nyomtatásra is kerül a lap, ezért szűkös a hely, azért ilyen az elrendezés.
Valahogy nem lehet azt megoldani, hogy a vastag vonal alatti részt, külön kezelje valahogy a táblázat, ne kelljen cellákat egyesíteni? Mert a B-C oszlopot egyesítenem kellett, de ahogy másolnék egyik sorból a másikba adatot, szétesik az egész. -
Zoty4
őstag
Sziasztok:
Ha van egy szövegem, amiből egy konkrét szóra akarok "ha" függvénnyel keresni
azt hogy csinájam?
A1 bio alma B1=20
A2 sima alma B2=10
A3 körte B3=40így próbáltam de nem jó. Szóval ha tartalmazza az alma szót akkor legyen a B oszlop értéke C oszlopé is
C1=HA(A1="alma";B1;0) -
Fferi50
Topikgazda
válasz RedHarlow #44175 üzenetére
Szia!
Van benne pár apróság.
Az eredeti képlet:=HAHIBA(INDEX($B$1:$B$10;HA(DARABTELI($A$1:$A$10;$A12)>=OSZLOP()-1;OSZLOP()-1;0));"NINCS TÖBB")
abból indult ki, hogy a nevek az A oszlopban, a hozzá tartozó értékek a B oszlopban vannak. Továbbá (bár ez sajnos nem derült ki egyértelműen), hogy az "új" táblázati rész is az A-B oszlopokban van, csak lejjebb. Tehát a képlet az eredeti mintád szerint a B12 cellába került. Az A oszlopban pedig az egyedi neveket kellett felsorolni.
A mostani képletedben a következőket látom:
A nevek a B oszlopban vannak, a hozzá tartozó értékek pedig az O oszlopban. Nem látom, hogy az ismétlés nélküli nevek hol vannak elhelyezve - mert a $B17 -ben biztosan ismétlődő név van - B oszlop lévén.
Tehát először is kell egy új oszlop az ismétlődés nélküli nevek számára.
Amit nem látok: melyik cellában van a képlet?
A paramétereket pedig az aktuális helyzethez kell igazítani:
Az OSZLOP() függvény arra szolgál a képletben, hogy a vízszintes elhúzást "függőlegessé" alakítsa át. Indítani pedig abból az oszlopból kell az értékét, ahol az áthelyezésre váró értékek vannak - mindig az első előfordulásnál kezdődjön.
A minta képletemben ez azért OSZLOP()-1, mert az adatok a B oszlopban (2. oszlop) kezdődnek, de nekünk az első előfordulás kell először, ezért kell a -1.
Ezért nem mindegy, melyik oszlopban kezded a képletet! A -1 helyett a kezdőoszlop száma -1 kerüljön a képletbe.
Pl. ha a Q oszlopban kezded a képletet, akkor 17-1= 16, azaz OSZLOP()-16 az induló képlet (mivel ennek az eredménye az 1, ha elhúzod, növekszik minden oszlopban eggyel az értéke, így mindig egy sorral lejjebb levő érték kerül az INDEX függvény alapján a cellába.)
A képletet azért lehet jobbra húzni, mert az OSZLOP() függvény képezi a változó részt.
Nagyjából így nézne ki, ha mondjuk az ismétlődés nélküli nevek a P oszlopban vannak, a képlet pedig a Q oszlopban kezdődik a Q2 cellában:=HAHIBA(INDEX($O$1:$O$11680;HA(DARABTELI($B$1:$B$11680;$P2)>=OSZLOP()-16;OSZLOP()-16;0));"NINCS TÖBB")
Remélem, így sikerülni fog.
Üdv. -
RedHarlow
aktív tag
válasz Fferi50 #44156 üzenetére
Ezzel próbálkoztam, de minden másolt oszlopban 1,1,1,1, jelenik meg. Jobbra húzáskor melyik számnak kellene változnia, mert az is igaz, hogy a képlet marad ugyan az minden oszlopban ha jobbra húzom, nem változik benne semmi. :/
=HAHIBA(INDEX($O$1:$O$11680;HA(DARABTELI($B$1:$B$11680;$B17)>=OSZLOP()-1;OSZLOP()-1;0));"NINCS TÖBB")
[ Szerkesztve ]
-
v.attis
őstag
Jó, MEGVAN!
Egyszerű szumha... Túl akartam bonyolítani.
Azért köszönöm, hogy gondolkodtatok és próbáltatok segíteni. -
v.attis
őstag
Na valójában ez kell:
Azért kellene egyszer jól összedobni, mert a lista hosszát szorozzátok fel még vagy 10-el, a kérdések meg olykor 8-9-et is elérik.
Tehát valójában a legalsó sor, az összesítés érdekel, nekem oda kell, hogy mennyi tulajdoni hányad szavazott igen-el és mennyi nemmel.
Mint látjátok a képletnek másolhatónak kell lennie.
Valamelyik "keres" függvény? Tehát ha F2-be egyest, vagy x-et teszek, akkor számolja a C2-t és ez természetesen az egész oszlopra igaz legyen, és adódjon össze. -
Fferi50
Topikgazda
válasz v.attis #44168 üzenetére
Szia!
Egy cella beírt értékét direkt módon csak eseménykezelő makróval tudod módosítani, mivel egy adott cellában vagy képlet vagy konkrét érték van. Ha a cellába beírsz egy értéket, azzal elveszíted az addig ott "tanyázó" képletet és viszont.
Az előttem szólók javaslatait vedd fontolóra légy szíves.
Üdv. -
Delila_1
veterán
válasz v.attis #44168 üzenetére
Javaslom, hogy egy új oszlopba írj be "valamit", ne a C-be.
Lehet ez az E oszlop, amit Wingdings karakterre állítasz, esetleg piros színre, félkövérre. Mikor ide egy ü betűt írsz, egy pipa jelet kapsz. A C2 képlete=HA(E2="ü";B2;"")
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
lappy
őstag
-
v.attis
őstag
Sziasztok!
Olyan megoldás létezik amivel ha beírok egy cellába mondjuk egy egyest, akkor egy ugyanabban a sorban található másik cellí értékét írja be az egyes helyére.
Leírom konkrétan miről lenne szó.
Társasházi szavazás, papíron történik, de mivel több pontban szavaznak és más más tulajdoni hányaddal rendelkeznek, ezért egy táblázatban összesíteném az eredményeket.
Tehát monjuk
A2 - tulajdonos neve
B2 - tulajdoni hányada
C2 - igen szavazatok
D2 - nem szavazatok
A cél az lenne, hogy amennyiben valamilyen értéket írok C2-be (ez bármi lehet, amit javasoltok) akkor ne a beírt karakter jelenjen meg, hanem a B2 értéke, ami egy egyszerű szám. -
Fferi50
Topikgazda
válasz zoombiee #44162 üzenetére
Szia!
Nézd meg az Application.OnKey parancs lehetőséget. Itt elfogadja az ékezetes karaktereket is. Nem kell mást tenned, mint a munkafüzet megnyitásakor futtatni a billentyűzet hozzárendeléseket, bezáráskor pedig azok megszüntetését.
Pl Application.OnKey "é", "Makró1"
az é billentyű lenyomásakor futtatja a Makró1-t.
Érdemes a parancs helpjét megnézegetni kicsit: [itt]
Üdv. -
zoombiee
csendes tag
Sziasztok,
Készítek egy dokumentumot, ahol 70 makró gombot kellene elhelyeznem, ezzel még nem is lenne gond, de szeretném, hogy mindegyiket billentyű lenyomással tudjam használni. Viszont tudomásom szerint csak az angol ABC betűit engedi használni ami 26 + shiftel lenyomva még 26 ami csak 52, az ékezetes karakterekkel meglenne, azokat rögzíti, de lenyomásakor nem indul el a hozzárendelt makró. Van valami megoldás, hogy megoldható legyen a 70 gomb? (egyéni billentyűzetet készítenék hozzá, ezért kellene) -
mdk01
addikt
Tudnátok segíteni abban, hogy miért lassú az excel táblám?
I7 8magos proci, 32Gb ram M2000M vidkari és SSD
Win10 + Excel 365 minden jogtisztaA táblázat W2000-nél jár tehát nem nagy.
Hibajelenség, hogy lefelé gördítésnél kell kb. 0,5mp mire megindul a gördítés, vagy tabulátor gomb megnyomásra is kell majd egy 1mp mire átugrik a jelölés másik cellába
Minden olyan lassan történik összefoglalva, és mintha egyre lassabb lenne, ahogyan nő a táblázat mérete. Számolás persze van benne rendesen, de a mozgatással az nem függhet gondolom össze, mert egyszer beírja a cellába és az ott van.
KöszönömSzerk. És van 8 munkalap amire mennek át hivatkozások, de az sem folyamatos és azok tényleg csak pár soros munkafüzetek.
[ Szerkesztve ]
-
Nixon18
senior tag
Sziasztok!
A következő problémával fordulnék hozzátok:
Adott egy laptop, amire megkértek, hogy telepítsek fel egy office 2003-csonagot. Kaptam CD-t, kódot stb és okosítsam fel, hogy megnyissa az új office-fájlokat is. Minden szuper leszámítva egy dolgot.
Excelben bármit megnyitok, a dátumokat átállítja szám formátumra és az eredeti 2020.05.30 formátum helyett ezt jeleníti meg: 2020 05 30. Minden más gépen, ahol office 2003-at használnak, jól jelennek meg a formátumok, a 2016-os excel is jól jeleníti meg.Mi lehet a probléma?
-
Mutt
senior tag
válasz RedHarlow #44155 üzenetére
Szia,
Megoldások:
Excel 2010-től indulva:
1. B12-es cella képlete:=INDEX($B:$B;ÖSSZESÍT(15;6;SOR($B$2:$B$5)/($A$2:$A$5=$A$12);OSZLOPOK($B:B)))
2. Power Query
Excel 365-el a B12 képlete:
=TRANSZPONÁLÁS(SZŰRŐ(B1:B4;A1:A4=A12))
Régebbi változatokban: Kimutatás
üdv
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Fferi50
Topikgazda
válasz RedHarlow #44155 üzenetére
Szia!
Ha csak ennyi a feladat, akkor a képlet:=INDEX($B$1:$B$4;OSZLOP()-1)
A képletet addig húzod jobbra, amíg hibát nem jelez.
De gondolom más is van itt a pakliban. Ha például különböző nevek különböző egymás után i értékkel vannak jelen és azokat kell így átrendezni, akkor a képlet pl. lehet:=HAHIBA(INDEX($B$1:$B$10;HA(DARABTELI($A$1:$A$10;$A12)>=OSZLOP()-1;OSZLOP()-1;0));"NINCS TÖBB")
Ez a képlet is húzható jobbra, ha már nem talál több értéket, akkor NINCS TÖBB jelenik meg.
Mindkét képletnél feltétel, hogy a nevek az A, az értékek a B oszlopban legyenek.
A második esetben feltétel, hogy a neveket előre be kell írni az új táblázati részbe.
Üdv. -
RootRulez
félisten
Sziasztok!
Azt meg lehet csinálni, hogy az adat ami szám utána írjon mást is, mint pl a forintot? Cellaformázással vagy hogy? Én teljesítmény mértékegységét szeretném. A szám amit beírok és utána odabiggyesszen nekem még egy "W"-t, mint watt. Ez megoldható?
Köszi!
mod:
Megvan ott volt, csak jobban bele kellett mélyednem.
mod2:
Delila_1: Köszi!![ Szerkesztve ]
═════════════════════════════════════════
-
lappy
őstag
válasz kokokka #44148 üzenetére
D3 kell osztani
A képlet meg inkább szum(A3:C3)/D3
Az átlag jóval kevesebb ha ugyanúgy szamolsz mint mint az összes bevétel tényleges 1 főre jutó szama
Mert a 250/3/7 az tényleg 11904
Amíg az új képlet szerint pedig 250/7 az pedig 35714[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
Mutt
senior tag
válasz tomi_x #44143 üzenetére
Szia,
Ha tényleg az kell hogy az ismétlődések maradjanak, és csak az utolsó előfordulásnál írja ki a szorzatösszeget, akkor ez a képlet:
=HA(DARABTELI(A$2:A2;A2)=DARABTELI(A$2:A$14;A2);SZORZATÖSSZEG(--(A$2:A$14=A2);B$2:B$14;C$2:C$14);"")
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Pakliman
tag
válasz tomi_x #44145 üzenetére
Az A oszlop tartalmazza az "azonosítót", az E oszlopba kell rakni a képletet.
A képen a D oszlop tartalmazza az értéket, amit összesíteni akarsz.
Ha a tényleges táblázatban ez a bizonyos D (vagyis az érték) nem szerepel, akkor hozd létre, mint segédoszlop és a képletben arra az oszlopra hivatkozz.[ Szerkesztve ]
-
Fecdzo
senior tag
válasz Delila_1 #44136 üzenetére
Köszi a makrót!
Időközben találtam egy olyan megoldást is, hogy a munkalapoktól balra van egy balra és egy jobbra mutató léptetőnyíl (amivel egyesével lépegethetünk a munkalapok között). Ha a két nyíl között nyomunk egy jobb klikket akkor felugrik egy ablak, ahol kiválaszthatók az egyes munkalapok és rákattintva odaugrik.
Köszi a segítséget!
fulekitrading.wordpress.com
-
-
Delila_1
veterán
válasz Fecdzo #44135 üzenetére
Azt nem, de ha gondolod, privátban küldök egy makrót, ami beszúr a lapok elé egy újat, és arra tartalomjegyzéket készít. Ennek segítségével azonnal a keresett lapra ugorhatsz.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fecdzo
senior tag
Sziasztok!
Sok munkalappal dolgozom. Olyat lehet csinálni h mondjuk kettő vagy több sorba jelenljenek meg az egyes munkalapok alul és ne kelljen folymatosan jobbra scrollozni?
fulekitrading.wordpress.com
-
Mutt
senior tag
válasz ROBOTER #44131 üzenetére
Szia,
Se a Value2, se a Text nem tartalmazza a cella értékét?
Irányított beillesztésnél az ellenőrzés nem fog lefutni, így előfordulhat hogy a cella "érvénytelen" adatot tartalmaz (pl. számnak tűnő szyöveg), de attól még a cella értéket kellene tudnod kiolvasni.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
senior tag
válasz zsolti_20 #44128 üzenetére
Szia,
A körlevél készítő újabb lapot fog létrehozni a többi címnek a sablon szerint. Vagyis ha 14-nél több címed van, akkor egy újabb lapon folytatja újabb 14 címmel és így tovább.
A kész eredményt nyomtatás előtt le tudod ellenőrízni, hogy legyen lehetőség javításra. Ne a nyomtatást válaszd, hanem az új dokumentum késztését. Ha az jó akkor küldheted azt nyomtatásra.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
ROBOTER
addikt
Sziasztok!
Adott sok érvényesített cella. Sok ismétlődés lehetséges, ezért a felhasználónak megengedem, hogy vágólappal másoljon közöttük. Mivel a bemásolt érték tagja az érvényesítési listának, az excel elfogadja. Viszont amikor a makróból kiolvasom a .value értékét, üreset ad vissza több esetben, de nem jöttem rá még, hogy miért, mitől függ. Ha rámegyek a legördülő listára, a cella pillanatnyi tartalmának megfelelő listaelem van kijelölve a listában (ahogyan kell), ha rákattintok a listában, a cella tartalma természetesen változatlan marad, de akkor a makró is látja.
Lehet az irányított beillesztésben (csak érték) van a különbség?
[ Szerkesztve ]
-
zsolti_20
senior tag
Sziasztok! Segítséget syeretnék kérnni, igay most Microsoft Wordel kapcsolatban de részben excel is.
Szeretnék átvinni címeket excelből wordbe a formázás miatt, majd ezt kinyomtatni egy speciális papírra amin lehúzható matricák vannak. Úgy van az egész megoldva, hogy Wordben a mailings fül alatt, a start mail merget választva step by step mail merge wizardra kattintva lehet beállítani mindent. De egy valamit nem tudok sajnos. Jelenleg 14 cím fér rá egy A4-es lapra.
Azt syeretném megoldani, hogy ha több mint 14 cím van, akkor hozza létre a következő oldalt. Lehetséges ilyesmi? vagy 10ezer cím esetén az egészet szeparálva kell felvinnem? -
Mutt
senior tag
válasz szricsi_0917 #44126 üzenetére
Szia,
A tömböknek a szorzatösszegben azonos méretúnek kell lennie, a képleted szerint is azonos magasságúak (2-es sortól a lastrow2-ig).
Próbáld ki így a képlet létrehozását:
Dim rng As Range
Dim keplet as String
For i = 2 To lastrow
For a = 10 To 21
Set rng = szerviz.Cells(2, a).Resize(lastrow2 - 1)
keplet = "=SUMPRODUCT(MAX((Szerviznyilvántartó!$B$2:$B$" & lastrow2 & "=$B" & i & ")*(Szerviznyilvántartó!" & rng.Address & "=""Motorolajcsere"")*Szerviznyilvántartó!$G$2:$G$" & lastrow2 & "))"
auto.Range("V" & i) = Evaluate(keplet)A kódrészlet alapján ami furcsa, hogy 11 oszlop 11 eredményét kiszámolod és mindig a V oszlopba kiírod, így valójában mindig csak az utolsó oszlop eredménye marad meg.
Ha gond van, akkor érdemes feldobnod egy minta fájlt vhova a pontos feladattal és itt többen is tudnak jobb kódot majd javasolni.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
szricsi_0917
tag
Szia
Sub kmfrissites_auto()
Dim auto As Worksheet
Dim utnyilvan As Worksheet
Dim szerviz As Worksheet
Dim lastrow
Dim lastrow1
Dim lastrow2
Dim i As Long
Dim a As Long
Dim vMax As Double
Dim xMax As Double
'On Error GoTo kmfrissites_auto_Error
Set auto = Sheets("Autó")
Set utnyilvan = Sheets("Útnyilvántartó")
Set szerviz = Sheets("Szerviznyilvántartó")
lastrow = auto.Cells(Rows.Count, 1).End(xlUp).Row
lastrow1 = utnyilvan.Cells(Rows.Count, 1).End(xlUp).Row
lastrow2 = szerviz.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
For a = 10 To 21
auto.Range("V" & i) = Evaluate("=SumProduct(Max((Szerviznyilvántartó!B2:B" & lastrow2 & " = Autó!B" & i & ") * (INDIRECT(""'Szerviznyilvántartó'!"" & address(2," & a & ",4) & "":"" & INDIRECT(address(" & lastrow2 & "," & a & ",4)) = ""Motorolajcsere"") * Szerviznyilvántartó!G2:G" & lastrow2 & "))")Átalakítottam az általad javasolt megoldásra viszont újabb probléma merült fel.
Több feltételt szeretnék hozzárakni. A probléma, hogy a 2. feltétel más méretű tömb mint a többi így ugye hibára fut a képlet.
For ciklussal oldottam meg, hogy a 2. feltételnél oszloponként megy újra végig és mindig az utolsó legnagyobb értéket hagyja meg így a végén megkapom majd a maximum értéket.
A probléma, hogy az indirect megoldással mindig érték hibára fut. Mi lehet a probléma?[ Szerkesztve ]
-
szricsi_0917
tag
Szia
Köszönöm a segítséget, nem gondoltam volna, hogy a VBA nem tudja kezelni a MAX képlettel.
Sajnos én olyan verziót használok amiben nincs MAXHA függvény pedig már rég kész lenne.
AB.MAX-ot vagy kimutatást azért nem akartam, mert ez egy userformhoz tartozik és ezután még lesz pár számítás így az csak plusz lépés lett volna és nem tudom mennyire lenne lassabb mikor már több ezer sor van, a másik pedig, hogy így elegánsabb. -
Mutt
senior tag
válasz szricsi_0917 #44114 üzenetére
Szia,
Ez nem fog menni, mert a VBA-s változat máshogy műkődik.
Alternatív megoldások:
1. Előbb képlettel kiszámoltatod az eredményt, majd értékként beilleszted
With Range("U2:U" & lastrow)
.FormulaR1C1 = "=SUMPRODUCT(MAX((RC[-19]:R[998]C[-19]=RC[-19])*RC[-14]:R[998]C[-14]))"
.Value = .Value
End With2. Evaluate függvénybe teszed a képletet és az eredményt kiíratod a cellába
For i = 2 To lastrow
keplet = "=SUMPRODUCT(MAX((B2:B1000=B" & i & ")*G2:G1000))"
Range("U" & i) = Evaluate(keplet)
Next i3. Ahogy nézem csak a maximumot keresed a G-oszlopban minden B-ben lévő értékhez. Ezt Kimutatással, AB.MAX vagy MAXHA függvényekkel is el lehet érni.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
szricsi_0917
tag
Sziasztok
Sub kmfrissites_auto()
Dim auto As Worksheet
Dim utnyilvan As Worksheet
Dim szerviz As Worksheet
Dim lastrow
Dim lastrow1
Dim lastrow2
Dim i As Long
Set auto = Sheets("Autó")
Set utnyilvan = Sheets("Útnyilvántartó")
Set szerviz = Sheets("Szerviznyilvántartó")
lastrow = auto.Cells(Rows.Count, 1).End(xlUp).Row
lastrow1 = utnyilvan.Cells(Rows.Count, 1).End(xlUp).Row
lastrow2 = szerviz.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
auto.Range("U" & i) = Application.WorksheetFunction.SumProduct(Application.WorksheetFunction.Max((utnyilvan.Range("B2:B" & lastrow1) = auto.Range("B" & i)) * utnyilvan.Range("C2:C" & lastrow1)))
Next iAz auto.Range..... sornál miért fut "type mismatch" hibára?
Köszönöm a segítséget![ Szerkesztve ]
-
Baltincs
tag
Sziasztok. Kollégám olyan hibát tapasztalt 2016-os excelben, hogy egy shared drive-ról nyitott meg egy excel fájlt, amiben ha ő valamit update-el, a hivatkozás másik oldalán nem történik meg a változtatás, de a hivatkozás útvonala a nála modósított esetnél nem a teljes útvonal, csupán az excel fájl neve és nem jövünk rá miért nem a rendes útvonalon update-eli a fájlt. Valakinek valami tapasztalat ilyen hibával?
[ Szerkesztve ]
-
Mutt
senior tag
Szia,
Minden hónaphoz egy feltételt kell megadnod. A formázás képlete az első hónapra pedig:
=ÉS(A1>0;HÓNAP(A1)=1)
A többi hónap esetén csak a képlet végén lévő számot kell módosítanod.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
senior tag
válasz p5quser #44115 üzenetére
Szia,
A Split egy eredménytömböt próbál létrehozni, aminek az elemszáma a megtalált elválasztó karakterek száma alapján változik. Ha nem találja meg a karaktert, akkor 1 elemű lesz a tömb, a bemeneti értékkel az első elemben.
A tömb elemszámát az UBOUND() függvény adja meg.
Mielőtt a 3-ik elemet keresnéd meg kell nézned, hogy van-e egyáltalán?If UBound(spl) > 2 then
... 3-ik elemes keresésed
End ifHa jól értelmezem az eredeti felvetésedet, akkor ez a kód jobb eredményt fog adni mint a mostani.
Sub Kereses()
Dim rngSearch As Range 'ez a B oszlop
Dim txSearch As Range 'ez a B oszlop éppen vizsgált cellája lesz
Dim arrWhat() 'ez a G oszlop
Dim txWhat As Variant 'a splittel ide szedjük szét fenti cella tartalmát
Dim match As Long 'találatok számolása
Dim bestmatch As Long 'legtöbb találat
Dim bestWhat As Long 'legtöbb találatot adó keresés pozíciója
Dim i As Long
Dim j As Long
With ActiveSheet
'memóriában tárolt tömbe töltjük a keresendõ kifejezések listáját
'Transpose 1-es index-szel induló tömböt hoz létre
arrWhat = Application.Transpose(.Range("G2:G180"))
Set rngSearch = .Range("B1:B" & .Range("B1").End(xlDown).Row)
For Each txSearch In rngSearch
bestmatch = 0
bestWhat = 0
For i = 1 To UBound(arrWhat)
'keresendõ szavak létrehozása
txWhat = Split(arrWhat(i), " ")
If IsArray(txWhat) Then
match = 0
'Split mindig 0-ás index-szel hozza létre a tömböt
For j = 0 To UBound(txWhat)
match = match - (InStr(1, UCase(txSearch), UCase(txWhat(j))) > 0)
Next j
'ha találtunk több egyezést a korábbiaknál, akkor jegyezzük meg
If match > bestmatch Then
bestmatch = match
bestWhat = i
End If
End If
Next i
'mielõtt új cellára mennénk a C-D oszlopban írjuk ki hogy mi a legjobb egyezésünk
If bestWhat > 0 Then
txSearch.Offset(, 1) = bestmatch
txSearch.Offset(, 2) = arrWhat(bestWhat)
End If
Next txSearch
End With
End Subüdv
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Zoty4
őstag
Sziasztok.
Dátumoknál be lehet állítani valahogy hogy minden hónapnak más színe legyen?
pl:
2020.01.05 kék
2020.02.08 zöld
pl: feltételes formázással? -
p5quser
tag
Sziasztok!
Ismét előtérbe került egy korábbi nyomorom, amivel kapcsolatban egy mai guglizás felcsillantotta a reményt.
A varázsszó a "Split". Az alábbi kódsorokkal egész tűrhető eredményeket kaptam. Ő azt csinálja, hogy végigmegy a G2:G180 range-en és minden ott található megnevezést feldarabol "space"-enként, majd ezek első és második darabkáját (joker karakterekkel) megkeresi a "B" oszlopban.
Ezután visszaadja a talált egyezést, ill. a mellette lévő adatot. Mint egy feltuningolt FKERES. Gyanítom nagyban javulna a találati arány, ha a 3. darabkát is be tudnám szőni a keresésbe (a "cik" akár 4-5 részes is lehet), de elakadtam.
Azt még meg tudtam oldani, hogy ha egy darabkás a keresendő, akkor adja vissza azt, de azt már nem, hogy ha csak két darabkás, akkor is. V9-cel elszáll, mihelyst megpróbálom az "spl(2)"-t is beleszőni a keresésbe.
Ha esetleg valaki látja azt amit én nem, megköszönném... :)Sub keresgelos()
With Sheets(1)
Dim cil As Range, tci As Range
Set cil = .Range("G2:G180")
For Each cik In cil.Cells
spl = Split(cik)
Set tci = .Range("B:B").Find(what:=spl(0) & "*" & spl(1), LookIn:=xlFormulas)
If spl(1) = "" Then
Set tci = .Range("B:B").Find(what:=spl(0) & "*", LookIn:=xlFormulas)
End If
On Error Resume Next
.Cells(cik.Row, 8).Value = tci
.Cells(cik.Row, 9).Value = tci.Offset(0, 1).Value
Next
End With
End Sub[ Szerkesztve ]
-
szricsi_0917
tag
Sziasztok
Segítséget szeretnék kérni!
Át akarom forgatni vba-ba a=SZORZATÖSSZEG(MAX((Szervíznyilvántartó!B2:B1000=B2)*Szervíznyilvántartó!G2:G1000))
Ha beírom egy cellába ez működik is, tehát a számítás elgondolása helyes.
VBA:auto.Range("U" & i) = Application.WorksheetFunction.SumProduct(Max((utnyilvan.Range("B2:B" & lastrow1) = auto.Range("B" & i)) * utnyilvan.Range("C2:C" & lastrow1)))
A for "i" ciklus és a lastrow működik, mert ha egy egyszerűbb függvényt írok a helyére tökéletesen végig megy.
Lehetséges, hogy vba-ba nem így kell összefűzni a SUMPRODUCT-ot és a MAX-ot?[ Szerkesztve ]
-
lappy
őstag
válasz v.attis #44112 üzenetére
https://www.extendoffice.com/documents/word/1003-word-mail-merge-date-currency-and-number-format.html
De ha rakeresel hogy mezokod beállítása körlevél akkor több infó is van
Mezőkód beállítása
{MERGEFIELD \#### Ft}
Vmi hasonló kell neked[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
v.attis
őstag
Sziasztok!
Nem biztos, hogy excel kérdés, de abból indul.
Körlevél készítés Wordben, néhány oszlop egy excel listából amelyek pénz formátumban vannak, pl. 40.000 Ft. Sajnos az összegeket képlet adja, tehát egy bővebb számítás és nekem az eredménye kell a körlevélbe.
Amikor a mezőt beteszem a Word dokumentumba és pdf-ben kinyomtatom, akkor a végeredmény nem 40.000 Ft, hanem mondjuk 40000,09456324.
Tehát ott van az összes tizedes szám és nincs ott a Ft. jelzés sem.
Mit kell tennem ahhoz, hogy úgy jelenjen meg a wordben, mint ahogy az excelben is látom? -
attiati
veterán
mi mászott el az excelemben?
Jegyzettömbből bemásolok gépelt szöveget XLS-be és minden egyes szót új cellába tesz.
[ Szerkesztve ]
-
lappy
őstag
válasz pentium4 #44109 üzenetére
Szia!
Azt kérted ha Párizs akkor p és ebből lehet max kettő a harmadiktól pedig n
hogy jön ide a d10 ?!
"de mi alapján fogja eldönteni a függvény ha hétfő és kedd pl d10, vagyis 1 p még lehet szerda és vasárnap között," a d10=p vel ezt eddig nem mondtad vagy nem értem az összefüggést[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
pentium4
senior tag
Beillesztettem, de nem működik: Az argumentumok száma nem megfelelő a(z) IF függvényhez. 2 és 3 közötti argumentumot várt, 1 érkezett.
valamint én értem hogy az első kettőt nézzük, de mi alapján fogja eldönteni a függvény ha hétfő és kedd pl d10, vagyis 1 p még lehet szerda és vasárnap között, pl csütörtökön, szombat és vasárnap is p, akkor a sorrendnek kellene döntenie, vagyis csüt p és szom és vas nP4
-
lappy
őstag
válasz pentium4 #44106 üzenetére
=HA(ÉS(HA(Munka2!C1="Párizs";IGAZ;0);(DARABTELI($A$2:B$2;"p")>=2));"n";HA(Munka2!C1="Párizs";"p";0))
Itt van bár nem angol függvények használatával! és elegendő csak a 3. cellában alkalmazni a 7. celláid az első kettőbe mehet a saját függvényed
[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
lappy
őstag
válasz pentium4 #44106 üzenetére
Akkor valamit rosszul értelmeztel mert a 7 bol ha az első 2 már p akkor később nem lehet p, így elegendő a képletnek a 3. naptól vizsgálni hogy a 7 napból van e 2 olyan ami p tartalmaz.
Na majd ha lesz időm akkor megirom a függvényt és felrakomBámulatos hol tart már a tudomány!
-
pentium4
senior tag
Nem teljesen, mivel a hét kezdődhet úgy is hogy szerdáig d10 és utána pl az összes p betű, akkor ugye csüt péntek p viszont a hétvégét már n-re kell tennie.
Az én ha függvényem így néz ki: =IF('Munkalap1'!I8="PÁRIZS";"p";0)
mindenképp az egész tartományt kell vizsgálni, a hét elejéről.P4
-
lappy
őstag
válasz pentium4 #44104 üzenetére
Mivel nem ismert a ha függvényed, de a p gondolom bárhol lehet. Ezért az első kettő cellaval nem kell foglalkozni hiszen a sor elejéről nézzük.
A 3.tól pedig kell a képlet meg kell számolni a p-k számát a teljes tartományban. Egy ha függvénybe beágyazod, és ha nagyobb mint kettő és a ha függvényed ami van annak az értéke is p vel egyenlő akkor n. Különben a saját ha függvényed értéke.
A képlet valahogy így nézne ki
Ha(és(saját ha() ="p" ; darabteli(A2:B2:"p")>2);"n";sajat ha függvényed)[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
pentium4
senior tag
Sziasztok,
Az alábbi feladatot hogy tudnám megoldani:
A 2. sorban egy másik tábláról kerülnek beolvasásra az adatok, ha függvénnyel, ha a másik lapon pl PÁRIZS van akkor 'p' betüt ir ezen a lapon, azt kéne megoldani, ha 2db nál több 'p' van akkor a 'p' helyett 'n' betű legyen az eredmény, és a p számolását a sor elejéről kell kezdeni, vagyis ebben a példában az első 2 marad 'p' nek, és a többinek 'n'-nek kéne lennie.
KösziP4
-
Mutt
senior tag
Szia,
Excel 2010-től van Power Query, ahol 5+1 lépés az egész:
0. Alakítsd át a tartomány táblázattá (nem kötelező ha másik fájlból akarsz dolgozni)
1. Olvasd be az adatsort
2. Add Column -> Index column3. Kijelölöd az újonnan létrejött oszlopot, majd Transform -> Unpivot -> Unpivot by other columns
4. Majd sorba rendezed előbb a fejléc alapján, majd az index alapján.
5. Törlöd a felesleges 2 oszlopot.
6. Visszatöltöd az eredményt Excelbe. Home -> Close and load -> .. to..üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
amdk7
aktív tag
Új hozzászólás Aktív témák
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest