Finne Dato Assosiert med en negativ verdi

January 7  by Eliza

Stuart har en rekke målinger i et regneark. I den første kolonne har han dato forbundet med avlesningene, og i den andre kolonnen har han de faktiske målinger. Stuart vil gjerne ha en formel som vil returnere den første dato hvor en lesning ble negativ. Med andre ord bør formelen se etter den første verdi som er negativ i den andre kolonnen, og så returnere det tidspunkt forbundet med denne verdien. Det kan være flere negative verdiene i den andre kolonnen, men han trenger bare datoen forbundet med den første negativ verdi.

Det finnes en rekke måter som dette problemet kan tilnærmes. Alle metodene anta at datoene i kolonne A er i stigende rekkefølge, og at målingene i kolonne B er ikke i noen form for merkbar orden. (Med andre ord, kan avlesningene sprette over og under 0 på en gitt dato.)

Forutsatt at du har en viss kontroll over utformingen av regnearket, kan du legge til en mellomliggende arbeid kolonne i kolonne C, brukes til å indikere når en verdi er negativ. Bare plassere en formel som dette i kolonne C, til høyre for hver avlesning:

= HVIS (B1 <0, A1, "")

Denne formelen returnerer dato i kolonne A hvis verdien i B er under 0 (negativ), ellers returnerer den ingenting. Alt du da trenger å gjøre er å se etter den minste verdien i kolonne C:

= MIN (C: C)

Formater resultatet som en dato, og den representerer dato når målingene først ble negativ.

En annen tilnærming er å avstå fra bruken av det mellomliggende kolonne og bruke en rekke formel for å bestemme det tidspunkt. Forutsatt at dataene er i området A1: B42, kan du bruke en av følgende formler:

= MIN (IF (B1: B42 <0, A1: A42, ""))
= FORSKYVNING ($ A $ 1, MATCH (TRUE, $ B $ 1: $ B $ 42

Husk at disse er alle matriseformler, så du må oppgi hvilken du velger ved å trykke Shift + Ctrl + Enter. Formater resultatet som en dato, og det er svaret du søker.

Hvis du foretrekker det, kan du også bruke en enkel makro å bestemme dato:

Funksjon GetFirstNegative (rngdata)
Dim c Som Variant

For Hver c I rngdata
Hvis c <0 Then
GetFirstNegative = c.Offset (0, -1)
Exit Function
Else
GetFirstNegative = "All data er positiv"
End If
Neste
End Function

I regnearket, vil du bruke denne brukerdefinert funksjon på denne måten:

= GetFirstNegative (B1: B42)

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (7092) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Finne Dato Assosiert med en negativ verdi.