Перейти к содержимому

Как найти ближайшее или самое близкое значение в Excel?

Author: Xiaoyang Last Modified: 2025-07-21

При анализе данных или составлении отчетов часто необходимо найти в столбце или наборе значений элемент, который наиболее близок к заданному целевому значению. Хотя Excel не предоставляет встроенной функции «найти ближайшее значение», это можно сделать с помощью формул, VBA, условного форматирования или сторонних инструментов. В этой статье мы рассмотрим несколько распространенных подходов, разберем основные принципы каждого метода, шаги реализации и их плюсы и минусы, чтобы помочь вам выбрать наилучшее решение.


Найти ближайшее или самое близкое число с помощью формулы массива

Предположим, у вас есть список чисел в столбце B, и вам нужно определить, какое значение является ближайшим к заданному числу, например, 18. Использование формулы массива в Excel позволяет эффективно определить это без необходимости вручную просматривать весь список.

Для начала выберите пустую ячейку и введите следующую формулу. После того как вы ввели формулу, обязательно нажмите Ctrl + Shift + Enter вместо простого Enter. Это гарантирует, что формула будет работать как формула массива, что необходимо для ее корректной работы:

=INDEX(B3:B22,MATCH(MIN(ABS(B3:B22-E2)),ABS(B3:B22-E2),0))
Примечание: В этой формуле массива {=INDEX(B3:B22,MATCH(MIN(ABS(B3:B22-E2)),ABS(B3:B22-E2),0))}:
  • B3:B22 ссылается на диапазон, содержащий данные, которые вы хотите проанализировать.
  • E2 — это ячейка, куда вы ввели свое целевое значение (например, 18).

Этот подход наиболее подходит, когда вам нужно получить одно единственное ближайшее число из непрерывного диапазона. Он хорошо работает в большинстве случаев, где важны числовая точность и точные совпадения. Однако имейте в виду, что формулы массива могут быть ресурсоемкими при работе с очень большими наборами данных. Если вы сталкиваетесь с проблемами производительности или получаете сообщения об ошибках, такие как #VALUE!, тщательно проверьте свои ссылки на ячейки и убедитесь, что вы правильно нажали Ctrl + Shift + Enter.


Легко выделить все ближайшие числа в пределах диапазона отклонения от заданного значения с помощью Kutools для Excel

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

Kutools для Excel предлагает более 300 продвинутых функций для упрощения сложных задач, повышая креативность и эффективность. Интеграция с возможностями ИИ позволяет Kutools автоматизировать задачи с высокой точностью, делая управление данными без усилий. Подробная информация о Kutools для Excel...  Бесплатная пробная версия...

Например, предположим, что ваше целевое значение равно 18, и вы определили значение отклонения как 2. Это означает, что вы хотите выбрать все значения в диапазоне между 16 (18–2) и 20 (18+2). Вот как это можно сделать пошагово:

1. Выберите диапазон, который вы хотите проверить (например, B3:B22), затем перейдите в Kutools > Выбрать > Выбрать определенные ячейки.

2. В диалоговом окне Выбрать определенные ячейки:

  • Под Тип выбора выберите Ячейка.
  • В Указать тип:
    - Установите первый выпадающий список на Больше или равно и введите 16 в поле.
    - Установите второй выпадающий список на Меньше или равно и введите 20.

set options in the Select Specific Cells dialog box

3. Нажмите OK для выполнения. Kutools уведомит вас, сколько ячеек соответствует вашим критериям, и выделит все ближайшие значения в пределах указанного отклонения, как показано ниже:
all closest values of the given value are selected

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


Макрос VBA для поиска ближайшего значения к цели

Для пользователей, ищущих автоматизацию или которым необходимо выполнять настраиваемый поиск ближайшего значения — будь то числовые или текстовые данные — на нескольких листах или больших наборах данных, макрос VBA может быть эффективным и гибким решением. Программируя Excel последовательно проверять разницу между вашей целью и всеми кандидатами, вы можете получить не только ближайшее число, но и ближайшую строку по текстовому расстоянию.

Этот подход особенно полезен, когда требуется интеграция автоматизации, особенно на диапазонах, слишком больших для ручных методов или при применении повторяющихся задач. Однако имейте в виду, что макросы VBA требуют активации макросов и базового знакомства с средой VBA. Перед запуском любого макроса всегда создавайте резервную копию своих данных, чтобы предотвратить случайную потерю.

1. Нажмите Разработчик  > Visual Basic. В окне Microsoft Visual Basic for Applications нажмите Вставить > Модуль и скопируйте следующий код в модуль:

Function FindClosest(rng As Range, target As Double) As Double
    Dim cell As Range
    Dim minDiff As Double
    Dim closestValue As Double
    
    minDiff = 1E+99
    For Each cell In rng
        If Abs(cell.Value - target) < minDiff Then
            minDiff = Abs(cell.Value - target)
            closestValue = cell.Value
        End If
    Next cell  
    FindClosest = closestValue
End Function 

2. Затем перейдите на свой рабочий лист и введите эту формулу: =FindClosest(B3:B22, E2) в пустую ячейку. Нажмите клавишу Enter, чтобы получить ближайшее значение.

Примечание: В этой формуле B3:B22 определяет диапазон данных, а E2 содержит целевое значение, используемое для поиска наиболее близкого совпадения.

Используйте условное форматирование для визуального выделения ближайших значений

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

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

1. Выберите диапазон ячеек, который вы хотите проанализировать (например, B3:B22).

2. На вкладке Главная нажмите Условное форматирование > Новое правило.

3. Выберите Использовать формулу для определения форматируемых ячеек в диалоговом окне. Затем в поле формулы введите следующую формулу:

=ABS(B3-$E$2)=MIN(ABS($B$3:$B$22-$E$2))

4. Нажмите Формат и выберите цвет выделения, затем нажмите OK и снова OK для применения правила.

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

Если вы работаете с большими диапазонами или сталкиваетесь с неожиданными результатами, дважды проверьте, что ваши ссылки верны и что абсолютные/относительные ссылки установлены должным образом (используйте $ для блокировки целевой ячейки и ссылок на диапазон).


Демонстрация: выделить все ближайшие значения в пределах диапазона отклонения от заданного значения

 

Лучшие инструменты для повышения продуктивности работы с Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных на основе: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Расширенных функций Kutools
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!