Sounds like you might need to write a custom vba function to read in the range and loop through each value in the range, append each negative value found into a string variable and return that variable.
something like
Function Negatives (ParamArray arglist() as Variant) as String
Dim cell As Range
Negatives = “”
For Each arg In arglist
For Each cell In arg
If cell < 0 Then Negatives = Negatives & “,” & cell
Next Cell
Next arg
End Function
In your spreadsheet use this function like any other:
=Negatives(A1:A100)
Should also work with multiple ranges : eg =Negatives(A1:A100,B1:B50)