- Milyen házat vegyek?
- Azonnali informatikai kérdések órája
- 3D nyomtatás
- Projektor topic
- Kompakt vízhűtés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- HTPC (házimozi PC) topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Amlogic S905, S912 processzoros készülékek
- OLED TV topic
Hirdetés
-
Az üzleti szférának szól a SmartThings Pro
ma A kütyüket összefogó megoldásból irodák, üzletek és hotelek is profitálhatnak.
-
Spyra: nagynyomású, akkus, automata vízipuska
lo Type-C port, egy töltéssel 2200 lövés, több, mint 2 kg-os súly, automata víz felszívás... Start the epic! :)
-
Meggyőző arcjátékkal reagál a kínai humanoid robot
it A kínai Ex-Robots hiperrealisztikus humanoid robotjai meggyőző arckifejezésekkel dolgoznak, a pszichoterápiában és az egészségügyben is bevethetik ezeket.
-
PROHARDVER!
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
-
szricsi_0917
tag
válasz szricsi_0917 #37915 üzenetére
Még egy kis kiegészítés hozzá. A függvényem megvan, hogy milyen módon számolja ki a hétvégi napokat és esetleg a munkaszüneti napokat is, de nem tudom milyen módon kell alkalmazni, hogy eltolással számolja ki a darabszámokat a vizsgált cellák alapján.
[ Szerkesztve ]
-
Mutt
aktív tag
válasz szricsi_0917 #37915 üzenetére
Szia,
Ha a hónap napjai dátumok a fejlécben, akkor a HÉT.NAPJA függvény tud segíteni a hétvégéket megtalálni, amit a SZORZATÖSSZEG vagy a SZUM függvénnyel lehet használni.
A fejléc a B1:AF1 tartományban van, a ledolgozott idő a B2:AF2 tartományban.
=SZORZATÖSSZEG(--(HÉT.NAPJA($B$1:$AF$1;11)>5)*B2:AF2)
A fenti függvény elhasal, ha szöveg (akár csak egy szóköz) is van az alsó sorban, viszont a következő tömbfüggvény ekkor sem hasal el:
=SZUM(--(HÉT.NAPJA($B$1:$AF$1;11)>5)*(HA(SZÁM(B2:AF2);B2:AF2;0)))
Ha az első sor szöveg (vagyis nem 2018.04.01. van ott, hanem "01.V"), akkor pedig "V" és "Szo" szövegre kell keresni a SZUMHA függvénnyel:
=SZUMHA($B$1:$AF$1;"*V";B2:AF2)+SZUMHA($B$1:$AF$1;"*Szo";B2:AF2)
Rövidebben a SZUMHATÖBB-el:
=SZUM(SZUMHATÖBB(B2:AF2;$B$1:$AF$1;{"*V"\"*Szo"}))
Mindegyik megoldás hátránya, hogy mindig 31 napot nézel és előfordulhat hogy a következő hónap elseje (pl. július 1) is hétvégére esik, ha csak az adott hónap hétvégéi számítanak, akkor ez a tömbfüggvény jó lesz:
=SZUM(--(HÉT.NAPJA($B$1:$AF$1;11)>5)*(HA(HÓNAP($B$1:$AF$1)=HÓNAP($B$1);B2:AF2;0)))
üdv
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz szricsi_0917 #37918 üzenetére
Az első hosszú képleted helyére bírnám a hónap első napját. A cella formátuma nn. nnn, amit jobbra húzva növekednek a napok 1-gyel. Addig másolod havonta, ameddig kell. Minden hónapban csak az első cellát kell módosítanod.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mutt
aktív tag
válasz szricsi_0917 #37918 üzenetére
Szia,
Rövidítsük le a képleteket. Az első talán így (nem tudom mi van a B1-ben, de ide szerintem nem kell):
=HA(D1="";"";HA(HÓNAP(D1+1)=HÓNAP(D1);D1+1;""))
A második pedig:
=ÉS(VAGY(HÉT.NAPJA(D1;11)>5;SZÁM(HOL.VAN(D1;$A$4:$A$20;0)));NEM(SZÁM(HOL.VAN(D1;$A$32:$A$47;0))))
Ha a második képlet nem csak féltételes formázásban van, hanem a munkalapon is megvan, akkor ennek segítségével tudunk SZUMHA-t használni.
=SZUMHA(ahol van a második képlet adatsor;IGAZ;adatsor a munkaórákkal)
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz szricsi_0917 #37990 üzenetére
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz szricsi_0917 #37992 üzenetére
Szia,
A logikai függvények (ÉS, VAGY, NEM) függvények nem működnek tömbfüggvényekben, mert mindig csak 1 értéket adnak vissza. Helyettük szorzás és összeadást használhatunk.
Szerintem ez a tömbképlet minden kritériumot figyelmbe vesz:
=SZUM(HA(((HÉT.NAPJA(idosor;11)>5)+(SZÁM(HOL.VAN(idosor;$A$4:$A$20;0)))>0)*(HIBÁS(HOL.VAN(idosor;$A$32:$A$47;0)));--SZÁM(ELTOLÁS(D2;0;0;1;DARAB(idosor)));0))
Hozz létre a névkezelőben egy idosor nevezetű dinamikus tömböt, a képlete:
=ELTOLÁS(Munka1!$D$1;0;0;1;DARAB(Munka1!$D$1:$AH$1))
Ez azért kell, mert az eltérő hosszúságú hónapoknál a képletet mindig át kellene különben í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
válasz szricsi_0917 #38007 üzenetére
=SZUM(ELTOLÁS(INDEX(B5:B600;HOL.VAN(V2;B5:B600;0));;7):ELTOLÁS(INDEX(B5:B600;HOL.VAN(V2;B5:B600;0));;18))
Ez a képlet lett, kicsit változtatva közben a táblázat kinézetén is. Vagy van ennél egyszerübb is esetleg?
[ Szerkesztve ]
-
Mutt
aktív tag
válasz szricsi_0917 #38904 üzenetére
Szia,
Excel 2010-től a Power Query tud az ilyen feladatokban segíteni.
Egy nem olyan friss video a szükséges lépésekről.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
válasz szricsi_0917 #39072 üzenetére
Szia,
Nézd meg előbb, hogy Power Query-vel meg tudod-e csinálni a kért feladatot.
Javaslom, hogy a Power Query segítségével "fűzd" össze a sok fájlt és arra már lehet FKERES/VLOOKUP.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
ny.janos
tag
válasz szricsi_0917 #41196 üzenetére
Szia!
Az alábbi képlet megadja az általad kívánt értéket, ha A8 értéke
anyag1
:SZUMHA(A$2:F$4;$A8;B$2:F$4)
Ha A9 =anyag2
és A10 =anyag3
, akkor a képletedet nyugodtan másolhatod lefelé.
Ha több oszlopod is van, akkor a tartomány végét természetesen illeszd ahhoz a képletben. -
ny.janos
tag
válasz szricsi_0917 #41199 üzenetére
Hogy őszinte legyek nekem sem. Ezért is kerestem a megoldást a szorzatösszeg esetleg a szum függvény tömbképletes alkalmazásával, de akkor még sikertelenül. Bár nem hittem benne, de gondoltam csak teszek egy próbát a szumha függvénnyel is, úgysem fogja megtudni senki, hogy milyen hülyeséget akarok. Aztán kiderült, hogy mégsem volt hülyeség.
[ Szerkesztve ]
-
ny.janos
tag
válasz szricsi_0917 #41207 üzenetére
Szia!
A végére kerülhet a plusz feltétel vizsgálat, hogy az X oszlopod egyenlő-e 1-el:
{=SZORZATÖSSZEG(($A$2:$I$4=$A8)*HA(SZÁM($B$2:$J$4);$B$2:$J$4;0)*($X$2:$X$4=1))}
-
ny.janos
tag
válasz szricsi_0917 #41209 üzenetére
A próbálkozások során nekem addig volt #ÉRTÉK hibám, ameddig a HA - SZÁM vizsgálat nem volt beépítve, azóta viszont nem találkoztam vele. Mivel nálam jól működik, ezért látatlanban erre nem lehet mit mondani. Tölts fel egy mintafájlt valahova, abból talán kiderül, hogy mi a gond nálad.
[ Szerkesztve ]
-
ny.janos
tag
válasz szricsi_0917 #41216 üzenetére
Szia!
Az értekezletet írja ki nálam is, ha nagyon sok számítási műveletet tartalmazó fájlt nyitok meg. Vagyis a lassulást maga a fájl okozza (annak mérete, számítási sokasága).
Próbáld meg, hogy nem xlsx, hanem xlsb fájlformátumban mentet el a fájlod. Gyorsabbnak kell lennie tőle. Ha még így is túl lassú marad, akkor esetleg értékként beillesztheted azokat az adatokat a képletek helyett, amely adatoknak az újrakalkulálására nincs szükség. -
Delila_1
Topikgazda
válasz szricsi_0917 #41806 üzenetére
A zöld háttér képlete (persze a saját igényednek megfelelő értékekkel)=ÉS($A2>ÁTLAG(A:A)*20%; $A2<=ÁTLAG(A:A)*60%)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
karlkani
aktív tag
válasz szricsi_0917 #41808 üzenetére
Adatsávos formázás így nem fog működni (szerintem). Megoldható, ha van lehetőség segédoszlopot felvenni:
D2=HA(ÜRES(A2);"";C2/A2*100)
Ezzel megkapod az aktuális készletet, százalékosan. Adatsávos formázásnál beállítod a D2 cellára a minimum szám 0 és maximum szám 100 értékeket, bejelölöd a csak adatsáv megjelenítés opciót, majd érvényesítéshez=$D$2:$D$500
(500 sort írtál)Ha nem erre gondoltál, akkor...
[ Szerkesztve ]
-
lappy
őstag
válasz szricsi_0917 #43136 üzenetére
mivel nincs benne szabályszerűség úgy elég nehéz rá függvényt alkotni
Bámulatos hol tart már a tudomány!
-
lappy
őstag
válasz szricsi_0917 #43692 üzenetére
Bámulatos hol tart már a tudomány!
-
Fferi50
őstag
válasz szricsi_0917 #43709 üzenetére
Szia!
Kissé zavaros amit írtál.
"az A oszlop legördülő lista (ehhez az adatok a B oszlopban vannk pl)."
Milyen adatok vannak a B oszlopban? Amiből a listát megjeleníti az A oszlopban? Mert akkor természetes, ha ott egy adatot megváltoztatsz, a legördülő listában is - de csak ott! - megváltozik.
" az A1 oszlopban kiválasztom a Kis Pistát a legördülő lista alapján"
A1 oszlop nincs!
Viszont, ha egyszer egy cellában egy értéket kiválasztottál, akkor az nem módosul mindaddig, amíg újra vissza nem mész és meg akarod változtatni a kiválasztást. A kiválasztás nem képlet és így nem frissül automatikusan - de ha legközelebb ismét abban a cellában választasz, akkor már az átírt érték fog megjelenni.
Ha pontosítod a kérdést, jobb választ kaphatsz.
Üdv. -
Fferi50
őstag
válasz szricsi_0917 #43755 üzenetére
Szia!
A név kiválasztása után miért is kell még legördülő lista, ha a hozzá tartozó adatokat szeretnéd megkapni? Hiszen ott már nem választás kérdése, mi jelenik meg.
Használd az FKERES függvényt a többi adat megtalálásához:
pl. a B2 cellában= FKERES(A2;Adatok!$A$1:$D$5;oszlop();0)
a képlet és ez húzható lefelé és jobbra is.
De ha más a fejléc sorod, akkor az oszlop() helyett a harmadik paraméter legyen:HOL.VAN(B$1;Adatok!$A$1:$D$1;0)
a képlet így is húzható lefelé és jobbra is.
Így mindig a lista fejléceinek megfelelő érték kerül az adott oszlop cellájába.
(persze a két munkalapon a fejléceknek azonosnak kell lenni)
Üdv. -
Fferi50
őstag
válasz szricsi_0917 #43757 üzenetére
Szia!
Ezt most nem is értem egészen. Az Adatok között lesz többször az A oszlopban ugyanaz a név más B-C stb. oszlop értékekkel? Ebből szeretnél a lista munkalapon válogatni?
Akkor többszíntű legördülő listára van szükséged. Itt is találsz rá példákat, ha rákeresel.
Üdv. -
Fferi50
őstag
válasz szricsi_0917 #43759 üzenetére
Szia!
Szerintem a 2. példádban pont egymás utáni oszlopok vannak feltétel szerint listázva. Csak ott előre lehet tudni, hogy melyik feltételhez melyik lista tartozik a következő oszlopban. A listák el vannak nevezve. Neked elvileg szűrt listára van szükséged. Ezt a szűrést megcsinálhatod az Adatok munkalapon direktben -> szűrsz az A oszlopra, majd szűrsz a B oszlopban megjelentekre - ezután a C oszlopra stb. A végén megkapod azt az egy /vagy több sort, amire szükséged van.
Üdv. -
Fferi50
őstag
válasz szricsi_0917 #43768 üzenetére
Szia!
Tulajdonképpen mit is szeretnél? Nem olyan lassú az a szűrés szerintem. De ha a feladatot pontosan megfogalmazod, akkor mi is tudnánk használhatóbb választ adni szerintem.
Üdv.
-
SkiDev
senior tag
válasz szricsi_0917 #43789 üzenetére
Szia! Köszönöm, letöltöttem, mazsolázok belőle.
Siemens A40 \ Siemens C35 (BOCI Ver.) \ Siemens AF51 \ SE k310i \ Nokia 3110c \ SE k800i \ LG GT 500 \ SE Xperia X8 \ Sony Xperia SP \ LG G4 Brown Leather \ Huawei Mate 10 Pro \ Realme X2 Pro \ Samsung Galaxy S21 Ultra 12/256
-
Mutt
aktív 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
-
Mutt
aktív 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
válasz szricsi_0917 #44295 üzenetére
Sziasztok
Közben megtaláltam a megoldást! -
Fferi50
őstag
válasz szricsi_0917 #44295 üzenetére
Szia!
Makróban a tartományokat a Range tulajdonsággal kell megadni.Sheets("Összerendelés").Range("af6") = Application.WorksheetFunction.CountA(Sheets("Összerendelés").Range(abc.Address & ":" & abc1.Address))
Üdv. -
Fferi50
őstag
válasz szricsi_0917 #45374 üzenetére
Szia!
.Columns(1)
Üdv. -
Fferi50
őstag
válasz szricsi_0917 #45378 üzenetére
Szia!
Az index 0-val kezdődik szerintem, az egy oszloposnál Columns(0), úgy gondolom.
Üdv. -
Fferi50
őstag
válasz szricsi_0917 #45380 üzenetére
Biztos, hogy jó a Control neve? Mert az is "indexnek" számít. Bár arra más hibaüzenet jönne.
-
Fferi50
őstag
válasz szricsi_0917 #45380 üzenetére
Szia!
Kicsit jobban ránéztem és az alábbiakat találtam:
1. Jó a Column, nem kell többesszám.
2. Az Index 2 dimenziós legyen és 0,0 val indul, ez az első oszlop első értéke
3. Első az oszlop index, második a sor index.
Tehát .Column(0,0) az első elem, .Column(0,1) az első oszlop második eleme.
Üdv. -
Delila_1
Topikgazda
válasz szricsi_0917 #47039 üzenetére
A másik fórumon, ahol feldobtad ugyanezt a kérdést, megadtam a választ: speciális szűrés.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz szricsi_0917 #47066 üzenetére
Annyit még egyszerűsíthetsz rajta, hogy beteszel egy For-Next ciklust 1-tól 4-ig, és egy Select Case utasításban adod meg a változó lapneveket, az oszlop ciklusok kezdetét és végét, miegyebeket.
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
őstag
válasz szricsi_0917 #49518 üzenetére
Szia!
Ahány Fel oszlopod van, annyi SZUMHATÖBB függvény eredményét kell összeadnod:
=SZUM(SZUMHATÖBB(Fel/1;Cég;Cég1;Cikkszám/1;"1234");SZUMHATÖBB(Fel/2;Cég;Cég1;Cikkszám/2;"1234"); és így tovább)
A képletben most a fejlécet írtam, természetesen az oszlopot kell érteni alatta.
Megpróbálkozhatsz még kimutatással is.
Megjegyzés: Mennyivel egyszerűbb lenne a helyzet, ha nem oszlopsorosan lennének az adatok, hanem sorfolytonosan. Igaz, akkor az A oszlopba is be kellene írni a cégnevet, cserébe viszont csak 4 oszlopod lenne és szűrőkkel megkaphatnád a kívánt eredményt.
Üdv. -
Fferi50
őstag
válasz szricsi_0917 #49520 üzenetére
Szia!
Az mennyivel jobb, ha beszúrsz elrejtett oszlopokat mintha egy cellában adnád meg a több szumhatöbb függvény összegét?
Üdv. -
ny.janos
tag
válasz szricsi_0917 #49518 üzenetére
Szia!
Ha az oszlopaidból igen sok van és nem csak 2-szer ismétlődik, hanem esetleg több 10-szer is, akkor érdemes lehet elgondolkodni egy segédmunkalapban szerintem. Itt megnézheted, mire gondolok.
-
fjns
lelkes újonc
válasz szricsi_0917 #49518 üzenetére
Szia, a linkben található táblázat egy lehetséges megoldás a problémádra...
Az adatok rögzítése közben automatikusan képződik a stat munkalap az összes cég/cikkszám kombinációra az öt technikai munkalap segítségével.
A megoldás nem érzékeny arra, ha az adatok munkalapon sor(ok) beszúrása vagy törlése történik. Arra az általad leírt információra épül minden, hogy az A oszlop fix a cégek számára, a B, C és D oszlopok pedig a mintának megfelelő sorrendben ismétlődnek. A jelenlegi működés olyan, hogy minden sorban az első üres cikkszám előtti háromcellás blokkig dolgozza fel az adatokat.
Megjegyzendő, hogy a Tcikk és a Tfel munkalapok nélkül, illetve a három techX munkalap helyett egy összevont tech munkalappal is elérhető ugyanaz az eredmény, de ez kicsit már ízlések és pofonok kérdése is, számomra így átláthatóbb a megoldás...
Új hozzászólás Aktív témák
- Eladó Steam kulcsok kedvező áron!
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- 10 Darab PC Játék (Bontatlanul!) Egyben 6990Ft.-ért Foxal!!!