-
IT café
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
-
lappy
őstag
válasz bitpork #33882 üzenetére
{=H2-FKERES(A2&E2,VÁLASZT({1,2},'2compareW'!A2:A333&'2compareW'!E2:E333,'2compareW'!H2:H333),2,0}
ez kiiszámolja a két munkalap téteteli közötti különbséget többszörös feltétel alapján
a felételet az A oszlop és az E oszlop úgy láttam ezek már egyedi azonosítókBámulatos hol tart már a tudomány!
-
Fferi50
őstag
válasz bitpork #33897 üzenetére
Szia!
Úgy látom, ez a verzió nem eszi meg a tartományok konkatenálását
Biztos, hogy tömbképletként (Shift+Ctrl + Enter) vitted be? (Kapcsos zárójelbe kell a képletnek kerülnie.)Akkor az az út járható, hogy csinálsz egy segédoszlopot mindkét táblában, amelybe az =A2&E2 képletet húzod végig az oszlopon.(Pl. az X oszlopba)
Ezután használhatod a
=H2-INDEX('2compareW'!H$2:H$333,MATCH('Men+Women'!X2,'2compareW'!X$2:X$333,0))
képletet.
Üdv.
[ Szerkesztve ]
-
Mutt
aktív tag
válasz bitpork #44208 üzenetére
Szia,
Próbáld ki ezt az UDF-et:
Function RemainingDays(keydate As Date, Optional period As Long = 180, Optional maxdays As Long = 42) As Long
Dim wsRoutes As Worksheet
Dim c As Long
Dim ElapsedDays As Long
Dim LastRow As Long
Dim travelDays As Long
Set wsRoutes = ThisWorkbook.Sheets("Ark1")
With wsRoutes
LastRow = .Range("C" & Rows.Count).End(xlUp).Row
Dim splitDate
Dim travelStart As Date
Dim travelEnd As Date
'loop thorugh travel dates to find matching records
For c = LastRow To 2 Step -2
'separate merged travel start & end dates
splitDate = Split(.Cells(c, "C"), "-")
'check only arrays with 2 elements
'split generates 0-based arrays
If UBound(splitDate) = 1 Then
'try to convert strings to date
travelStart = DateSerial(Right(Trim(splitDate(0)), 4), Mid(Trim(splitDate(0)), 4, 2), Left(Trim(splitDate(0)), 2))
travelEnd = DateSerial(Right(Trim(splitDate(1)), 4), Mid(Trim(splitDate(1)), 4, 2), Left(Trim(splitDate(1)), 2))
'find the row which has travel start earlier then given keydate
If travelStart <= keydate Then
'Debug.Print "KeyStart: " & keydate - period & " KeyEnd: " & keydate
If travelEnd >= keydate - period Then
travelDays = travelDays + .Cells(c, "L")
'Debug.Print vbTab & "Row: " & c & " TravelStart: " & travelStart & " TravelEnd: " & travelEnd & " Days: " & .Cells(c, "L")
End If
End If
End If
Next c
RemainingDays = maxdays - travelDays
End With
End FunctionHasználata pedig annyi, hogy megadsz neki egy dátumot és ő az Ark1 füzeten alulról felfelé haladva megkeresi, hogy az utazások alapján melyik sorok L-oszlopbában lévő számokat kell összegezni.
Ha nem egy mezőben lennének szövegként az utazási dátumok felsorolva, hanem különálló rekordonként akkor egy SZUMHATÖBB is elég lehet. Feltételezve, hogy a problémát jól értettem.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Nem indul és mi a baja a gépemnek topik
- Elden Ring
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Max
- Skoda, VW, Audi, Seat topik
- Autós topik látogatók beszélgetős, offolós topikja
- exHWSW - Értünk mindenhez IS
- Tőzsde és gazdaság
- Motorolaj és szűrő topik
- További aktív témák...
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Canva Pro előfizetés - 1 éves
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen