Nano Hash - криптовалюты, майнинг, программирование

Найти ближайшее значение к 0 в диапазоне значений в Excel (с нечисловыми полями)

У меня есть ряд ячеек в Excel с различными положительными и отрицательными числами. Значение ячейки определяется по формуле ЕСЛИ, а некоторые ячейки в диапазоне не имеют значения ("").

Мне нужно найти абсолютное значение ближайшей к 0 ячейки. Итак, если бы у меня был список -10, -5, -1, 3, 6 и "": мне нужно получить результат 1.

Я пробовал несколько подходов, но тот факт, что у меня нечисловые ячейки, кажется проблемой, вызывающей ошибки.

Что я пробовал:

{=Min(ABS(A1:D10))}, где я нажимаю Ctrl-Shift-Enter (возвращает ошибку из-за нецифры)

{=IF(MAX(D3:D22)<=0,-1,IF(MIN(ABS(D3:D22))=MIN(ABS(IF(D3:D22>0,D3:D22,MAX(D3:D22)))),1,-1))*MIN(ABS(D3:D22))}, где я нажимаю Ctrl-Shift-Enter (возвращает ошибку из-за нецифры)

{=IF(OR((D3:D22)>0),MIN(ABS(D3:D22)),-MIN(ABS(D3:D22)))}, где я нажимаю Ctrl-Shift-Enter (возвращает ошибку из-за нецифры)

01.12.2015

Ответы:


1
=MIN(ABS(IF(ISNUMBER(D3:D22),D3:D22,9999)))

Это формула массива, которую необходимо подтвердить нажатием Ctrl+Shift+Enter

должен сделать трюк

или лучше использовать:

=INDEX(D3:D22,MATCH(MIN(IF(ISNUMBER(D3:D22),ABS(D3:D22))),ABS(D3:D22),0))

Это формула массива, которую необходимо подтвердить нажатием Ctrl+Shift+Enter

не заботится о тексте или пустых ячейках, но 0 в качестве числа будет учитываться ... также отрицательные числа будут отрицательными (если вы всегда хотите положительное значение, вам нужно ABS всю формулу ...

01.12.2015
  • Интересно — мы одновременно печатали практически один и тот же ответ. Это показывает, что ответ несколько естественен. 02.12.2015
  • Если вы сделаете ABS частью оператора IF, т. е. MIN(IF(ISNUMBER(D3:D22),ABS(D3:D22)), то вам не требуется условие value_if_false. 02.12.2015

  • 2

    Если у вас есть верхняя граница, скажем, 10 ^ 9, на что вы можете сделать минимум:

    {=MIN(ABS(IF(ISNUMBER(D3:D22),D3:D22,10^9)))}
    

    Если вам сложно делать какие-либо предположения о минимальном значении, обратите внимание, что оно определенно меньше 1 + абсолютное значение максимального числа, поэтому вы можете использовать:

    {=MIN(ABS(IF(ISNUMBER(D3:D22),D3:D22,1+ABS(MAX(D3:D22)))))}
    
    01.12.2015
  • @DirkReichel Спасибо. Я проверил формулу, используя другой диапазон, и попытался изменить ее вручную, чтобы отразить диапазон OP, но, должно быть, неправильно подсчитал круглые скобки или что-то в этом роде. 02.12.2015
  • Если вы сделаете ABS частью оператора IF, т. е. MIN(IF(ISNUMBER(D3:D22),ABS(D3:D22)), то вам не требуется условие value_if_false. 02.12.2015

  • 3

    Я публикую это только потому, что это сработало для меня до того, как другие пользователи пришли со своими ответами. Я все равно приму один из их ответов, а не этот.

    =MIN(IF(D3:D22>0,D3:D22,ABS(D3:D22)))
    

    И, конечно же, мне пришлось нажать Ctrl+Shift+Enter, чтобы это заработало.

    02.12.2015

    4

    Вот как найти число, ближайшее к нулю, если значения не находятся в смежных ячейках? (т. е. не в «диапазоне») Например, a1, b5 и f15 содержат значения -3, 4 и -5. Формула должна вернуть значение -3.

    Том Огилви на https://www.atlaspm.com/toms-tutorials-for-excel/ ответил на вопрос:

    Для конкретного вопроса, который вы задали, это вернет -3

    =INDEX(CHOOSE({1,2,3},A1,B5,F15),MATCH(MIN(ABS(CHOOSE({1,2,3},A1,B5,F15))),ABS(CHOOSE({1,2,3},A1,B5,F15)),0))
    

    вводится с помощью Ctrl+Shift+Enter. Вы можете настроить CHOOSE({1,2,3},A1,B5,F15) (который заменяет C7:C20 в исходной формуле), чтобы включить больше ячеек. Например, если бы я хотел добавить Z20 и AA4, я мог бы использовать CHOOSE({1,2,3,4,5},A1,B5,F15,Z20,AA4). Каждая ячейка должна быть указана отдельно. так что у вас не могло быть CHOOSE({1,2},A1,B5:B20)

    21.05.2018
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..