- Milyen okostelefont vegyek?
- Xiaomi 15T Pro - a téma nincs lezárva
- Milyen hagyományos (nem okos-) telefont vegyek?
- iOS alkalmazások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Fotók, videók mobillal
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Tényleg nem biztos, hogy lesz Galaxy S26 Edge
- Xiaomi 15 - kicsi telefon nagy energiával
- Mindenkire rálicitál az új Oppo kameratelefonja
-
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
nzsolt74 #20112 üzenetére
Hello,
...Az első oszlop 14 soronként ugyanaz, ezekből szeretnék egy új lapon 14 oszlopot fejléccel...
Makrós megoldásod van már, de ezt képletekkel is el lehet érni, mivel az adatod struktúrált.
A lényeg, hogy az új lapodon a második sorban a Név mezőbe a másik lap 1 sorát, a 15-et, a 29-et stb. kell kiíratni.
Ez az alábbi logikával írható le: 14*{0;1;2;3..}+1
Excelben a képleted: =14*(SOR()-2)+1 (2-t kell kivonnunk mert az elsőben fejléc van már)A születési idő a 2, 16, 30 stb. sorokban van, ahol a képlet a fentiektől csak annyiban tér el, hogy nem 1-et, hanem mindig 2-t kell adni az elsőrészhez.
Mivel a név az első oszlopban van, a születési idő a másodikban (és így tovább), ezért ha használjuk az OSZLOP függvényt akkor nem kell nekünk megadni, hogy egyik esetben 1-et, a másikban 2-t stb. kell hozzádni. Vagyis az univerzális képlet: =14*(SOR()-2)+OSZLOP()
Már csak cella hivatkozás kell, amelyre az INDIREKT függvény szolgál.
A végső képlet tehát: =INDIREKT("Masiklap!B"&14*(SOR()-2)+OSZLOP())Ezt másold le jó sokszor, hogy biztos lefedd a másik lapon összes sorát (10000 sor esetén elgé 715 sorba).
A képlet ott ahol üres a cella 0-t fog kírni, ezt el tudod tüntetni ha vizsgálod a SZÖVEG.E függvénnyel, hogy kaptál-e adatot vissza.
üdv.
-
Delila_1
veterán
válasz
nzsolt74 #20112 üzenetére
Egy rövid makró megcsinálja.
Sub Transzponalas()
Dim WS1 As Worksheet, WS2 As Worksheet
Dim sor As Long, tol As Long, ig As Long, ures As Long
Set WS1 = Sheets("Munka1")
Set WS2 = Sheets("Munka2")
WS1.Activate
'Címsor másolása
Range("A1:A14").Copy
WS2.Range("A1").PasteSpecial Paste:=xlPasteValues, Transpose:=True
'Egységek másolása
ures = 2: tol = 1: ig = 14
Do While Cells(ig, 1) <> ""
Range("B" & tol & ":B" & ig).Copy
WS2.Range("A" & ures).PasteSpecial Paste:=xlValues, Transpose:=True
tol = tol + 14: ig = ig + 14: ures = ures + 1
Loop
End SubSzerk.: A Set-tel kezdődő 2 sorban írd át a lapneveket. Munka1 helyett az adatokat tartalmazó lapodat, Munka2 helyett pedig azt írd be, ahova át akarod írni más formában.
Új hozzászólás Aktív témák
- Bomba ár! Lenovo X1 Carbon G7: i5-8365U I 16GB I 512GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- ASUS TUF A15 FA506 -15,6"FHD 144Hz - Ryzen 5 7535HS - 16GB - 512GB -RTX 3050 - Win11 - 4 év garancia
- GYÖNYÖRŰ iPhone 12 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3280, 100% akkumulátor
- GYÖNYÖRŰ iPhone 13 Pro 256GB Sierra Blue - 1 ÉV GARANCIA, Kártyafüggetlen, 100% Akkumulátor,MS3379
- Új és újszerű 17-18 Gamer, irodai, üzleti készülékek nagyon kedvező alkalmi áron Garanciával!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest