-
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
-
Mutt
senior tag
válasz
sopruk
#54602
üzenetére
Szia,
A keres függvények csak azonos adattípuson (szám vs. szöveg) műkődnek helyesen.
Amikor két külön helyről van adatsorod, akkor sokszor előfordul hogy a típusok eltérőek (
a számok szövegként vannak tárolva).Esete válogatja hogy mi a jó megoldás, de csinálhatod hogy az XKERES-ben azonnal típuskonverziót végzel:
1) mind a keresett, mind a keresési tartományt szöveggé alakítod azzal hogy üres szöveget fűzől hozzájuk:=XKERES([@Termékkód]&"";csv_data[termékkód]&"";csv_data[összeg])
2) mindent számmá alakítasz egy szorzással:=XKERES([@Termékkód]*1;csv_data[termékkód]*1;csv_data[összeg])Ha a keresési tartomány sok adatot tartalmaz (kb. 50 ezer sor felett van), akkor gyorsabb megoldás, a tartomány mellé egy új oszlopban végzed el a típus átalakítást és azt használod fel kereséshez.
Hasonló technikát lehet használni pl. felesleges szóközök miatti hibák esetén a TISZTÍT függvénnyel.
=XKERES(TISZTÍT([@Termékkód]);TISZTÍT(csv_data[termékkód]);csv_data[összeg])üdv
-
Delila_1
veterán
válasz
sopruk
#54602
üzenetére
Mindkét lapon számokká alakítottam a Termékkód oszlop adatait, elkerülendő, ha itt-ott akadna közöttük szöveg típusú. Egy cellába beírtam egy egyest, másoltam, majd irányítottan, szorzásként beillesztettem a jelölt helyekre. Ezután az FKERES függvény (HAHIBA függvénybe ágyazva) végzi a dolgát.
[data.hu] -
Delila_1
veterán
válasz
sopruk
#45626
üzenetére
Nem rontasz el semmit. Szándékosan írtam úgy, hogy az összesítőbe ne írja be mindenhova a címsort.
Az alábbi sorból hagyd ki az Offset(1)-etSheets(1).Range("A1").CurrentRegion.Offset(1).Copy WB.Sheets(1).Range("A" & ide)Legyen csak
Sheets(1).Range("A1").CurrentRegion.Copy WB.Sheets(1).Range("A" & ide) -
Delila_1
veterán
válasz
sopruk
#45622
üzenetére
Írtam rá egy nyúlfarknyi makrót.
A füzetet, amiben a makró van, Összesítő.xlsm-nek neveztem el. Ha nálad nem ez a neve, az 5 csillaggal jelzett sorban írd át!
Ha nem akarod az előző adatokat törölni, a sok csillagos két sort töröld.
Modulba tedd, ahogy a Téma összefoglalóban olvashatod.Sub Osszemasolas()
Dim WB As Workbook, ide As Integer, FN
Set WB = ActiveWorkbook
Const utvonal = "C:\Kivonatok\"
'Előző adatok törlése *************
WB.Sheets(1).Range("A1").CurrentRegion.Offset(1).ClearContents' *************
Application.DisplayAlerts = False
Application.ScreenUpdating = False
ChDir utvonal
FN = Dir(utvonal & "*.xls*", vbNormal)
Do
If FN <> "." And FN <> ".." And FN <> "Összesítő.xlsm" Then '*****
ide = WB.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row + 1
Workbooks.Open Filename:=utvonal & FN
Sheets(1).Range("A1").CurrentRegion.Offset(1).Copy WB.Sheets(1).Range("A" & ide)
ActiveWindow.Close
End If
FN = Dir()
Loop Until FN = ""
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
válasz
sopruk
#45616
üzenetére
Tisztáznunk kell a fogalmakat. Füzet az a fájl, aminek xls... a kiterjesztése.
Munkalap a füzetben lévő Munka1, Sheet1, vagy bármi más néven elnevezett lap, szokták fülnek is nevezni.
Az egyes lapokon lehetnek a táblázatok, bármelyik lapon több is.
Táblázat az, amit úgy írtál le, hogy a címsoruk azA1:N1tartományban van, és változatos a soruk száma. Ebből a leírásból kiderül, hogy nem 1 lapon vannak, mert akkor nem lehetne azonos helyen a címsoruk.
Most már csak azt kellene tudni, hogy 1 füzetben, 20-30 lapon vannak a táblázatok, vagy 20-30 füzetben.
Ha 1 füzetben, a következő kérdés az, hogy van-e ezeken a lapokon kívül másik lap is – leszámítva az összesítő lapot.
Ha külön-külön füzetben vannak, mi az útvonaluk (melyik mappában vannak), mi alapján lehet azokat megnyitni. -
Delila_1
veterán
Új hozzászólás Aktív témák
- exHWSW - Értünk mindenhez IS
- Motorola Edge 50 Ultra - szépen kifaragták
- Először beszélt bővebben az új Xbox konzolról a Microsoft
- Párduc a gépben: teszten az ASUS ExpertBook Ultra
- Idő előtt felbukkant a Galaxy A57 egy európai webshopban
- Konzolokról KULTURÁLT módon
- Xbox Series X|S
- Facebook és Messenger
- OpenMediaVault
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- Microsoft és egyéb dobozos retro szoftverek
- The Elder Scrolls Online Imperial Collector s Edition
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
- AKCIJÓÓÓ!! Sosemhasznált! HP OmniBook 5 Flip i5-1334U 8GB 512GB 14" FHD+ áthajtós-érintős Gar.: 1 év
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- Bomba ár! Dynabook Portege X30-L-K - i7-1260P I 8GB I 256SSD I 13,3" FHD I Cam I W11 I Gari!
- HIBÁTLAN iPhone 12 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4644
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50