- D1Rect: Nagy "hülyétkapokazapróktól" topik
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- bitpork: Augusztus 2- szombat jelen állás szerint.
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- sziku69: Fűzzük össze a szavakat :)
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- Yutani: Yutani Retró Hangkártyái: AdMOS AdWave 32
- user2: Kia Ceed Gold 160 1.5 T-GDI MY2024
- Kempingezés és sátrazás
-
LOGOUT
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
-
Pakliman
tag
Szia!
Valószínűleg a hiba a Windows dátumformátum beállításában van (nekem ez volt!).
A rövid dátumformátum (nem tudni miért) fölösleges szóközöket tartalmaz a pontok után.
Pl.: 2023. 03. 21 (a 2023.03.21 helyett!)
Beállítás:
Vezérlőpult->Megtekintés a következő szerint: Kategória -> Dátum-, idő- és számformátumok módosítása->(lent) További beállítások->Dátum->Rövid dátumforma->törlöd a fölösleges szóközöket->Ok -
Fferi50
Topikgazda
Szia!
A táblázatban feltétlenül az A oszlop adatait kell az értékmezőbe tenni?
Ha a B oszlop adatait teszem oda, továbbá be van jelölve a többszörös kijelölés, akkor a B oszlopba írt változtatások frissítés után megjelennek a slicerben és így a pivotban is.
Előtte:
Utána:
Változtatás:
Még egy változtatás:
Frissítés után nem kellett semmit tenni ahhoz, hogy kijelöltként megjelenjen az új érték.
Üdv. -
Fferi50
Topikgazda
Szia!
"Valami ilyesmi lenne:
Range("B1: B10000") = IIf(IsNumeric(Left(????,2)),Left(????,2),"")"
Ez így biztosan nem megy. Értéket nem tudsz egy egész tartománynak adni egy lépésben (csak ha ugyanazt az értéket szeretnéd).
For Each ciklussal mehet és cellánként kell végigmenned a tartományon. Akkor az utasítás jó, a kérdőjelek helyére annak a cellának az értékét/címét kell tenni, amit vizsgálsz.
Ha pl. az A oszlopban van a vizsgálandó érték, akkor:Dim cl As Range
For Each cl In Range(A1:A100).Cells
cl.Offset(0,1).Value=IIF(IsNumeric(Left(cl,2)),Left(cl,2),"") 'Ez a B oszlopba írja az adott értéket
Next
Viszont képlettel meg lehet két lépésben csinálni, mivel ott egész tartományt lehet használni:
Először a képlet:Range("B1 : B100").Formula="=IFERROR(NUMBERVALUE(LEFT(A1,2)),"""")"
Utána átalakítjuk értékkéRange("B1: B100).Value=Range("B1 : B100").Value
Üdv.
-
Fferi50
Topikgazda
Szia!
Megnézted már a mentés másként file opcióit? Abban van csv és xml mentés is. Makróban SaveAs illetve SaveAsXMLData.
A help segít. (VBA nézet, Object Browser kiválaszt, beírod a keresőmezőbe a fenti kulcsszavak egyikét. Utána a felső sor utolsója a kérdőjel, a VBA helphez visz az adott kulcsszóra.)
Üdv. -
norby91
tag
Szia.
Ismerem a dollár jelet, sokszor használom. Magát a képletet nem húzom most, csak oszlopokat szúrok be utána, de eltolja. Valójában a $ jel nem is kellene.
Az első F-nél valóban lemaradt, de láthatod a másikon ottvan, s az is elmászott G-re.
Szóval ez nem működik se excelben, se google-ben.Az oszolopok dátum szerint vannak rendszerezve, s mindig a friss van elől, ezért kell beszúrni, csak a képlet viszi magával a korábbi változtatot.
A másodiknál azt meg tudom oldani, hogy ha pl G6 értéke egyenlő 1-gyel akkor azt szinezze... az nem megy, hogy ugyanerre a feltételre másik cellát formázzon meg.
Neten is keresgéltem, de nem találtam még megoldást.
-
pentium4
senior tag
sajna naiv voltam picit és nem irtam le a teljes képet, de ezzel így nem müködik
mivel a feltétel az hogy a cellában lévő tartalom T betüvel kezdődik e.
és mivel 1 naphoz 2 oszlop tartozik, viszont az alsó érték már egyesitett cellába van, ez neheziti a dolgot, valamint csak olyan fordulhat elő hogy vagy mind2 oszlop T vel ezdődik vagy egyik se, viszont ha T vel akkor a lenti értéket nem kell nem számolhatja duplán
P4 -
Pakliman
tag
Szia!
Public Sub xx()
Const sFN As String = "d:\teszt.csv"
Dim csv As Integer
Dim sLine As String
Dim o As Long 'Az adatoszlopok száma...
Dim i As Long
Dim j As Long
Dim db As Long
Dim s As String
Dim arr0, arr
csv = FreeFile()
Open sFN For Input As csv
ReDim arr0(1 To 3, 0 To db)
Do While Not EOF(csv)
Line Input #csv, sLine
arr = Split(sLine, ";")
i = UBound(arr) + 1
If db = 0 Then o = i
If i = 3 Then
'Ha 3 részes a sor...
db = db + 1
ReDim Preserve arr0(1 To o, 0 To db)
s = arr(0)
'Töröljük az elejéről és/vagy a végéről a macskakörmöt
If Left(s, 1) = Chr(34) Then s = Mid(s, 2)
If Right(s, 1) = Chr(34) Then s = Left(s, Len(s) - 1)
arr0(1, db) = s
s = arr(1)
If Left(s, 1) = Chr(34) Then s = Mid(s, 2)
If Right(s, 1) = Chr(34) Then s = Left(s, Len(s) - 1)
arr0(2, db) = s
s = arr(2)
If Left(s, 1) = Chr(34) Then s = Mid(s, 2)
If Right(s, 1) = Chr(34) Then s = Left(s, Len(s) - 1)
arr0(3, db) = s
Else
'...ha nem, akkor az előző végéhez írjuk.
s = sLine
If Left(s, 1) = Chr(34) Then s = Mid(s, 2)
If Right(s, 1) = Chr(34) Then s = Left(s, Len(s) - 1)
arr0(3, db) = arr0(3, db) & vbCrLf & s
End If
Loop
Close #csv
For i = 1 To db
For j = 1 To o
Cells(i, j) = arr0(j, i)
Next j
Next i
End Sub -
norby91
tag
Köszi az igyekezetedet!
"Mondjuk azt nem lehetne, hogy egy alap pivot-ot összeraksz és a szűrőbe teszed be a feltételt, a 100-199 között?"
Jelenleg is igy van, de 100-199 között nincs érték, igy nem tud nevet irni, ezért hibázik."amint törlöm a B oszlopot, a hivatkozás megszűnik és #REF lesz a helyén."
Na ez ugyanaz a helyzet, mintha nem esik a szűrési feltételbe találat.."Ennél a minitáblázatnál úgy lehetne lekezelni, hogy a C oszlopba nem =B2, hanem =IFERROR(B2;"") képletet írnám. Így, ha törlődik is a B oszlop, nem lesz baj."
"B" oszlop nem lesz törölve.
Nekem a pivotba csak az kell, hogy leszűröm az intervallumot (100-199), s kiirja a nevet. A névhez tartozó érték nem kell, az az oszlop el lesz rejtve, nem tudok jobbat. -
norby91
tag
Na előidéztem.
[link] "G33"-ban a hibás rész.
Nincs 100-199 között személy, igy dobja a hibaüzit. Ha kitörlöd az "I33"-at, akkor láthatod, beadja az alap táblázatot, mintha most kezdenéd az elejéről.
Ha átirok bárkit olyan értékre ami beleesik a tartományba, akkor már jó...
Ha nincs megoldás rá, túlélem, csak csúnya igy. -
Fferi50
Topikgazda
Szia!
Nem tudom, hogy a \r\n az tulajdonképpen milyen karaktereket takarhat. A cellákban van a sortörés azt írod. A soremelés karakterkódja 10, a kocsivissza karakterkódja 13, a kocsivissza + soremelés-kombi így karakter(13) & karakter(10) . Ezeket próbáld meg kicserélni a szövegben mondjuk szóközökre.
Üdv.
Esetleg 3 sor minta is jó lehetne, ránézni. -
dm1970
aktív tag
Először a vkeres. Igen az utolsó sorban levő számok alapján adta meg az oszlop sorszámát, a H oszlop is segéd volt, ami a képlet másolás miatt kellett, az első képletnél még a 8. volt a segédsor, az utolsónál a 2. Igen, ha beírtam a szokásos "hamis"-t a képletbe, akkor "hiányzik" lett a vége, de mivel működött, nem foglalkoztam vele. Pont az a gondom, hogy kitalálok valamit, aztán még valamit, s a végére kijön egy elég összevissza képlet. S egyszer eljutok odáig, hogy ha bele kell módosítani, már nem tudok mert nem értem, nem tudom mit miért írtam bele.
A képlet viszont OK, köszönöm, remélem tudom alkalmazni az eredeti táblázatban, mert a csatolt csak egy egyszerűsített verzió.Kipróbáltam, sajna nem megy. Kevés volt az egyszerűsített tábla.
Két kérdés még:
Gondolom nem gond, hogy nem A1:H1 hanem pl A20:A50?
Akkor is megtalálja, hogy hányadik oszlop, ha azok képlet alapján töltődnek?
Hogy érthetőbb legyek, az előző táblázatban A1:G7-ben végig képletek vannak, s csak bizonyos feltételek teljesülésekor kerül a cellákba valami. -
TheSaint
aktív tag
Köszi, hasonlóval próbálkoztam, de mint a példán is látható egy "/" jellel kezdődik minden érték (ami a valóságban hipertitkos vállalati kódolást takar, ami így néz ki: pl.: BZ19/0473 , stb...) tehát nem tudtam egy ilyen egyszerűbb képletre redukálni a tartalmat, amit könnyebb már kezelni.
Azért várok minden ötletet. -
spe88
senior tag
utóbbi a helyzet!
A fájlnévben is benne van az adott évszám és a munkalapnévben is.
Évente egyszer elég lenne megcsinálni azt amit írsz, de lesznek más fájlok is, amik hetente, havonta változnak. Meg sok fájlból húzza így is a dolgokat.
Szóval akkor ezek szerint erre makró kéne. Arra van valami ötlet?
-
spe88
senior tag
Attól nem kell tartani, hogy belenéznek a kódba. 3D-konstrukcióval foglalkozunk, ha a kollégáknak csak megemlíted, hogy el kell indítani az Excelt, habzó szájjal esnek le a székről és rohamot imitálnak.
Ezért kell minél egyszerűbbre csinálni, hogy semmit ne kelljen írogatniuk stb.
Viszont kipróbáltam a kódot: átugrok az adott fülre kéri is a jelszót, ahogy én azt szeretném viszont látok mögötte mindent ugyanúgy.
A célom az lenne, hogy ne lehessen látni a munkalapot, nem az, hogy ne javíthasson bele valaki.
És a neked ehhez semmi közöd bezárása után bármit tudok amúgy írni a lapra.Valamit gondolom rosszul adtam meg.
Ez a kód (sajnos mást is futtatni kell induláskor)
Private Sub Workbook_Open()
Set ASH = ActiveSheet
Sheets("HELP_DATA").Select
Columns("E:E").Select
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Add Key:=Range("E1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("HELP_DATA").Sort
.SetRange Range("E2:E601")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("HELP_DATA").Select
Columns("G:G").Select
Range("G2").Activate
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Add Key:=Range("G2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("HELP_DATA").Sort
.SetRange Range("G2:H601")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
End With
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Munkalap aktiválásakor mengnézzük, hogy az új munkalap a védendő-e:
If Sh Is Worksheets("Output") Then
'Ha a védendő, akkor jelszót kérünk:
If InputBox("Jelszó:") = "ezaz" Then
'Ha jó a jelszó, engedjük az aktívvá tételt,
'és elmentjük új aktívként
Set ASH = ActiveSheet
Else
'Ha rossz, akkor:
MsgBox "Ehhez a laphoz Neked semmi közöd!!"
'Visszaállítjuk az előző munkalapot aktívnak:
ASH.Activate
End If
End If
End SubKöszi
-
-
stigma
addikt
(#35499) Louro,(#35500) sztanozs : Köszi a gyors választ mindkettőtöknek.
Sajnos mindenhol ponttal használom és írtam emg a makró kódot, mert erre nem is gondoltam.
Területi beállításokat néztem, és amygar van beállítva midenhol, éééé.hh.nn formátum, területnek a magyar van belőve.Sajnos a nyelvezet az Ecxel-ben más, mert a nyelvezete és a képletek magyar a menüben, viszont a VBA német nyelvű (muntinál ahol dolgozom,német a kötelező nyelv)
Megpróbálom majd átírni úgy, hogy megegye mindkettőt, és lehet kötőjelet fogok alkalmazni.
/ jelet megeszi a 2013, 2010 nem.
-
Sajna olyan opció nincs, hogy csak a rövid adatot írom be az adott mezőben és az Excel automatikusan megcsinálja az egész hiperhivatkozást.
Igazából annyi van, hogy egy megrendelőlapot kell létrehoznom és egy külső cég webshopjában lévő cikkekre kellene rámutogatni. Eléggé gány megoldás, de sajna az IT teljesen használhatatlan a cégnél.
Megcsináltam az általad írt utolsó variációt és tökéletesen működik.
Köszönöm a segítséget! Jár a virtuális sör, vagy csoki.
-
Huhúúú!
Köszi Hétfőn ki is próbálom, már csak 3 perc van hátra melóból, szóval ma már késő belekezdenem!
Remélem a hyperlink is okosan másolódik formátum másoláskor, pl ha a cella jobb alsó sarkából csinálom azt.Na hétfőn újra lesz 3 órám a táblázattal bíbelődni, akkor megnézem melyik lenne a legjobb megoldás ezek közül.
Köszönet érte!
-
Grodd
tag
" Először az volt, hogy rengeteg excel-t kellett feldolgoznom. Ugyanazzal a metódussal. Itt rákérdeztem és a makrót ajánlották. Rávezettek. Elsőként a makrórögzítőt használtam, majd értelmeztem a kódot. (Ez időt igényelt, de később megtérült, hogy értettem is a kódot.) Majd elkezdtem újabb célokat kitűzni. Ne kelljen betallózni a fájlokat, hanem egy mappa alatt levő excel fájlokat dolgozzon fel. "
Hát ez is egy olyan dolog, ami power query-vel pár egérkattintás, " kódolni" egyáltalán nem kell
Egyébként a régi stackoverflow-s szakik is kezdenek átállni pqueryre VBA-ról. Persze nem mindenben tudja kiváltani a pquery a VBA-t, pl eseményvezérlésre, user formokra marad a VBA. -
Louro
őstag
Nagyon tákolt, de működő megoldás:
Range(Cells(BASE_INFORMATION_IDX + 11, REPORT_MONTH_IDX), Cells(BASE_INFORMATION_IDX + 11, REPORT_MONTH_IDX)).Formula = _
"=SUMPRODUCT(" & Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5)).Address(0, 0) & ":" & _
Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX), Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX)).Address(0, 0) & "," & _
Range(Cells(BASE_INFORMATION_IDX + 10, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 10, REPORT_YEAR_IDX + 5)).Address(0, 0) & ":" & _
Range(Cells(BASE_INFORMATION_IDX + 10, REPORT_MONTH_IDX), Cells(BASE_INFORMATION_IDX + 10, REPORT_MONTH_IDX)).Address(0, 0) & "/" & _
"SUM(" & Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5)).Address(0, 0) & ":" & _
Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX), Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX)).Address(0, 0) & "))"Csak gondoltam egyből lehetne Application.SumProduct-tal is megoldhatnám, hogy egységes, "szép" képet mutasson a script.
-
batmanéhes
tag
én nem tapasztaltam, hogy _teljes_ sor / oszlop formázástól észlelhetően nőtt volna a méret.
ennek szép példája az, amikor kitörlöd a használt tartományon túli összes sort és oszlopot, és újra normális méretű lesz a file, pedig a formázások benne maradnak.
persze lehet, hogy vannak ilyen esetek is, de inkább a korábban bemásolt adatok mindenféle formázása szokta megdobni. meg amik már említve lettek. leginkább meg az, hogy már-már saját magával is kompatibilis.
-
sztanozs
veterán
A hivatalos Excel (XML) szabványban benne van a rendes sor/oszlop alapú formázás, de plusz számítási igény miatt sajna ezt nem használja az excel (illeve, ha van valami módosítás, akkor a cella alapú formázás a fallback)... Azért hasznos is tud lenni a feltételes formázás.
Most is épp egy többszörös szűrés alapú kiválasztásos workseet-et kellett összedobnom, ahol named range alapú (erősen számolós) feltételes formázás van. Enélkül egyszerűen nem lehet rendesen kitölteni a munkalapot. -
Louro
őstag
Adott egy mappastruktúra, ami év/hónap/nap.xls (Pl.: 2015/08/01.xls , 02.xls, 03.xls , 04.xls .......)
Makróval fel tudnám dolgoztatni, na meg én egybe is gyúrnám az Exceleket meg nem nagy adattartalmúak.
De mivel nem szeretnének makrót, akiknek kellene és a napokból szeretnének FKERES-ezni. (Cikkszámra szűrve FKERES-t végezni.) Gondoltam volna, hogy egy új Excel A1-be beírnám, hogy Év, A2-be, hogy Hónap, majd az B1-be beírják, hogy '2015' (aposztróf nélkül
), majd B2-be, hogy '08' .
A táblázat fejléce napok lennének 01-31-ig. (D1-től)
Függvényt másolva azt csinálnám D2-ben, hogy a fájl helyének hivatkozásába változót tennék. Ahogy lentebb is írtam. =FKERES("valami";'blablabla\" & $B$1 & "\" & $B$2 & "\[" & D$1 & ".xls]Munka1'!$B$1:$C$50000;2;0)
És ezt oldalra/le elhúzva az Excel másolná a függvényt úgy, hogy ne kelljen megnyitni, hogy elvégezze a keresést.
Lehet így zavaros. Többször mfutottam neki ennek a kérdéskörnek, de ha nem érthető, akkor ok. Maradok a fájlmegnyitogatós, makrós megoldásomnál. Aki meg segítséget kért, marad a manualitás. Bár lehet azóta meg is csinálták.
-
ueva
csendes tag
Szia!
Sajnos a kulcsszavas ötlet nem működik.
Ez a példa csak egy egyszerűsített változata az eredeti táblázatnak. Abban több száz típus van és nem csak egyféleképpen elírva, vagy elhibázva. Van olyan, amelyikből javítás után 5 egyforma sor van.
Az ÁTLAGHA fv.-re én is gondoltam, de egyelőre még nem tudom így használni. -
scott_free
senior tag
igen, egy feltétel csak egy lehet, kettőt már ÉS-sel, VAGY-gyal lehet összekapcsolni.
de ide nem is kell, elég egymásba ágyazni a két szélső értéket, és a középső feltételt ki is lehet hagyni:
=HA(K6<=10000000;10;HA(K6>=20000000;0;5))
(ha 10M-nál kisebb, akkor 10, ha nem, akkor megnézi, hogy 20M-nál nagyobb-e, ha igen, akkor 0, ha nem, akkor meg nyilván 10M és 20M között van, tehát 5.)
-
-
lappy
őstag
Ha jól értem a ppt-be szeretnél illeszteni egy dinamikus excel diagramot amit egy xls fájlban van és ez idő közben változik
a megoldás -
Fferi50
Topikgazda
Szia!
A VBA-ban van olyan, hogy ODBCErrors gyűjtemény, amelynek része az ODBCError objektum.
Ha a lekérdezés frissítése után az ODBCErrors.Count=0 akkor nem volt hiba. Egyébként pedig az egyes ODBCError objektumok tartalmazzák a hiba adatait (pl. ErrorString,SqlState).
Legalábbis ezt állítja a VBA help.Nyilván a hibakezelést "kézbe" kell venni, hogy ne a VBA kiabáljon ki a hiba miatt.
Üdv.
-
Des1gnR
őstag
Szöveg alapból, de azt hiszem, hogy meg van a hiba.
Ha rámegyek egy + jelre, akkor a szerkesztőben ezt látom: '+, a negatívnál szintén: '-
Ha cserélni akarom vagy rákeresek, akkor így nem találja: '+ csak + ként.
Mit tudok ezzel kezdeni? Ha 1-esre cserélem, akkor '1 lesz a helyén. -
Gravity1234
tag
Bocsanat, rossz infokat adtam meg....
Arra lenne szukseg, hogy:
- Adottak viszonyitasi pontok %-ban (0,25,50,75,100)
- Vannak szamaim, random jelleggel (amik egyebkent meg lehetnek nem egesz szamok is)Azt szeretnem ha a random szamok melle (amiket onmagaban is mar kerekitek) rendelne egy a fenti viszonyitasi pontokban meghatarozott %-ot, azaz hova esik az adott szam es ily modon kerekites ez is.
Pl:
5 (0 es 25% kozott a feletol lefele esik tehat akkor 0%-ba tartozik)
12,5 (0 es 25% kozott pont a fele legyen akkor felkerekitve 25%)
37,6 ( legyen maga a random szam is felkerekitve mar 38-ra, es akkor a 38 a 25 es 50 koze esve 25%-ot kapjon)Es angol fuggvenyekkel, magyart nem hasznalok...
-
Fferi50
Topikgazda
Szia!
Próbáld így:
Worksheets("Monthly").Range(Worksheets("Monthly").Cells(2, REPORT_YEAR - 12),Worksheets("Monthly"). Cells(15, REPORT_YEAR))
Akkor ugyanis, ha nem írod be a "teljes címet", az aktív lapról veszi az információkat a program.
(Ilyeneket én is szívtam párszor...)A második eset azért hibás szerintem, mert nem deklaráltad előtte a TestRange változódat, ezért az variant típusú és nem range (bár range az amit hozzárendeltél).
Üdv.
-
azopi74
addikt
Akkor az eredeti kérdére válaszolnák először:
"De.....mert kellenek a kihívások. Van arra függvény, hogy X és Y tengelyen is nézzek DARABHATÖBB-bel?
Pl: =DARABHATÖBB(2:2;HÓNAP(MA());B:B;"ERF")"Erre írtam, hogy lehet, de a legelegánsabb a sumproduct megoldás:
ez lenne a jó:
=SUMPRODUCT((2:2=MONTH(TODAY()))*(B:B="ERF"))
magyarul
=SZORZATÖSSZEG((2:2=HÓNAP(MA()))*(B:B="ERF"))
Viszont így akármilyen brutálisan el vagy eresztve RAM-mal, kifogynál a memóriából, egy 1048576 soros, 16384 oszlopos .xlsx esetén. (akkor is , ha a countif-es megoldást választanád). Egy korlátozott 65536 soros xls esetében még elmegy, de akkor is brutál lassú.
Ráadásul, gondolom plusz feltételt szeretnél megadni a cella értékére vonatkozóan is (a fenti csak simán összeszámolja a cellákat). Amit persze csak úgy tudsz megoldani, amennyiben ragaszkodsz a teljes munkalap vizsgálatához, ha egy külön sheetre teszed a képletet, pl így (ha a 0-nál nagyobb cellaértékúeket akarod összeszámolni):
=SUMPRODUCT((Sheet1!2:2=MONTH(NOW()))*(Sheet1!B:B="ERF")*(Sheet1!1:65536>0))
=SZORZATÖSSZEG((Munka1!2:2=HÓNAP(MOST()))*(Munka1!B:B="ERF")*(Munka1!1:65536>0))
És ez is persze csak akkor műxik, ha xls a cucc, és akkor is kell azért hozzá RAM, nekem 16 GB mellett is elgondolkozik egy darabig.
Szóval akármennyire is ragaszkodsz a teljes munkalap (összes sor, összes oszlop) vizsgálatához, felejtsd el, és ilyen hivatkozásokat, mint a 2:2 vagy a B
ne használj ilyesmi függvényekben, ha használhatóvá akarod tenni a táblát.
"Ráadásul mivel elég sok függvény van már így az excelben (1-2 perc egy-egy frissítés)"
Nem a sok függvény miatt tart ilyen sokáig, hanem a fent említett teljes soros, teljes oszlopos, teljes munkalapos vizsgálatok miatt. De mondom, ezt küszöböld ki!
"Az a lenne a cél, hogy a különböző csoportokat tudjam mérni. Ha érkezik tag és beszúrják ne legyen baj. (Ne fix range-ek legyenek a függvényekben.) "
Határozz meg egy ésszerű korlátot az oszlopok és sorok számára, és úgy csináld.
Pl, ha tudod, hogy max 100 sor van, és max K-ig tejednek az oszlopok, akkor
=SUMPRODUCT((C2:K2=MONTH(NOW()))*(B3:B100="ERF")*(C3:K100>0))
Persze minél nagyobb maximális sorszámot és oszlopszámot határozol meg, annál erőforrás igényesebb a kalkuláció. Beszúrás nem okoz gondot, viszi magával a tartomány hivatkozást. A legegészségesebb megoldás a tábla használat lenne (strukturált hivatkozással) tartományhivatkozás helyett, az teljesen robusztus, és meg sem kottyan neki semmilyen táblabővítés, és a memóriádat is csak a tábla terjedelméig zabálja (csak a tábla hatóköre alá tartozó cellákat vizsgálja) De ezt csak normálisan strukturált szerkezetű forrásadatok esetében lehet alkalmazni, márpedig a példádból adódó teljes kuszaság miatt ez az opció ki van lőve.
Bár én kedves gyengébbik nembe tartozó kollégáidat inkább meggyőzném arról, hogy a forrásadat legyen inkább strukturált, és utána abból lehet aztán színes/szagos outputokat csinálni pivotok, meg egyéb eszközök használatával, ahol akár már lehet cellákat egyesítgetni, meg minden hajmeresztő dolgokat művelni. Talán egy bonbon és néhány hízelgő szó beválik -
Fferi50
Topikgazda
Szia!
Most aztán már végképp nem világos, mi lenne a feladat...
Ha jól értem, egy "összevissza" vezetett, lényegében egyetlen logikát tartalmazó (mármint csoporthoz rendeli a tagokat) munkalapról kellene egy rendezett táblázatot csinálni.
Ha most töltődik a táblázat, akkor eseménykezelésben nézném meg, hogy az új jövevény hova tartozik és attól függően szúrnám be a "kimutatás" táblába. De úgy látom, még naponta is figyelni kellene, ki mit csinál, amit szintén valami ilyen módon oldanék meg.
Ezt az eseményvezérelt táblát adnám oda "folyamatos kitöltésre" és a beíráskor kvázi azonnal aktualizálódna a rendezett táblád.
Egy szöveges példa:
Bejön Jocó az I csoportba 21-én: beírja, hogy Jocó - eseménykezelés - megnézem, hogy melyik csoport van fölötte - a saját táblámba beszúrnék egy sort az adott csoport végére és beírnám oda Jocót. Majd miután beírta 21-re a feladatot -eseménykezelés - beírja Jocó sorába a 21-hez a feladatot szintén.
Az eseménykezelést a Worksheet_Change eseménykezelő végezné a "zavaros" táblán történtek alapján.Üdv.
-
Fferi50
Topikgazda
Szia!
"A magyar függvényneveket meg én is utálom."
"Bár a CONCATENATE vs. ÖSSZEFŰZ esetén a magyar javára billen a mérleg"
Ennél az egy "függvénynél" - és szándékos az idézőjel - aztán végképp nem indokolt mérleget billegtetni, mert helyette az & jelet kell használni, egyszerűbb és sokkal rövidebb.
Üdv.
-
azopi74
addikt
Van rá módszer, de nem így.
Ha mindenképpen countifs vagy countifs függvényt (darabhatöbb és darabha -aki kitalálta ezeket az idióta magyarításokat, azzal szívesen elbeszélgetnékakarsz használni, akkor index/match kombóra is szükséged lesz, de a sumproduct (szorzatösszeg) elegánsabb. Ha nem tudod, mire gondolok, szólj.
-
bteebi
veterán
Szia!
Minden név egymás alatt van, egy oszlopban, vagy például az "A" sorban van az, hogy "Csoport neve", és mondjuk a "B"-ben vannak a nevek? A "Csoport neve" fixen szerepel a cellákban (tehát pl. "1. Csoport neve", "2. Csoport neve", stb.)? Ha igen, akkor a "bal" vagy a "jobb" függvénnyel szűrve lehetne keresést végezni a DARABHATÖBB függvénnyel. Mindenesetre makró nélkül szerintem csak nagy gányolással menne, nem lehetne rendesen automatizálni. Makróval viszont megoldható, bár jó lenne látni egy mintatáblát tesztadatokkal (képként beszúrva is jó, csak látszódjon az elrendezés).
Új hozzászólás Aktív témák
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Tőzsde és gazdaság
- Facebook és Messenger
- Kínai és egyéb olcsó órák topikja
- Filmvilág
- Bluetooth hangszórók
- One otthoni szolgáltatások (TV, internet, telefon)
- Autós topik
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Vírusirtó, Antivirus, VPN kulcsok
- Új, bontatlan World of Warcraft gyűjtői kiadások
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Eladó Apple iPhone Xr 64GB fekete / ÚJ KIJELZŐ / 100% AKKU / 12 hónap jótállással!
- 3DKRAFT.HU - 3D NYOMTATÁS - AZONNALI ÁRAJÁNLAT - GYORS KIVITELEZÉS - 480+ POZITÍV ÉRTÉKELÉS
- AKCIÓ! Lenovo Thinkpad T14 Gen 3 üzleti notebook - i5 1245U 16GB RAM 512GB SSD Intel Iris XeW11
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RX 6600 8GB GAMER PC termékbeszámítással
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest