- VoLTE/VoWiFi
- Bemutatkozott a Poco X7 és X7 Pro
- Milyen okostelefont vegyek?
- Xiaomi 14T Pro - teljes a család?
- Honor Magic6 Pro - kör közepén számok
- Android alkalmazások - szoftver kibeszélő topik
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Honor 400 Pro - gép a képben
- Samsung Galaxy S24 FE - később
- Motorola Edge 50 Neo - az egyensúly gyengesége
-
Mobilarena
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
-
Mutt
senior tag
válasz
Dr. Mózes #54329 üzenetére
Szia,
Szokni kell a Power Pivot-ot. Ezek szerint csak az volt a gond, hogy a képlet nem volt teljes. Én többnyire el kezdem gépelni a függvény vagy tábla/mező nevet és kiválasztom a listából egy TAB-ot nyomva.
Amire figyelni kell, hogy Power Pivot-ban a függvények csak angol nyelven vannak.
Sok munkalap függvénynek megvan a DAX-os változata, de eltérően műkődnek.Nem tudom, hogy az UDEMY-s oktatás csak Power Pivotról (és DAX-ról) szól-e vagy más Power tool is említve van (főleg Power Query, esetleg Power Automate), de a DAX nehéz.
üdv
-
Dr. Mózes
aktív tag
válasz
Dr. Mózes #54328 üzenetére
Szerk.:
MOST MEG JÓ! A függvényválasztóból elindítottam az IF függvényt, ott már ki tudtam választani az oszlopot. Próba képen visszavontam az egészet és kézzel beírva is simán működött a képletezés...Szerk2.:
Helyes metódus: Beírom a képletet majd zárójel. Ha botor módon egyből az oszlopra kattintok, akkor hiba, viszont ha előtte az egérrel oda kattintok a zárójel utáni részre, akkor minden rendben. -
Mutt
senior tag
válasz
Dr. Mózes #54320 üzenetére
Szia,
Power Query-ben nincs DATEDIFF, ott a Duration függvények használhatóak. Ezekben DateTime és Date adattípusok használhatóak. pl.
=Duration.Days([End]-[Start])
A dátumok számként vannak tárolva, a regionális beállítás csak az év/hó/nap/óra/perc/másodperc helyes sorrendjének megadására szolgál. Ha sikeresen feldolgozta az értéket, akkor onnantól már számként műkődik.
Azt írtad, hogy amerikai dátumokat dolgoztatsz fel magyar Excelben ott meg kellene adnod az USA beállítást, hogy helyes értékek legyenek.
DATEDIFF (magyar Excelben DÁTUMTÓLIG) egy rejtett munkafüzet képlet, amelynél az első paraméter a kezdő, a második a végdátum. A harmadik pedig hogy milyen egységben (eltelt napok, hónapok, évek stb) jelenítse meg a két dátum különbségét. Itt annyi kavarás van, hogy magyar Excelben is az angol rövidítéseket ("d", "m", "y") kell használni.Power Pivot-ban a DATEDIFF már a DAX-ot használja. Ott a hibaüzeneted más hibára utal.
Tippre az lehet a gond, hogy van olyan dátumod ami 1900 előtti.Excel munkalapon az ilyen dátumok szövegek. Ha ezt közvetlenül töltöd be Power Pivotba, akkor nem minden sorod lesz dátum típus amire kiakad a DATEDIFF.
Egy ISNUMBER([dátum oszlopod]) megadja hol van hiba.Power Pivotba Power Query-vel célszerű adatokat betölteni, ilyenkor már nem él az 1 millió soros limit (ami egy munkalapon lehet). Dátumoknál több évszázadot is vissza lehet ott már menni gond nélkül. Power Pivot/Power Query Krisztus utáni 100. évtől felfelé műkődik (persze 1582 előtt sok értelme nincs).
A másik tippem az lehet, hogy a [YEAR] és a [Mai nap] közötti éveket akarod, csakhogy a YEAR nekem szövegnek tűnik (balra van rendezve) és mégha szám lenne akkor se lenne jó, több dolog miatt. Ha ez kell akkor a számított oszlop, csak ennyi
=YEAR([Mai nap])-[YEAR]
üdv
-
Fferi50
Topikgazda
válasz
Dr. Mózes #54324 üzenetére
Szia!
Bocsi, úgy látom 2 malomban őrölünk. A Power Qery nem azonos a Power Pivottal. Te a hibaüzenet szerint ez utóbbival dolgozol. Ebben valószínűleg nincs DateDiff függvény. Nem igazán ismerem, gondolom más szintaktikát használ ez is.
Egyébként mit szerettél volna a DateDiff függvénnyel kiszámítani?
Üdv. -
Fferi50
Topikgazda
válasz
Dr. Mózes #53355 üzenetére
Szia!
Rájöttem a probléma okára.
A makró közepét így módosítsd légy szíves:For xx = 0 To UBound(alap)
If Val(Replace(alap(xx), ",", ".")) <> 0 Then ' csak ez a sor módosul!!!
If kiad(UBound(kiad)) = 0 Then
kiad(UBound(kiad)) = Val(Replace(alap(xx), ",", "."))
Else
ReDim Preserve kiad(UBound(kiad) + 1): kiad(UBound(kiad)) = Val(Replace(alap(xx), ",", ".")) 'szamkinyer = szamkinyer & ";" &
End If
End If
Next
Üdv.
-
Fferi50
Topikgazda
válasz
Dr. Mózes #53349 üzenetére
Szia!
Ezt a makrót másold be egy modulba:
Function szamkinyer(rng As Range) As Variant
Dim alap, xx As Integer, kiad()ReDim kiad(0)
alap = Split(rng, " ")
For xx = 0 To UBound(alap)
If Val(alap(xx)) <> 0 Then
If kiad(UBound(kiad)) = 0 Then
kiad(UBound(kiad)) = Val(Replace(alap(xx), ",", "."))
Else
ReDim Preserve kiad(UBound(kiad) + 1): kiad(UBound(kiad)) = Val(Replace(alap(xx), ",", ".")) 'szamkinyer = szamkinyer & ";" &
End If
End If
Next
szamkinyer = kiad 'Split(Mid(szamkinyer, 2), ";")
End Function
Úgy működik mint egy beépített függvény, tehát a használata:
=szamkinyer(A1)
Eredmény: egymás melletti két cellába kiírja az A1-ben található számokat.
FONTOS követelmény, hogy a számok szóközök között legyenek, úgy ahogyan a mintádban is írtad.
Mutatom az eredményt:
Üdv.
Ps. természetesen makróbarátként kell menteni.
Még valami: A függvény alkalmas arra is, hogy egy szövegből bármennyi - szóközök között levő - számot kiszedjen egymás melletti cellákba! -
Fferi50
Topikgazda
válasz
Dr. Mózes #53343 üzenetére
Szia!
Lappy javaslatát egy picit módosítanám, mert még nem ad teljesen megfelelő eredményt az első számra:
Az első képletet próbáld így:=BAL(SZÖVEGÖSSZEFŰZÉS("";IGAZ;HAHIBA(ÉRTÉK(KÖZÉP(KÖZÉP(A1;SZÖVEG.KERES(" ";A1)+1;HOSSZ(A1));SOR(INDIREKT("1:"&HOSSZ(A1)));1));""));3)
Ezzel elkerülhető, hogy a megnevezésben levő számok bekerüljenek a MIN értékbe.
Feltétel, hogy a megnevezés után legyen mindig szóköz.
Ha van SZÖVEGFELOSZTÁS függvényed, akkor a következő képlet a számok hosszától függetlenül adja a két értéket:=SZÖVEGFELOSZTÁS(SZÖVEGÖSSZEFŰZÉS(";";IGAZ;HA((SZÁM(ÉRTÉK(SZÖVEGFELOSZTÁS(A1;" "))));SZÖVEGFELOSZTÁS(A1;" ");"");"");";")
Üdv.
-
-
válasz
Dr. Mózes #53221 üzenetére
Ha hibát kezelsz egy függvénnyel, akkor valami egyértelmű tájékoztató információt kell megjeleníteni a cellában, nem pedig üresen hagyni, hogy látható/olvasható legyen, hogy ott valami nem kerek...
Kg és Liter esetén meg -általában- nincs is szükség kerekítésre, hisz itt lehet 1,23 kg vagy 1,5 liter, amit a kilónkénti/literenkénti egységárral simán fel lehet szorozni (általában így is szokás)
Darabnál nem kerekítünk le (lehetni lehet, csak feleslegesen bonyolítja a képletet), fel meg nem szokás (ez adott esetben gondot is okozhat, mert pl. vagy 1 db csavarod van, vagy 2 db, másfél db csavarod nem lehet. Ha az 1,5-t meg felkerekíted 2-re és az egységárral még összeszorzod, akkor máris nem fog stimmelni a dolog( 1db helyett 2db-nak számoltad el az árát))
Feladata/felhasználása válogatja, de darabszámnál kerekítés függvény, az csak feleslegesen bonyolítja a képletet és adott esetben gondot is okozhat. -
-
Delila_1
veterán
válasz
Dr. Mózes #52949 üzenetére
Makróval lehet megoldani. A makrót a lapodhoz rendeld (lásd a Téma összefoglalóban).
Úgy írtam meg, hogy a mértékegységek a 2. oszlopban vannak, a mennyiségeket a harmadikba írod. AzIf Target.Column = 3 Then
sorban kell átírnod a 3-at annak az oszlopnak a számára, ahova az értékeket írod.Private Sub Worksheet_Change(ByVal Target As Range)
Dim szoveg As String
If Target.Column = 3 Then
szoveg = "#,##0" & " """ & Cells(Target.Row, Target.Column - 1).Value & """"
Cells(Target.Row, Target.Column).NumberFormat = szoveg
End If
End Sub
-
Fferi50
Topikgazda
válasz
Dr. Mózes #51752 üzenetére
Szia!
"Illetve még egy olyan inkább matematikai jellegű kérdésem is lenne, hogy a maradék(19,5;0,1) az miért 0,1? A 19,5 az miért nem osztható 0,1-el maradék nékül?"
Az Excel lebegőpontos számábrázolása a ludas ebben. Pl. 0,3 -al való osztásra 0 maradékot ad...
Ezeket a korlátokat sajnos figyelembe kell venni.
Üdv. -
Fferi50
Topikgazda
válasz
Dr. Mózes #47674 üzenetére
Szia!
Ha van a táblázatodban fejléc, akkor használható az Adatok - Speciális menüpont (leánykori nevén Irányított szűrés).
Ezzel lehet vagy feltétel alkalmazásával is szűrni - minden feltételt külön sorba kell írni.
A szűrés eredménye maradhat helyben és kerülhet máshova is. Ez utóbbi esetben a menüpontot arról a munkalapról kell indítani, ahová az eredményt szeretnéd kapni.
Ilyen párbeszéd ablakot kapsz:
Érdemes egy kicsit a súgóját tanulmányozni.
Üdv. -
Louro
őstag
válasz
Dr. Mózes #26095 üzenetére
Lecsekkoltam és a Cut simán nem jó, hanem előbb "szelektálni" kell a mezőt és a szelektációt kivágni. Bár a kivágás nem akart működni, de lehet azért, mert itthon csak 2007-es van. Ha újabban se megy, akkor a topikguru lesz a kulcs
Kicsit kozmetikáztam. Komment, hibakezelés, képernyőfrissítés kikapcsolása és esetleg ami még mehetne, hogy a végén Range("A1").Activate (ez már tényleg csak "elegancia")
Sub Választó()
Dim LastRow As Integer
LastRow = ActiveSheet.UsedRange.Rows.Count
Range("K1") = "Első operandus"
Range("L1") = "Második operandus"
For i = 1 To LastRow - 1
For j = 1 To LastRow
If Cells(i, 1) + Cells(j, 1) = Range("C1") Then
Cells(i, 1).Select
Selection.Copy
Cells(ActiveSheet.Cells(Rows.Count, "K").End(xlUp).Row + 1, 11).PasteSpecial xlPasteValues
Cells(j, 1).Select
Selection.Copy
Cells(ActiveSheet.Cells(Rows.Count, "L").End(xlUp).Row + 1, 12).PasteSpecial xlPasteValues
End If
Next
Next
End Sub -
Louro
őstag
válasz
Dr. Mózes #26090 üzenetére
Szia,
nem tudom elég -e a rávezetés vagy kód kell -e.
Ahogy én csinálnám: Adott egy oszlop, amiben számok vannak (legyen A oszlop). Először megfognám az A1-et és ciklussal és elágazással a következőt csinálnám.
Első operandusra ciklus
Második operandusra ciklus
Ha A1+Akövetkező = C1, akkor
A1.Cut
Kelső_üres_sor.Paste
Akövetkező.Cut
Kkövetkező_üres_sor.Paste
Ellenkező esetben következő
Ciklus vége.
Ciklus vége.Dim LastRow As Integer = ActiveSheet.UsedRange.Rows.Count
For i = 1 to LastRow-1 (azért minusz 1, mert az utolsó összeadás az utolsó előtti+utolsó)
For j = 1 to LastRow
If Cells(i,1)+Cells(j,1) = Range("C1") then
Cells(i,1).Cut
Cells(ActiveSheet.Cells(.Rows.Count, "K").End(xlUp).Row+1,11).Paste
Cells(j,1).Cut
Cells(ActiveSheet.Cells(.Rows.Count, "K").End(xlUp).Row+1,11).Paste
End if
Next
NextBár mostanában nem VBA-ztam, de asszem valahogy így nézne ki a kódom.
-
Delila_1
veterán
válasz
Dr. Mózes #25431 üzenetére
A G oszlopba kigyűjtöd a C egyedi rekordjait (régebbi verziókban Adatok | Szűrő | Irányított, 2007-től Speciális szűrés).
A kép szerinti képleteket beírod az E, F, és I oszlopokba. Azokat a cellákat törölheted, ahol az I oszlopban HAMIS érték van. Kijelölöd az E2:I2 cellákat, Ctrl+ mínusz jel, cellák eltolása felfelé.
Ez utóbbira lehet írni egy makrót.
Új hozzászólás Aktív témák
Hirdetés
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Eladó Steam kulcsok kedvező áron!
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- LG 42C3 - 42" OLED EVO - 4K 120Hz 0.1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
- Samsung Galaxy Watch Ultra
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest