У меня есть данные в excel, который начинается с отрицательных значений, проходит ноль и достигает определенного положительного значения. Я помещал этот конкретный набор данных в массив dataset1 = {-9.5,-7,-5.25,-3,-1.1,0,1,5,20,50}
(как пример, значения не линейно разнесены) для выполнения некоторых вычислений. Но мне нужно знать индекс последнего числа, имеющего знак (отрицательный).
Как я могу это сделать? К сожалению, нет такой функции, как IsSigned(..)=true
.Найти изменение знака в массиве
ответ
Если вы хотите сделать это без петли
Sub test()
Dim dataset1 As Variant
dataset1 = Array(-9.5, -7, -5.25, -3, -1.1, 0, 1, 5, 20, 50)
Debug.Print UBound(Filter(dataset1, "-")) + 1
End Sub
Хорошее напоминание о функции Filter! Примечание к OP: это будет работать, только если массив действительно отсортирован. –
Спасибо за подсказку и решение. – Sensei
Мое решение выглядит следующим образом:
'Find last signed value
For i = LBound(concarraycleared, 2) To UBound(concarraycleared, 2)
If concarraycleared(2, i) < 0 Then
LastSignedIndex = i
Else
Exit For
End If
Next i
Пара ограничений: Array должен быть вертикальным, можно найти только последний одно значащее значение, значения нужно сортировать в порядке возрастания. Вы не можете отменить порядок поиска. Это довольно специфическое решение, адаптированное к моей проблеме, поэтому вышеупомянутое решение должно рассматриваться как кулак.
- 1. Значение указателя знака в массиве
- 2. изменение знака сложения в C++
- 3. Изменение знака числа в PHP?
- 4. Изменение знака-абзаца
- 5. Изменение знака чисел +/- несколько файлов
- 6. Как предотвратить изменение знака javascript
- 7. Найти наиболее распространенную запись в массиве
- 8. Изменение столбцов в массиве
- 9. изменение значения в массиве
- 10. Изменение знака по умолчанию в сообщении
- 11. Добавление изображения в MKAnnotationViewClass (Изменение знака аннотации)
- 12. Изменение знака числовых значений в столбце
- 13. Найти только два десятичных знака
- 14. Изменение значений переменных в массиве
- 15. Изменение знака процента до десятичного числа
- 16. Как вычислять среднее значение элементов в массиве без знака?
- 17. Найти диапазоны в массиве
- 18. Найти объект в массиве?
- 19. lodash найти в массиве
- 20. Найти значение в массиве
- 21. Найти в многомерном массиве
- 22. Найти подстроки в массиве
- 23. Найти float в массиве
- 24. MongoDB найти в массиве
- 25. Найти места в массиве
- 26. найти шаблоны в массиве
- 27. Найти объект в массиве
- 28. Найти значение в массиве
- 29. Найти в массиве Smarty
- 30. Найти значение в массиве
И проверка того, что число меньше нуля, не помогает? – Renan
Derp Derp. Может быть, я слишком долго смотрел на экран сегодня? -. Глупый я. – Sensei
Спасибо, кстати ;-D. Теперь. – Sensei