-
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
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
-
Fferi50
Topikgazda
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.
-
lappy
őstag
Új hozzászólás Aktív témák
- Kerékpárosok, bringások ide!
- Épített vízhűtés (nem kompakt) topic
- Kuponkunyeráló
- OTP Bank topic
- Futás, futópályák
- Újjászületés: szombattól új szerverkörnyezetben a PROHARDVER! lapcsalád
- Szerkesztett és makrofotók mobillal
- laskr99: DFI és DFI Lanparty gyűjteményem
- Gyúrósok ide!
- Anime filmek és sorozatok
- További aktív témák...
- Vállalom telefonok,tabletek javítását ,(szoftveres hibát is,frp lock-ot is)márkától fügetlenűl
- GYÖNYÖRŰ iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3573, 99% Akkumulátor
- AKCIÓ! Lenovo ThinkPad X13 Gen 5 üzleti notebook - Ultra 5 135U 16GB DDR5 512GB SSD Intel Win11
- CORSAIR K100 AIR
- Fujitsu LIFEBOOK E449 i3-8130U 12GB 512GB 14" FHD 1 év garancia
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest