استوارت یک سری خوانش در یک کاربرگ دارد. در ستون اول تاریخ های مرتبط با قرائت ها و در ستون دوم قرائت های واقعی را دارد. استوارت مایل است فرمولی داشته باشد که اولین تاریخی را که در آن قرائت منفی شد، برمی گرداند. به عبارت دیگر، فرمول باید به دنبال اولین مقدار منفی در ستون دوم باشد و سپس تاریخ مرتبط با آن مقدار را برگرداند. ممکن است چندین مقدار منفی در ستون دوم وجود داشته باشد، اما او فقط به تاریخ مرتبط با مقدار منفی اول نیاز دارد.
راه های مختلفی برای حل این مشکل وجود دارد. همه روش ها فرض می کنند که تاریخ های ستون A به ترتیب صعودی هستند و قرائت های ستون B به ترتیب قابل تشخیص نیستند. (به عبارت دیگر، خوانش ها می توانند در هر تاریخ معینی به بالا و پایین 0 بروند.)
به شرطی که روی چیدمان کاربرگ کنترل داشته باشید، می توانید یک ستون کار میانی را در ستون C اضافه کنید که برای نشان دادن منفی بودن یک مقدار استفاده می شود. به سادگی فرمولی مانند این را در ستون C در سمت راست هر قرائت قرار دهید:
=IF(B1
اگر مقدار B کمتر از 0 باشد، این فرمول تاریخ را در ستون A برمی گرداند (منفی)، در غیر این صورت چیزی برمی گرداند. تنها کاری که باید انجام دهید این است که حداقل مقدار را در ستون C جستجو کنید:
=MIN(C:C)
نتیجه را به عنوان یک تاریخ قالب بندی کنید، و نشان دهنده تاریخی است که در آن قرائت ها برای اولین بار منفی شدند.
روش دیگر این است که استفاده از ستون میانی را کنار بگذارید و از فرمول آرایه برای تعیین تاریخ استفاده کنید. با فرض اینکه داده ها در محدوده A1:B42 قرار دارند، می توانید از هر یک از فرمول های زیر استفاده کنید:
=MIN(IF(B1:B42
Remember that these are all array formulas, so you need to enter whichever one you choose by pressing Shift+Ctrl+Enter. (If you are using Excel 2021 or the version of Excel provided with Microsoft 365, you dont need to press Shift+Ctrl+Enter; you can just press Enter.) Format the result as a date, and it is the answer you seek.
If you prefer, you could also use a simple macro to determine the date:
Function GetFirstNegative(rngdata)
Dim c As Variant
For Each c In rngdata
If c < 0 Then
GetFirstNegative = c.Offset(0, -1)
Exit Function
Else
GetFirstNegative = "All Data is Positive"
End If
Next
End Function
In your worksheet, you would use this user-defined function in this manner:
=GetFirstNegative(B1:B42)