-
Fototrend
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
-
dave0825
őstag
Üdv.
Egy újabb kérdésem lenne, ha lehet, ti biztos tudjátok, bár ez már talán bonyolultabb, mint az előző:
Van egy lista, amiben többször előfordul több szöveges cella. Olyan szeretnék, hogy egy másik oszlopba írja ki mindegyik nevet, de csak 1x! Tehet ami többször előfordul, az is csak 1x szerepeljen a 2. listában, ha hozzáadok az 1. oszlophoz egy új elemet, azt írja be a 2. listába, ha újra ugyanazt adom az 1. oszlophoz, akkor ne kerüljön bele újra a 2.-ba, csak 1x.
Így lehet, hogy bonyolult, de itt egy kép, talán jobban érthető. C oszlopot lenne jó képlettel megcsinálni (most csak beírtam magamtól), makrókkal nem szeretném.
[ Szerkesztve ]
Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99
-
B.Sec.
újonc
Sziasztok,
adott egy párszáz soros, dátumokat, neveket, címeket, technikai paramétereket (szöveg és szám), pársoros leírásokat tartalmazó táblázat, amelyet az irodában többen kezeltek 2010-es Excellell. Egy gépről valaki elkezdte Libre Office Calc-cal kezelni ugyanazt a táblát, aztán úgy 2 hónap múlva mindenkinek aki Excellt használ, ez a hibaüzenet jön ki mikor megnyitja.
Bármit írsz be, ugyanez az üzenet.Ha csak bezárnád a hibaablakot, újra előugrik ugyanaz, majd aztán 10 vagy 15 bezárás után kiadja ezt.
Ha elfogadod, akkor:
Ezután már lehet szerkeszteni a táblát, mindössze a cellaméretek jól fel vannak borulva, indokolatlanul nagy magasságok és szélességek keletkeznek.Libre Office Calc továbbra is hibátlanul nyitja meg.
Látott valaki már ilyet, tud megoldást rá?
Köszönök minden segítséget.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz dave0825 #42301 üzenetére
Ha Google Sheets alkalmazásod van, néz meg [itt] a választ.
Ellenkező esetben az Adatok | Adateszközök | Ismétlődések eltávolítása menüponttal tudod alkalmanként kihozni a C oszlopban az egyéni adatokat megjeleníteni.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
dave0825
őstag
válasz Delila_1 #42303 üzenetére
Ezt a menüpontot megtaláltam, viszont ezzel, ahogy írod is, minden új sor hozzáadása után újra meg kell csinálni. A link viszont szerintem rossz, ide hoz vissza a topik végére.
Igazából nekem az lenne a lényeg, hogy minden szót, ami előfordul, tudjam, hogy hányszor fordultam eddig elő az egészben. Ehhez akartam külön kiszedni a 2. oszlopba, és azokat kikerestetni az 1. oszlopból, majd mellé íratni a darabszámot.Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99
-
Pakliman
tag
válasz dave0825 #42301 üzenetére
Szia!
Egy lehetőség:
B1:B akármennyi
cellákba:=DARABTELI($A$2:A2;A2)
C1:C akármennyi
cellákba:=HA(B2=1;SZUMHA($B$2:B2;B2;$B$2:B2);"")
D1:D akármennyi
cellákba:=HAHIBA(INDEX(A:A;HOL.VAN(SOR()-1;C:C;0));"")
A C és D segédoszlopokban vannak a szükséges "számító" képletek, a D oszlop tartalmazza az eredményt.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz dave0825 #42304 üzenetére
A DARABTELI függvénnyel rögtön meg tudod állapítani az egyes értékek darabszámát.
=darabteli(A:A;A1)
Feltételes formázást is alkalmazhatsz az A oszlopra. A képlet
=darabteli(A:A;A1)>1
Ez az általad meghatározott formátummal hozza azokat a tételeket, amik 1-nél többször fordulnak elő az A oszlopban.Szerk.: látom, a darabteli függvényt közben Pakliman is megírta.
[ 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.
-
Mutt
aktív tag
válasz Pakliman #42300 üzenetére
Szia,
Írhatsz egy saját függvényt, amely ellenőrzi a lehetséges kombinációkat.
pl.
Function DateTest(datum As String) As Boolean
Dim helyes_a_datum As Boolean
helyes_a_datum = IsDate(datum)
If helyes_a_datum Then
DateTest = True
Else
DateTest = IsDate(Replace(datum, ".", ". "))
End If
End Functionü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 dave0825 #42301 üzenetére
Szia,
A legegyszerűbb megoldás egy Kimutatás (Pivot) az A-oszlopon. Egyetlen hátránya, hogy nem realtime frissül.
Ha Office 365 Insider-t használsz, akkor van EGYEDI (UNIQUE) vagy SZŰRŐ (FILTER) függvény, amely a duplikációkat veszi ki.
Ha régebbi Excel-ed van, akkor egy tömbfüggvény tudja a fentit helyettesíteni.
ü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
aktív tag
válasz B.Sec. #42302 üzenetére
Szia,
Én nem találkoztam még ilyen hibaüzenettel, de a leírás szerint vagy vmelyik munkalap, vagy elnevezett tartomány neve nem megfelelő.
Nem kezdődhet aláhúzással (ez lesz a gond nálad), nem lehet cella azonosítóval megegyező elnevezés (pl. A1, B12), nem tartalmazhat szóközt vagy \, /, *, [, ], :, ? karakterek vmelyikét.
Megoldás: nyisd meg a fájlt majd Képletek -> Névkezelő (Ctrl+F3) és a szűrőben keress rá a hibás nevekre.
Esetleg használd ezt: http://www.decisionmodels.com/downloads.htm#namemanagerüdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Norbika1493
csendes újonc
Olyan dologba szeretném a segítségeteket kérni, hogy adott egy munkafüzet.(csatolt kép)
Azt szeretném megoldani, hogy ha a terméknél kiválasztom a legördülő listából a terméket akkor a dátumhoz automatikusan kiírja az értéket. MOST() függvényel sikerül, csak az a problémám ha az alatta lévő cellába kiválasztom akkor frissül az egész. Tehát ha kivan választva a termék az ahoz tartozo dátum legyen fix. Következő termék választásnál ne legyen hatással az elözőre. Gyanitom, hogy a MOST függvény a probléma.
Előre is köszönöm a választ.
[ Szerkesztve ]
-
Pakliman
tag
válasz Norbika1493 #42312 üzenetére
Szia!
Ha jól értelmezem a dolgot, akkor az csak VBA-val oldható meg, mert a függvény (MOST()) jövő héten is frissülni fog és az akkori értéket mutatja majd.
Markóval:
A munkalap Change eseményébe kell beírni, hogy ha az adott oszlopban változik egy cella értéke, akkor a meghatározott cellába írja be a dátumot.Private Sub Worksheet_Change(ByVal Target As Range)
'Feltételezzük: Dátum "A" (1.) oszlop, Termék "D" (4.) oszlop
If Target.Column = 4 Then Cells(Target.Row, 1) = Date
End Sub -
dave0825
őstag
válasz Pakliman #42305 üzenetére
és (#42306) Delila_1: Köszönöm, sikerült. Még beleraktam egy
=HA((HAHIÁNYZIK(FKERES(E2;$A$2:$A$100;1);1))=1;"";DARABTELI($A$2:$A$100;E2))
függvényt, összeszámolja, hogy hányszor voltak az értékek, most olyan, amilyet akartam.Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99
-
Fferi50
őstag
válasz Norbika1493 #42312 üzenetére
Szia!
Két lehetőség - makró nélkül - "félautomatikus"
1. CTRL+0 beírja az adott cellába a mai dátumot. Ez nem frissül tovább
2. Ma() függvény előre végighúzva az oszlopon. Amikor beírod a terméket, akkor az adott soron másolás - irányított beillesztés értéket.
Egyébként valóban makró.
Üdv. -
Sutyi73
csendes tag
Sziasztok! Feltételes formázással lehet-e olyat csinálni, hogy ha egy cellába beírunk egy p betűt akkor a cellát egy átlós vonallal húzza át?
-
Delila_1
Topikgazda
válasz Sutyi73 #42316 üzenetére
Laphoz rendelt makróval megoldható.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "p" Then Target.Borders(xlDiagonalUp).LineStyle = xlContinuous
If Target.Value = "o" Then Target.Borders(xlDiagonalDown).LineStyle = xlContinuous
End SubAzért írtam meg "o" bevitelére is, mert nem tudom, melyik irányba szeretnéd dönteni az átlót. "p" esetében /, "o"-nál \.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
3DFan
aktív tag
Sziasztok!
Feltételes formázással szeretnék "megkeresni" egy értéket egy táblázatban , viszont színnel kitölteni az értéket tartalmazó cella egész sorát akarom. Hogyan oldható ez meg? -
ny.janos
tag
Szia!
Kijelölöd a teljes tartományodat (címsort feltételezve a 2. sortól kezdve), majd a formázandó cellák kijelölése képlettel részen belül ezt adod meg:
=$A2=5
ahol:
- $A2: annak a cellának a hivatkozása, amelyben az értékre keresni szeretnél (az oszlophivatkozást azért kell rögzítened, mert a találati sor valamennyi celláját az adott oszlop értéke alapján kívánod formázni),
- 5: a keresendő értéked, amely esetén a sort formázni szeretnéd. Ha nem számról, hanem szövegről van szó, akkor idézőjelek közé kell tenned.Ha adott soron belül bármely oszlopban előfordulhat a keresendő értéked, akkor a feltételes formázás képlete:
=DARABTELI($A2:$M2;45)>=1
ahol:
- $A2:$M2: a tartományod első sora, melyben az értéket keresed,
- 45: a keresendő érték.[ Szerkesztve ]
-
3DFan
aktív tag
válasz ny.janos #42320 üzenetére
Köszönöm!
Oszlop adatait összesítem, egy cellába beírom mely oszlopról van szó aktuálisan (pl. G1).
Az oszlopokba utólag még adatok kerülnek. Szeretném feltételes formázni az aktuális
oszlopot, a formázás kövesse az oszlop kiterjedését. Én dinamikus tartományokat hoztam létre az oszlopokra külön-külön, majd ezek neveit adtam meg a feltételes formázásnál. Ha pl. az első oszlopot összesítem, akkor az első oszlop dinamikus tartomány neve a formázandó
terület, tehát annyi tartomány ill. formázás szükséges ahány oszlop van. Megoldható egy
képlettel a dolog? -
Petium001
csendes tag
válasz Fferi50 #42250 üzenetére
Szia!
Kicsit bővítettem a függvényen, a végén hozzáadja a beszerzési árat,így bruttó összeg lesz a vége. Hogyan tudom megcsinálni, hogy ha egy termék súlya 5 kg alatt van, és az ára 2700 ft alatt, akkor 1,3-as legyen a szorzó, ha nem teljesül a két feltétel egyike, akkor pedig a táblázatban szereplő értéket adja hozzá? Viszont egy olyan gond is van, ha ezek a feltételek teljesülnek, és a végösszeg nem éri el a 8000 Ft-ot, akkor le kell vonni belőle 995 Ft-ot...Próbáltam beírni,de szerintem nem jó a függvény, és a levonásra már tippem sincs...
=FKERES(B1;$I$1:$J$6;2;1)+HA(B1<5;C1*0,3;0)+HA(C1<2700*0,3;0)+C1Petium
-
-
ny.janos
tag
Biztos én vagyok nagyon fáradt, de sajnos nem sikerült megértenem, hogy hogyan is néz ki a táblázatod. Illetve az sem derült ki számomra, hogy a keresett érték, amely előfordulása esetén a teljes sorodat feltételesen formázni szeretnéd, az bármely oszlopban előfordulhat, vagy csak 1 adott oszlopban kell erre az értékre keresni.
Ha megoldható, akkor fiktív adatokkal tölts fel egy táblázatot és szemléltesd, hogy mit szeretnél eredményül kapni, mert így sajnos nem tudok segíteni. -
Delila_1
Topikgazda
válasz Sutyi73 #42324 üzenetére
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "p" Then
With Target.Borders(xlDiagonalUp)
.ColorIndex = 3
.Weight = xlMedium
End With
End If
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.
-
Delila_1
Topikgazda
Ha jól értem, a G3 cellában kiválasztott hónap értékeit akarod összesíteni a H2 cellában. Ehhez nem kell feltételes formázás, csak a tartományok elnevezése szükséges, ahogy már meg is csináltad.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
ny.janos
tag
Szia!
Az általam bemutatott megoldásban nem kell elnevezni az oszlopaidat.
Adat érvényesítést alkalmaztam az N2 cellában.
O2 cella képlete:
=SZORZATÖSSZEG(($A$2:$L$33)*($A$1:$L$1=$N$2))
Ha ezzel megvagy, akkor jelöld ki az adattartományod (címsor nélkül). Az általam bemutatott esetben $A$2:$L$33. Majd formázd táblázatként.
Ha a táblázattá formázással megvagy, akkor újra jelöld ki ugyanezen tartományt a feltételes formázáshoz. A feltételes formázás képlete:=A$1=$N$2
Ahogy a legördülő listából másik hónapot választasz, azonnal mutatja, hogy melyik hónap összegét látod az O2 cellában. Mivel táblázattá alakítottad a tartományt, így új sor felvitelekor O2 képlete és a feltételes formázás érvényességi tartománya is automatikusan bővül.
[ Szerkesztve ]
-
ny.janos
tag
A szorzatösszeg több tömb szorzatának összegét adja eredményül. Klasszikus esete (összegek összesítése egy lépésben), pl.
Jelen esetben az első tömb egy több oszlopos tartomány, míg a képlet második része egy relációs vizsgálat, hogy a címsor mely oszlopban egyezik meg az összesítendő hónappal. Mivel hamis érték a szorzásban 0-át, az igaz érték pedig 1-et jelent, ezáltal csak az adott hónap értékei maradnak meg, amit össze szeretnél adni.
Vagyis tulajdonképpen a képlet a klasszikus esethez képest itt tulajdonképpen egy tömb, melyet egy feltételtartománnyal szűkítünk le, és azok értékeit adjuk össze.Próbálkozz a megértéssel oly módon, hogy a képlet egyes részeit kijelölve használd az F9 billentyűt az érték megmutatásához majd a Ctrl+Z billentyűkombinációt a visszavonáshoz.
-
pentium4
senior tag
Sziasztok,
Van egy oszlopom aminek celláiba időmennyiségek vannak, pl: -1:30 vagy 0:30, formátuma: [h]:mm
Feltételes formázással szeretném színenként jelölni a cellákat, ha 0óra és 0 perc van a cellába akkor zöld, ha 1 nél több perc van akkor sárga, ha 1 percnél kevesebb, vagyis -2:30 akkor pedig pirossal.
Az színbeállítás okés, de gondolom ezt csak képlettel lehet, de az IDŐ(0;1;0)>1 el próbálkoztam de nem ette meg.
KösziP4
-
ny.janos
tag
válasz pentium4 #42336 üzenetére
Szia!
Az idő az excelben tulajdonképpen egy 0 és 1 közötti tört szám. A 0 óra 0 perc 0-nak, míg a 24 óra 0 perc 1-nek felel meg. Ebből következik, hogy 1 óra 1/24-ként, 1 perc 1/1440-ként 1/(24*60) írható le.
Vagyis a feltételes formázáshoz az alábbiakat használd:
- 0 perc formázásához:=$A2=0
,
- 1 percnél több:=$A2>1/1440
,
- 1 percnél kevesebb:=$A2<1/1440
-
Delila_1
Topikgazda
válasz Sutyi73 #42332 üzenetére
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "p" Then
With Target.Borders(xlDiagonalUp)
.ColorIndex = 3
.Weight = xlMedium
End With
Else
Target.Borders(xlDiagonalUp).LineStyle = xlNone
End If
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.
-
logitechh
csendes tag
Sziasztok!
Régen a makró idejére sikerült feloldani a jelszavas védelmet. Most a lekódolás ok de a beillesztés már nem működik
Makró 3 másolás
Makró 2 beillesztésSub Makró2()
'
' Makró2 Makró
'
'
Set WSIlletm = Sheets("Munka1")
WSIlletm.Protect Password:="Jelszo01", UserInterfaceOnly:=True, AllowFormattingColumns:=True ' AllowFiltering:=True
Range("C15").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Sub Makró3()
'
' Makró3 Makró
'
'
Set WSIlletm = Sheets("Munka1")
WSIlletm.Protect Password:="Jelszo01", UserInterfaceOnly:=True, AllowFormattingColumns:=True ' AllowFiltering:=True
Range("C2:O13").Select
Selection.Copy
End Sub[ Szerkesztve ]
-
-
logitechh
csendes tag
bocsi nem értem
-
-
logitechh
csendes tag
-
Delila_1
Topikgazda
válasz logitechh #42339 üzenetére
Elég 1 makró, ami másol és beilleszt. Ha nem volt jelszóval védve a lap, a másolás után akkor is védve lesz.
Sub Masol_Beilleszt()
ActiveSheet.Protect Password:="Jelszo01", UserInterfaceOnly:=True
Sheets("Munka1").Range("C2:O13").Copy
Range("C15").PasteSpecial xlPasteValues
End SubSztanozs: a UserInterfaceOnly:=True a makró részére (és csakis a makró részére) engedélyezi a beillesztést a védett lap zárolt celláiba.
[ 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.
-
-
Delila_1
Topikgazda
válasz logitechh #42343 üzenetére
Ha másik füzetbe akarsz másolni, akkor a célfüzet céllapján kell feloldanod a lapvédelmet a makró számára.
Sub Masol_Beilleszt()
Workbooks("Célfüzet.xlsx").Sheets("Céllap").Protect Password:="Jelszo01", UserInterfaceOnly:=True
Range("C2:O13").Copy 'a másolandó lapról indulsz
Workbooks("Célfüzet.xlsx").Sheets("Céllap").Range("C15").PasteSpecial xlPasteValues
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.
-
logitechh
csendes tag
-
tgumis
tag
Sziasztok
Hogyan tudok táblázatként formázott tartományt törölni. Hiába jelölöm ki az eső sort majd ctrl+shift+le nyil kijelöli majd törlés de a makróban egy rakat sor szerepel
Selection.ListObject.ListRows(1).Delete
annyiszor ahány soros a táblázat
Új hozzászólás Aktív témák
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- Steames kulcsok jó áron eladóak!
- Vírusirtó, Antivirus VPN kulcsok
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )