Hirdetés
-
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
-
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 ]
═════════════════════════════════════════
-
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. -
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
-
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?
-
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 ]
-
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) -
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. -
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. -
lappy
őstag
-
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.
-
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. -
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. -
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. -
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 ]
-
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. -
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) -
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. -
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/
-
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 ]
-
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! -
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.
-
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 ]
-
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
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! -
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
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
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. -
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
-
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
-
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.
Új hozzászólás Aktív témák
Hirdetés
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest