Сравнение нескольких данных из строк

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

Пример:

  • Заказчик № 1: 1 5 10 9 7 7 8 2 3
  • Заказчик № 2: 10 5 9 3 5 7 4 3 2
  • Заказчик № 3: 1 4 10 9 8 7 6 2 2
  • Заказчик № 4: 9 5 6 7 2 1 10 5 6

В этом примере клиенты # 1 и # 3 очень похожи, и мне нужно найти способ выделить или отсортировать строки, чтобы я мог легко найти наилучшее совпадение.

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

Любые идеи о том, как я могу это решить?

Благодаря!

Следующая формула, введенная (скажем) L1 и вытащенная, дает наилучшее соответствие текущей строке на основе суммы абсолютных различий между соответствующими ячейками:

=MIN(IF(ROW($C$1:$K$4)<>ROW(),(MMULT(ABS($C1:$K1-$C$1:$K$4),TRANSPOSE(COLUMN($C$1:$K$4))^0)))) 

Это формула массива и должна вводиться с помощью Ctrl Shift Enter .

Затем вы можете отсортировать столбец L, чтобы довести клиентов с наименьшими показателями подобия до вершины или использовать условное форматирование, чтобы выделить строки с определенным значением подобия.

введите описание изображения здесь

РЕДАКТИРОВАТЬ

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

 =MIN(IF(ROW($C$1:$K$4)<>ROW(),(MMULT(($C1:$K1-$C$1:$K$4)^2,TRANSPOSE(COLUMN($C$1:$K$4))^0)))) 

то баллы для ваших тестовых данных выйдут как 7,127,7,127.

Я предполагаю, что вы хотите сравнить клиентов 2-4 с клиентом 1 и что вы сравниваете только в каждом столбце. В этом случае вы можете реализовать «систему подсчета очков» с использованием нескольких IF. Например,:

  ABCDE 1 Customer 1 1 1 2 2 Customer 2 1 2 2 3 Customer 3 0 1 0 

вы можете использовать в E2

 =if(B2=$B$1,1,0)+if(C2=$C$1,1,0)+if(D2=$D$1,1,0) 

Это вернет «счет» из 1, если у вас есть матч, а «оценка» – 0, если вы этого не сделаете. Затем он добавляет оценки, и ваше наивысшее значение будет вашим лучшим соответствием. Затем копирование дало бы

  ABCDE 1 Customer 1 1 1 2 2 Customer 2 1 2 2 2 3 Customer 3 0 1 0 1 

поэтому клиент 2 – лучший матч.

  • Как я могу повернуть часть данных Excel в столбцы, чтобы получить желаемый результат?
  • Перемещение строки в конец другого на основе определенных условий
  • Сортировка строк Apache-POI в excel
  • Среднее значение Excel: каждый X, а затем Y строк
  • Почему сводная таблица не показывает одинаковые строки из исходной таблицы?
  • Сумма Excel без определенных строк
  • Код Excel VBA для выделения строк для конкретной ячейки
  • Сортировка данных в Excel
  • Переупорядочить имена из разных строк в одном столбце
  • Как преобразовать текстовую строку в часы
  • Как я могу сказать ячейке, чтобы содержать сумму целой строки в excel
  • Interesting Posts

    Как отлаживать исключение NullReferenceException на базе. Разделить (распоряжаться) шаблоном

    Excel Ссылка на диапазон с использованием конкатенации

    Инкрементная колонка на основе даты – Excel

    EXCEL: Вложенное выражение If с числами И соответствие текста

    У меня проблемы с использованием reDim в VBA, не могу понять, как это работает

    Получить список уникальных значений в excel

    Вставка нескольких изображений в закладки MS Word через Excel

    Как консолидировать строки с одинаковыми значениями в таблице Excel?

    Что такое хороший способ создать группу с переменным размером, которая будет зацикливаться в Excel 2003?

    Улучшение скорости экспорта Datagridview в Excel с помощью Interop Excel

    Как продолжить макрос после возникновения ошибки

    Как получить размер объединенной ячейки Excel

    Невидимый знак вопроса Excel

    Остановить определенный диапазон от обновления

    создание ячейки счетчика и статических ячеек в excel

    Давайте будем гением компьютера.