2

У меня есть две таблицы, одна с двумя столбцами значений, как это:

Num1    Num2    Result
0.01    0.99    
0.01    0.98    
0.01    0.95    
0.01    0.95    
0.01    0.94    
0.01    0.93    
0.01    0.91    
0.01    0.91    
0.01    0.91    
0.01    0.91    
0.01    0.9 
0.01    0.89    
0.01    0.87    
0.01    0.84    
...     ... 

И один с двумя столбцами и значением для поиска, например так:

Num1    Num2    Country
0.01    0.99    Norway
0.01    0.80    Slovenia
0.01    0.41    Ukraine
0.02    0.65    Belarus
0.03    0.79    Slovakia
0.04    0.90    Iceland
0.04    0.72    Kazakhstan
0.05    0.88    Finland
...     ...     ...

Мой желаемый результат - заполнить столбец C на листе 1 страной (из листа 2), чьи значения Num1 и Num2 наиболее точно соответствуют значениям в столбцах A и B. Из данных я вижу, что точное совпадение пары будет редким, поэтому оно должно быть «нечетким».

Это насколько я понял с точки зрения формулы для столбца C:

=INDEX(Lookup!$C$2:$C$123,MATCH(TRUE,INDEX(ABS(Lookup!$B$2:$B$123-Sheet1!B2)=MIN(INDEX(ABS(Lookup!$B$2:$B$123-Sheet1!B2),,)),,),0))

Очевидно, это не то, что мне нужно, потому что это не зависит от соответствия столбцов Num1, что, я думаю, должно быть. Но я подумал, что я могу сделать это условно для Num1, затем сделать это снова в другом столбце для Num2, а затем сделать что-то умное с Vlookups, чтобы выяснить дельты между парами Num1 и Num2. Затем я мог бы использовать эти дельты, чтобы выбрать условное совпадение, которое лучше всего отражает "ближайшее" значение.

У меня есть ощущение, что есть лучший способ сделать это в последнюю очередь, но я даже не могу пройти первый шаг. Спасибо!

1 ответ1

0

Предполагая, что таблица результатов и исходная таблица находятся в Sheet1!A1:C15 и Sheet2!A1:C9 соответственно (оба с заголовками в строке 1), в Sheet1!C2 , формула массива **:

=INDEX(Sheet2!C$2:C$9,MATCH(MIN(IF(ABS(Sheet2!A$2:A$9-A2)=MIN(ABS(Sheet2!A$2:A$9-A2)),ABS(Sheet2!B$2:B$9-B2))),IF(ABS(Sheet2!A$2:A$9-A2)=MIN(ABS(Sheet2!A$2:A$9-A2)),ABS(Sheet2!B$2:B$9-B2)),0))

Скопируйте при необходимости.

С уважением

** Формулы массива вводятся не так, как «стандартные» формулы. Вместо того, чтобы просто нажимать ENTER, вы сначала удерживаете CTRL и SHIFT, и только потом нажимаете ENTER. Если вы сделали это правильно, вы заметите, что Excel заключает в формулу фигурные скобки {} (хотя не пытайтесь вставить их вручную).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .