Намерете най-близката стойност в Excel с формула

Намерете най-близката стойност в Excel с формула

Функциите на Excel могат да бъдат много мощни, ако се научите да комбинирате различни формули.Това, което някога е изглеждало невъзможно, изведнъж може да стане като детска игра.

Един такъв пример е намирането на най-близката стойност в набор от данни на Excel.

Има няколко полезни функции за търсене в Excel (като VLOOKUP и INDEX MATCH), които могат да намерят най-близките(както е показано в примера по-долу).

Но най-хубавото е, че можете да комбинирате тези функции за търсене с други функции на Excel, за да направите много повече (включително намиране на най-близкото съвпадение със стойност за търсене в несортиран списък).

В този урок ще ви покажа как да използвате формула за търсене, за да намерите най-близкото съвпадение със стойност за търсене в Excel.

Има много различни сценарии, при които трябва да намерите най-близкото съвпадение (или най-близката стойност на съвпадението).

Ето един пример, който ще разгледам в тази статия:

  1. Намерете комисионни въз основа на продажбите
  2. Намерете най-добрия кандидат (въз основа на най-близкия опит)
  3. Намерете датата на следващото събитие

да започваме!

Намерете комисионни (потърсете най-близката стойност на продажбите)

Да предположим, че имате набор от данни като този по-долу, където искате да намерите комисионните за всички търговци.

Намерете най-близкото съвпадение в Excel - Данни за продажбите

Комисионните се разпределят въз основа на стойността на продажбата.Това се изчислява с помощта на таблицата вдясно.

Например, ако общите продажби на продавача са 5000, комисионната е 0%, а ако общите му продажби са 15000 5, комисионната е XNUMX%.

Свързани въпроси  Как да премахнете форматирането на клетки (от всички, празни, конкретни клетки) в Excel

За да получите комисионна, трябва да намерите най-близкия диапазон на продажбите, който е точно под стойността на продажбите.Например за 15000 10,000 продажби комисионната е 5 25000 (или 20,000%), а за 7 XNUMX продажби комисионната е XNUMX XNUMX (или XNUMX%).

За да намерите най-близката стойност за продажба и да получите комисионна, можете да използвате приблизително съвпадение във VLOOKUP.

Следната формула може да направи това:

=VLOOKUP(B2;$E$2:$F$6,2,1;XNUMX;XNUMX)

Формула VLOOKUP за получаване на комисионната

Имайте предвид, че в тази формула последният параметър е 1, което казва на формулата да използва приблизително търсене.Това означава, че формулата ще премине през стойността на продажбите в колона E и ще намери стойността точно под стойността за търсене.

След това формулата VLOOKUP ще даде комисионната за тази стойност.

注意: За да направите това, трябва да сортирате данните във възходящ ред.

Намерете най-добрия кандидат (въз основа на най-близкия опит)

В горния пример данните трябва да бъдат сортирани във възходящ ред.Но може да има случаи, когато данните не са сортирани.

Така че нека вземем пример и да видим как можем да използваме комбинации от формули, за да намерим най-близкото съвпадение в Excel.

По-долу е даден примерен набор от данни, където трябва да намеря имената на служителите, чийто трудов опит е най-близо до желаната стойност.Очакваната стойност в този случай е 2.5 години.

Намерете най-близкото съвпадение - набор от данни

Имайте предвид, че данните не са сортирани.Освен това най-близките преживявания може да са по-малко или повече от дадено преживяване.Например 2 години и 3 години са еднакво близки (0.5 години разлика).

Ето формулата, която ни дава резултата:

=INDEX($A$2:$A$15,MATCH(MIN(ABS(D2-B2:B15)),ABS(D2-$B$2:$B$15),0))

Намерете най-близката съвпадаща формула емпирично

Номерът в тази формула е да промените масива за търсене и стойностите за търсене, за да намерите най-малката емпирична разлика между желаните и действителните стойности.

Нека първо разберем как бихте го направили ръчно (и след това ще обясня как работи тази формула).

Когато правите това ръчно, преминавате през всяка клетка в колона B и намирате разликата между опита, който искате, и опита, който имате.След като имате всички разлики, намирате най-малката и получавате името на този човек.

Точно това правим с тази формула.

Нека обясня.

Свързани въпроси  Уиджети за новини и интереси в Windows 10

Стойността за търсене във формулата MATCH е MIN(ABS(D2-B2:B15)).

Този раздел ви дава минималната разлика между дадения опит (т.е. 2.5 години) и всички останали опитности.В този случай връща 0.3

Имайте предвид, че използвам ABS, за да съм сигурен, че търся най-близкия (вероятно повече или по-малко от даденото преживяване).

Сега тази минимална стойност става нашата стойност за търсене.

Масивът за търсене във функцията MATCH е ABS(D2-$B$2:$B$15).

Това ни дава масив от числа, от които се изважда 2.5 (необходим опит).

所以現在我們有一個查找值 (0.3) 和一個查找數組 ({6.8;0.8;19.5;21.8;14.5;11.2;0.3;9.2;2;9.8;14.8;0.4;23.8;2.9})

Функцията MATCH намира позицията 0.3 в този масив, която е позицията на името на човека с най-близък опит.

След това функцията INDEX използва номера на заданието, за да върне името на лицето.

Забележка: Ако има няколко кандидати с еднакъв минимален опит, горната формула ще даде името на първия съвпадащ служител.

Намерете датата на следващото събитие

Ето още един пример, в който можете да използвате формула за търсене, за да намерите следващата дата на събитие въз основа на текущата дата.

По-долу е наборът от данни, където имам имена на събития и дати на събития.

Намерете дати и имена на събития - набор от данни

Това, което искам, е името на следващото събитие и датата на събитието на това предстоящо събитие.

Ето формулата, която дава името на предстоящото събитие:

=INDEX($A$2:$A$11,MATCH(E1,$B$2:$B$11,1)+1)

Следната формула ще даде дати на предстоящите събития:

=INDEX($B$2:$B$11,MATCH(E1,$B$2:$B$11,1)+1)

Намерете дати и имена на предстоящи събития - Формула

Нека обясня как работи тази формула.

За да получи датата на събитието, функцията MATCH търси в колона B текущата дата.В този случай не търсим точно съвпадение, а приблизително съвпадение.Следователно последният параметър на функцията MATCH е 1 (открива най-голямата стойност, по-малка или равна на стойността за търсене).

Така че функцията MATCH ще върне позицията на клетката, чиято дата е по-малка или равна на текущата дата.Така че в този случай следващото събитие ще бъде в следващата клетка (тъй като списъкът е сортиран във възходящ ред).

Така че, за да получите датата на предстоящото събитие, просто добавете една към позицията на клетката, върната от функцията MATCH, и тя ще ви даде позицията на клетката на следващото събитие.

След това тази стойност се дава от функцията INDEX.

Свързани въпроси  Как да използвате функцията ДЕН на Excel

За да получите името на събитието, използвайте същата формула и променете диапазона във функцията INDEX от колона B на колона A.

Този пример ми дойде на ум, когато един приятел направи заявка.Той изброява рождените дни на всички свои приятели/роднини в колона и иска да знае, че предстои следващият рожден ден (и името на човека).

Горните три примера показват как да използвате формулата за търсене, за да намерите най-близката стойност в Excel.

О, здравей 👋Приятно ми е да се запознаем.

Абонирайте се за нашия бюлетин, изпращайте много редовнострахотна техникана вашата поща.

Публикувай коментар