-
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
-
Emod
kezdő
válasz
dave0825 #53754 üzenetére
Ha nem akarsz makrózni:
- Segédoszlop hozzáadása sorszámmal
- utolsó sorszám alá 22, ha a 22. sor után kell az első üres
- az új 22 cellában állva: kitöltés, sorozat, sorok, 13 lépés, vége a legnagyobb sorszám legyen
- sorszám oszlop alapján sorba rendezés
- valamelyik másik oszlopban rászűrni az üres cellákra, majd ezekben a sorokban sorszám törlése, szűrő eltávolítása -
karlkani
aktív tag
válasz
dave0825 #53754 üzenetére
Szia!
Ezt találtam, kipróbáltam, működik. Kijelölöd az első sort, utána Ctrl+Shift+↓, majd futtatod a makrót.
Sub SelectEveryThirdRow()
'Created by Sumit Bansal at https://trumpexcel.com/
Dim MyRange As Range
Dim RowSelect As Range
Dim i As Integer
Set MyRange = Selection
Set RowSelect = MyRange.Rows(10)
For i = 10 To MyRange.Rows.Count Step 13
Set RowSelect = Union(RowSelect, MyRange.Rows(i))
Next i
Application.Goto RowSelect
End Sub -
Delila_1
veterán
válasz
dave0825 #48828 üzenetére
Szia!
Szerintem ezt csak makróval lehet megoldani, de akkor sem biztos, hogy értelmes szót tudsz kihozni az A1:I1 tartományban megadott betűkből.
A3-tól kezdve lefelé íródnak be a "szavak".
A két makrót másold be egy modulba. A csillagokkal jelölt sorban írd át a 15-öt nagyobbra, ha több, vagy kevesebb szót akarsz kihozni.
A Veletlen makrót kell indítanod.Sub Veletlen()
Dim oszlop As Integer, sor As Integer
Range("A3:A100") = ""
Range("N2:V2").FormulaR1C1 = "=COUNTIF(R1C14:R1C22,R[-1]C)"
For sor = 3 To 15 '******** a 15-öt írd át
Random
For oszlop = 14 To 22
If Cells(2, oszlop) > 1 Then
oszlop = 0: Random
End If
Next
Range("N1:V1").Copy
Range("N1").PasteSpecial xlPasteValues
For oszlop = 14 To 22
Range("A" & sor) = Range("A" & sor) & Cells(1, Cells(1, oszlop))
Next
Next
Range("N1:V2") = ""
Cells(1).Select
Application.CutCopyMode = False
End Sub
Sub Random()
Range("N1:V1") = "=RANDBETWEEN(1,9)"
End Sub
-
Mutt
senior tag
válasz
dave0825 #43624 üzenetére
Szia,
A B:C segédoszlopokból hiányoznak a képletek a 101-es sortól.
Ha nem akarsz segédoszlopokkal jatszánai, akkor ezek a lehetőségek vannak:
1. Office365-ben van UNIQUE(EGYEDI) függvény az egyedi nevek előállításához.
2. Pivot (Kimutatás) is tud segíteni. Ez nem frissül automatikusan, de be lehet állítani, hogy a fájl megnyitásakor frissüljön.
3. Tömbfüggvénnyt is lehet használni.
üdv
-
Mutt
senior 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
-
Delila_1
veterán
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.
-
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.
-
dave0825
őstag
válasz
dave0825 #40307 üzenetére
Ha valaki esetleg akarna még ilyet, így csináltam:
HA(ÜRES(L2);"";(IDŐ(0;JOBB(HELYETTE(L2;"p";" ");4);0)+KÖZÉP(HELYETTE(L2;"ó";SOKSZOR(" ";100));4;100)/24+(BAL(L2;KERES("n";L2;1)))))
L2-től lefelé vannak a "0n 0ó 0p" formátumok. Külföldi fórumon találtam hasonlót, abból lett ez.
-
Mutt
senior tag
válasz
dave0825 #37975 üzenetére
Szia,
A képlet beírása után Ctrl+Shift+Enter -t nyomj, ekkor az Excel a képletet kapcsos zárójelek közé teszi és engedi egyszerre több adaton is elvégezni a műveleteket.
Az általad kiemelt rész ugyanazt csinálja, mint amit Delila javasolt, vagyis próbál létrehozni egyedi értékeket, hogy meg tudjuk különböztetni az ismétléseket.
üdv
-
Mutt
senior tag
válasz
dave0825 #37966 üzenetére
Szia,
Ha nem tudsz segédoszlopot felvenni, akkor ezzel a tömbfüggvénnyel is menni fog:
Nevek:
=INDEX($A$11:$M$85;HOL.VAN(ÖSSZESÍT(14;6;$M$11:$M$85-SOR($M$11:$M$85)/100000;SOROK($C$91:$C91));$M$11:$M$85-SOR($M$11:$M$85)/100000;0);1)
Túlórák:
=INDEX($A$11:$M$85;HOL.VAN(ÖSSZESÍT(14;6;$M$11:$M$85-SOR($M$11:$M$85)/100000;SOROK($C$91:$C91));$M$11:$M$85-SOR($M$11:$M$85)/100000;0);13)
További lehetőség a Kimutatás (Pivot) használata, ahol túlorák szerint csökkenő sorrendbe rendezed az eredményt és csak a Top 3-at iratod ki.
Ugyanez a technika Power Query-vel is megy.
üdv
-
Delila_1
veterán
válasz
dave0825 #37966 üzenetére
Felveszel egy új oszlopot. Itt az M oszlop értékéhez hozzáadsz egy nagyon kicsi számot, a következő módon.
=M11+SOR()*0,000001
Így az egyes sorokban lévő azonos számok a sor számától függően különböző értéket kapnak. Az utoljára írt képletedben a HOL.VAN függvény ebben az új oszlopban keressen.
Új hozzászólás Aktív témák
Hirdetés
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Samsung Galaxy A41 64GB Kártyafüggetlen, 1Év Garanciával
- KIÁRUSÍTÁS - REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- BESZÁMÍTÁS! ASRock B550M R7 5700X 32GB DDR4 512GB SSD RTX 3070 OC 8GB NZXT H400 fekete Enermax 750W
- Bontatlan SteelSeries QcK 3XL egérpad
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest