download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Помощ за Ексел

Автор
Съобщение
nik2009
Чет, 29.11.18, 10:45
Здравейте! Моля някой да помогне имам задание в ексел да създам референтна таблица за търсене с Vlookup, която да осигурява изчисляването на следните видове отстъпки:
• Дневен оборот до 200 – 0 %
• Дневен оборот до 1000 – 1%
• Дневен оборот до 2000 – 2%
• Дневен оборот над 2000 – 3%

След това в другият ми основния работен лист да се добави нова колонка "Отстъпка" в която да се използва таблицата за търсене от другия лист.

Питането ми е как да изглежда тази таблица за търсене? И специално VLOOKUP как да се изпише за тия 4 вида отстъпки? Моля помагайте, трябва ми за ден-два. Благодаря ви!

редактиран от nik2009 на 29.11.18 12:37
plamil
Чет, 29.11.18, 14:41
Изясни си как работи самата функция VLOOKUP.
- Търси за стойност в най-лявата колона на таблица и след това връща стойност в същия ред в зададена от вас колона в таблицата. Когато стойностите за сравнение са разположени в колона, намираща се отляво на търсените данни, използвайте VLOOKUP вместо HLOOKUP. (V във VLOOKUP означава "Vertical" (вертикален)).
В общи линии в първия лист си правиш таблица с отстъпките.
От втория лист, правиш обръщение до таблицата от първия лист и функцията ти връща готовата стойност
plamil
Чет, 29.11.18, 14:58
nik2009
Чет, 29.11.18, 18:22

RE: Помощ за Ексел

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

и ето тази която ми е с отстъпките, но идея нямам как да се построи - защото трябва да се търси по колона "дневен оборот" в основната таблица, а в същото време трябва да показва стойността от втората малка таблица с отстъпките - ето я, но не мисля че така трябва да е

В основната таблица има колона L отстъпки, там трябва да показва 0%, 1% , 2% или 3%. Но търсенето трябва да е върху колоната Дневен оборот от същата таблица. А в същото време се казва, че трябва да търси от малката таблица с процентите. Но не ми е ясно как ще стане едновременно да търси в две таблици. Аз ли се бъркам не знам. Таблицата с отстъпките - втората май не съм я направил както трябва може би...Според вас как трябва да бъде всичко това?
Plamil ако можеш да помогнеш, много ме затрудни това.

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

редактиран от nik2009 на 29.11.18 18:26
редактиран от nik2009 на 29.11.18 18:28
редактиран от nik2009 на 29.11.18 18:32
редактиран от nik2009 на 29.11.18 18:49
редактиран от nik2009 на 29.11.18 18:49
plamil
Чет, 29.11.18, 21:28
Използвай IF (дневен оборот < 200;THEN (VLOOKUP0; (колоната в малката таблица с процентите);1; false;) ELSE (IF (дневен оборот < 1000;THEN (VLOOKUP0; (колоната в малката таблица с процентите;2; false;) ... и т.н. продължаваш повтарянето на формулата, докато изредиш всички възможни отстъпки.
В общи линии, правиш условен преход "Ако ... тогава..., ако е не ... продължи така"
Да кажем, груб превод на горната формула:
"Ако (IF) числото в клетка "дневен оборот" е по-малко или равно на 200, тогава (THEN) търси (VLOOKUP) най-близко съвпадение с числото 0 от вертикална колона "(колоната в малката таблица с процентите)" ред първи, данните не са сортирани предварително (FALSE). Ако (IF)числото е по-голямо от 200, тогава (ELSE), Ако (IF) числото в клетка "дневен оборот" е по-малко или равно на 1000, тогава (THEN) търси (VLOOKUP) най-близко съвпадение с числото 0 от вертикална колона "(колоната в малката таблица с процентите)" ред втори, данните не са сортирани предварително (FALSE). Ако (IF)числото е по-голямо от 1000, тогава (ELSE)" ... и т.н. продължаваш повтарянето на формулата, докато изредиш всички възможни отстъпки.
Дано това да ти помогне с нещо.

П.П. THEN и ELSE не се изписват във формулата, но се виждат ако в лентата за формули поставиш курсора върху формулата и кликнеш веднъж с левия бутон

редактиран от plamil на 29.11.18 21:34
nik2009
Пет, 30.11.18, 09:51

RE: Помощ за Ексел

” Използвай IF (дневен оборот < 200;THEN (VLOOKUP0; (колоната в малката таблица с процентите);1; false;) ELSE (IF (дневен оборот < 1000;THEN (VLOOKUP0; (колоната в малката таблица с процентите;2; false;) ... и т.н. продължаваш повтарянето на формулата, докато изредиш всички възможни отстъпки.
В общи линии, правиш условен преход "Ако ... тогава..., ако е не ... продължи така"
Да кажем, груб превод на горната формула:
"Ако (IF) числото в клетка "дневен оборот" е по-малко или равно на 200, тогава (THEN) търси (VLOOKUP) най-близко съвпадение с числото 0 от вертикална колона "(колоната в малката таблица с процентите)" ред първи, данните не са сортирани предварително (FALSE). Ако (IF)числото е по-голямо от 200, тогава (ELSE), Ако (IF) числото в клетка "дневен оборот" е по-малко или равно на 1000, тогава (THEN) търси (VLOOKUP) най-близко съвпадение с числото 0 от вертикална колона "(колоната в малката таблица с процентите)" ред втори, данните не са сортирани предварително (FALSE). Ако (IF)числото е по-голямо от 1000, тогава (ELSE)" ... и т.н. продължаваш повтарянето на формулата, докато изредиш всички възможни отстъпки.
Дано това да ти помогне с нещо.

П.П. THEN и ELSE не се изписват във формулата, но се виждат ако в лентата за формули поставиш курсора върху формулата и кликнеш веднъж с левия бутон „

Определено така ще се получи много добре. Но имам проблем с изписването, като напиша всичко ми дава съобщение за грешка във формулата. Къде бъркам? Снимал съм до където я пиша и вече дава грешка.

plamil
Пет, 30.11.18, 10:15
"Дневен оборот" - замени го с клетката която искаш да провериш, напр "В5"
Записал съм ти "дневен оборот", защото не знам коя клетка ти отговаря за оборота.
На следващия ред от таблицата, съответно ще трябва да промениш и реда от клетката която искаш да следиш

Дай снимка, така че да се виждат сиво оцветените редове и колони в работния лист.
Ако има някаква важна за теб информация, зачисти я през Paint.

П.П.
О, сега видях че по-нагоре си дал точно такава снимка
Тогава формулата ти ще изглежда горе долу така:
=IF(I2<200,(VLOOKUP(0,Setup!$h$2:$h$5,1,FALSE),IF(I2<1000 ......
И още нещо - разделянето на операндите в Ексел не ставаше ли чрез символа точка и запетая, а не само от запетая пкакто си го изписал?
За следващия ред от таблицата - IF трябва да следи клетка I3, за следващия - І4 и т.н. до края на таблицата.
Във втория лист - таблицата със процентите ги задай като 0%, 1%, 2% и т.н. а не както си ги дал 0, 100, 200 и т.н.

редактиран от plamil на 30.11.18 10:35
редактиран от plamil на 30.11.18 10:50
nik2009
Съб, 01.12.18, 14:07

RE: Помощ за Ексел

” "Дневен оборот" - замени го с клетката която искаш да провериш, напр "В5"
Записал съм ти "дневен оборот", защото не знам коя клетка ти отговаря за оборота.
На следващия ред от таблицата, съответно ще трябва да промениш и реда от клетката която искаш да следиш

Дай снимка, така че да се виждат сиво оцветените редове и колони в работния лист.
Ако има някаква важна за теб информация, зачисти я през Paint.

П.П.
О, сега видях че по-нагоре си дал точно такава снимка
Тогава формулата ти ще изглежда горе долу така:
=IF(I2<200,(VLOOKUP(0,Setup!$h$2:$h$5,1,FALSE),IF(I2<1000 ......
И още нещо - разделянето на операндите в Ексел не ставаше ли чрез символа точка и запетая, а не само от запетая пкакто си го изписал?
За следващия ред от таблицата - IF трябва да следи клетка I3, за следващия - І4 и т.н. до края на таблицата.
Във втория лист - таблицата със процентите ги задай като 0%, 1%, 2% и т.н. а не както си ги дал 0, 100, 200 и т.н. „

Благодаря ти! Много ми помогна, така с IF и VLOOKUP нещата се получиха отлично и сега всичко ми работи. Оправих се и със синтаксиса. За точката и запетаята явно са от операционната система, така ми е настроена моята - за разделител на моя компютър се използва запетаята.
plamil
Съб, 01.12.18, 15:49
Радвам се че си успял да се справиш.
Ако има още въпроси - питай, колкото мога ще помагам
johnmotson
Съб, 01.12.18, 21:16
И на мен ми е драго Пламене, че има не само специалисти между нас но и такива специалисти като тебе, които са готови да помогнат на младите хора. Браво на тебе, че не те е обхванало мнението (к'во ма интересува проблема на друг?)! Респект! Такива млади хора са бъдещето не само в DBG! Следя ви кореспонденцията от начало. Бе, все едно на мен или на някой от редовните посетители на DBG помогна, така го чувствам този случай а това ме радва!

plamil
Нед, 02.12.18, 11:45
Джони, благодаря за отзива.
Предполагам си забелязал, че не давам готов отговор, а само насоки как да се разреши даден проблем.
Така (според мен) този който получава помощта, също трябва да помисли малко, за да приключат нещата.
При следващо използване на този трик, поискалия помощ, ще знае каква е логиката и ще се оправи много по-бързо.
johnmotson
Нед, 02.12.18, 12:08
Явно имаш свой подход от който печели и питащия а не наготово. Супер!
  

   Бе, ти да не си бил учител по някои компютърни дисциплини, а? Не случайно питам, защото преди години се разбра, че се занимаваш с писане на качествен програмен код!

plamil
Нед, 02.12.18, 12:48
О... с писането на код приключих отдавна (15+) години. Просто не ми остава време
Но навиците май са останали...
А и още помня как се учех - готовите решения рядко вършеха работа на 100%, подсказките обаче са друго нещо.
Освен че можеш да ги използваш, можеш и да ги нагодиш към собствените си изисквания.
А всъщност съм електротехник КИПиА по образование по професия, никога не съм бил учител
редактиран от plamil на 02.12.18 12:50
johnmotson
Нед, 02.12.18, 17:15
Обикновен електричар Пламене, в никакъв случай не може да се занимава с КИПиА! Работил съм много с автоматика и уреди, имам приятели кипаджии и знам. Все пак за да се захване човек с програмиране, трябва му техническа насоченост и аналитичен ум. dreven също се занимаваше със сорс код, макар да е работил като главен дежурен в АЕЦ 1и2 в Козлодуй.

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.