Отдавна не бях споделял решението на някой проблем в Excel, но тези дни ми се наложи да използвам една функция, която малко ме затормози, въпреки че съм я прилагал доста често в работата си. Става въпрос за VLOOKUP, и един проблем, който поради невнимание ми изгуби 15-тина минути, които ще се опитам да спестя на тези от вас, ползващи същата функция.
В конкретния случай използвах функцията VLOOKUP за да намеря дали дадена стойност от една колона присъства в друга, и ако присъства, в трета колона да извлека стойността на клетката от колона, съседна на първата. Обяснението стана малко неясно, затова ще си послужа с пример. Да кажем, че имам пълен списък с номера на транзакции, и тяхната стойност. От този списък искам да направя извадка с конкретни транзакции, за да намеря тяхната обща стойност. Ето примерна таблица:
Транзакция | Стойност | Извадка от транзакции | Стойност на извадката | |
42042 | 39.38 | 42052 | 64 | |
42043 | 64.00 | 42063 | 49 | |
42044 | 114.00 | 42042 | 39.38 | |
42045 | 64.00 | 42064 | 72 | |
42047 | 128.00 | |||
42048 | 128.00 | |||
42049 | 51.40 | |||
42050 | 49.00 | |||
42051 | 49.00 | |||
42052 | 64.00 | |||
42053 | 49.00 | |||
42054 | 64.00 | |||
42055 | 64.00 | |||
42056 | 164.00 | |||
42058 | 74.00 | |||
42059 | 64.00 | |||
42060 | 64.00 | |||
42062 | 64.00 | |||
42063 | 49.00 | |||
42064 | 72.00 | |||
42065 | 66.90 | |||
42066 | 66.90 |
Чрез VLOOKUP(D2,$A$2:$B$23,2,FALSE) проверявам дали номера на транзакция от извадката (колона 4 или D) присъства в списъка с всички транзакции (колона 1 или А), и ако присъства, в колона 5 (Е) извеждам стойността на транзакцията (взета от колона 2 или B). Съответно обяснение на стойностите:
D2 – клетката, за която проверявам
$A$2:$B$23 – фиксиран набор от данни, където се извършва търсенето за съответствие
2 – номер на колоната, чиято стойност ме интересува и искам да изведа
False – показва, че не търся пълно съответствие
Има няколко най-често срещани грешки при работата с VLOOKUP, които ще споделя на по-късен етап.