VLOOKUP

8 отговора 0 прегледа
#1

VLOOKUP

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

а тук на английски

Отговор
в отговор на f(x)dx #2

Re: VLOOKUP

Браво, полезна информация

Go Install Analysis Toolpack!
Отговор
в отговор на f(x)dx #3

Re: VLOOKUP

Хубава е функцията, но за един случай не ми върши работа.
Проблемът е следния:
В колона A има клетки с текстове, които се повтарят. Искам да намеря последния, а не първия ред, в който се намира интересуващият ме текст.
Също като VLOOKUP, само че наопаки.
Някакви предложения?

Отговор
в отговор на jove #4

Re: VLOOKUP

аз може би ставам досаден, но пак ще питам - каква е крайната цел на това, което искаш да направиш.
Евентуално може да се измисли друго решение

Отговор
в отговор на f(x)dx #5

Re: VLOOKUP

Имам таблица, в чиято първа колона има повтарящи се наименования на дейности, като подреждането им не е циклично, а произволно. Във втората колона са стартовите времена, в третата - продължителността, а в четвъртата - финалните времена. Та целта е за стартово време на дадена дейност да се вземе стойността на финалното време на същата по наименование, предшестваща я дейност. А в крайна сметка цялата таблица е сортирана по стойностите на втора колона, т.е. хронологично по нарастване на стартовото време. Засега си мисля да обърна таблицата с главата надолу, т.е. да е подредена по намаляване на стартовото време, и да използвам VLOOKUP. Ще ми се загрози прегледността обаче.

Отговор
в отговор на jove #6

Re: VLOOKUP

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

A B С дейност начало време край
2гладене 2 гладене 07:59 0:07 08:06
3шиене 3 #N/A шиене 08:00 0:03 08:03
4кроене 4 #N/A кроене 09:32 1:05 10:37
5гладене 5 8:06 гладене 10:47 0:12 10:59
6кроене 6 10:37 кроене 12:30 0:10 12:40
7шиене 7 8:03 шиене 13:50 0:11 14:01
8лепене 8 #N/A лепене 14:02 0:14 14:16
9гладене 9 10:59 гладене 14:18 0:18 14:36
10шиене 10 14:01 шиене 15:46 0:20 16:06
11кроене 11 12:40 кроене 16:15 1:40 17:55
12лепене 12 14:16 лепене 16:17 1:18 17:35
13шиене 13 16:06 шиене 18:00 0:32 18:32


както виждаш последните четири колони са тези, които имаш. отляво съм добавил няколко колони с формули
в колона А имам формулата: =ROW()&D2
в колона В: =ROW()
В колона С: =VLOOKUP(MAX(($D$2:D4=D5)*$B$2:B4)&D5;$A$2:$G$15;7;FALSE)

те това именно последното ти връща искания резултат. Нарочно съм го направил в колона С, а не в D с цел да проверя работи ли формулата. Ти естествено ръгай формулат в колона D или каквато ти е там на теб.
Има обаче няколко кусура:
1. както виждаш формулата връща грешка чат-пат. По-точно грешка има когато дадената дейност се среща за пръв път. за сега не се сещам как да я избегнем
2. тази формула е т.нар. array formula, следователно, след като я напишеш, вместо Enter трябва да удариш Ctrl+Enter. иначе ти дава грешка.

Редактирано от f(x)dx на

Отговор
в отговор на f(x)dx #7

Re: VLOOKUP

Благодаря. Идеята е логична, но при мен връща #VALUE! навсякъде, въпреки че като извадя прозореца Function Arguments, долу в полето Function Result= виждам вярната стойност. Ще го мъча още малко и ако не намеря решение, ще обръщам таблицата в обратен ред.

Отговор
в отговор на jove #8

Re: VLOOKUP

Браточка, пробвай като изкараш прозореца Function Arguments вместо да натискаш ОК с мишката или ENTER с клавиатурата, да удариш едновременно SHIFT+CTRL+ENTER.

аз мисля, че написах, че това е array formula, но ти казах да натискаш CTRL+ENTER, а то трябва SHIFT+CTRL+ENTER. Моля да ме извиниш

Отговор
в отговор на f(x)dx #9

Re: VLOOKUP

За грешката, която връща може да се използва следната фромула

{=IF(ISNA(VLOOKUP(MAX(($D$2:D4=D5)*$B$2:B4)&D5;$A$2:$G$15;7;FALSE));0;
VLOOKUP(MAX(($D$2:D4=D5)*$B$2:B4)&D5;$A$2:$G$15;7;FALSE))}

като нулата, която е преди второто VLOOKUP може да бъде заменена с друга
стойност или формула

Отговор