-
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
- Automata kávégépek
- AI, GitHub Copilot, Claude, Gemini
- Honor Magic6 Pro - kör közepén számok
- Facebook és Messenger
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- EA Sports WRC '23
- Azonnali informatikai kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- OLED monitor topic
- Apple MacBook
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Microsoft és egyéb dobozos retro szoftverek
- The Elder Scrolls Online Imperial Collector s Edition
- Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, 3-11. gen.
- Huawei Watch 5 Titanium 46mm
- HP EliteBook 830 G8 13,3" i7 -1185 G7, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7670 i9-12950HX 32GB RAM 1TB SSD Nvidia RTX A3000 12GB 1 év gar
- Keresünk Galaxy S22/S22+/S22 Ultra
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50