Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

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

     

Препоръчан отговор


Имам следния проблем: искам да направя таблица в която като вкарам определен код в дадена клетка вапросната функция да попалва други клетки от таблицата като взима данни от друг екселски файл. Би трябвало да изглежда по подобен начин, но немога да го направя с вапросния пример:

=IF((COUNTIF('\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$6:$C$10030;$C25))=1;VLOOKUP($C25;'\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$1:$L$65536;3;FALSE))

Благодаря предварително

Линк към този отговор
Сподели в други сайтове
къде ти дава първата грешка?

ами маркира ми пътя до файла, но едва ли това е проблемът. някъде в реда на изписване вероятно има проблем/не съм го писал аз/. !$C$1:$L$65536;3;FALSE този момент на края хич не ми е ясен. направо вече ми пуши главата...

Линк към този отговор
Сподели в други сайтове
ами маркира ми пътя до файла, но едва ли това е проблемът. някъде в реда на изписване вероятно има проблем/не съм го писал аз/. !$C$1:$L$65536;3;FALSE този момент на края хич не ми е ясен. направо вече ми пуши главата...

АКо е по-стара версия на Excel няма толкова клетки, а само 32767 (или 1,2 по-малко), промени го и пробвай пак. А за това какъв е формата прочети в хелпа какво пише за функциите

Линк към този отговор
Сподели в други сайтове

Това, което бях предложил е грешно.

Формулата от първия пост е вярна. Имитирах същото в друг файл и резултата беше, че на Excel не достигат ресурси за изпълнение на операцията. Машината е с 2GB RAM.

Редактирано от Ken (преглед на промените)

Линк към този отговор
Сподели в други сайтове
АКо е по-стара версия на Excel няма толкова клетки, а само 32767 (или 1,2 по-малко), промени го и пробвай пак. А за това какъв е формата прочети в хелпа какво пише за функциите

ЗА СЪЖАЛЕНИЕ И ТОВА НЕ Е ПРОБЛЕМЪТ. ПОСЛЕДНО ФУНКЦИЯТА ИЗГЛЕЖДА ТАКА:

=IF((COUNTIF('\\C:\Documents and Settings\pc\Desktop\[c.matic_price liste 2007.xlsx]Listino_CMatic'!$A$12:$A$1441;$C14))=1;VLOOKUP($C14;'\\C:\Documents and Settings\pc\Desktop\[c.matic_price liste 2007.xlsx]Listino_CMatic'!$B$1:$C$3000;2;FALSE))

ПРОБЛЕМЪТ НЕ Е И В ПРАВИТЕ СКОБИ

ПРИКАЧВАМ ЕДИН ПРИНТ СКРИЙН. ДАНО ДА Е ОТ ПОЛЗА

ЕТО ОЩЕ 2 ПРИНТ СКРИЙНА. ВЕЧЕ НЕ МИ ДАВА ГРЕШКА В ПЪТЯ НА ИЗПИСВАНЕ.

=IF((COUNTIF('\\C:\Documents and Settings\pc\Desktop\[c.matic_price liste 2007.xls]Listino_CMatic'!$A$12:$A$1441;$B14));VLOOKUP($B14;'\\C:\Documents and Settings\pc\Desktop\[c.matic_price liste 2007.xls]Listino_CMatic'!$B$12:$C$3000;2;FALSE))

НО ВСЕ ОЩЕ НЕ СЕ ПОЛУЧАВА ВРАЗКАТА МЕЖДУ 2-ТА ЕКСЕЛ ФАЙЛА

post-115402-1222348875_thumb.jpg

post-115402-1222350343_thumb.jpg

post-115402-1222350371_thumb.jpg

Редактирано от glamer (преглед на промените)
Линк към този отговор
Сподели в други сайтове

Ааа, тогава пишеш само C: без \\, защото те са само за случай, когато това е шерната папка ;)

Линк към този отговор
Сподели в други сайтове
Ааа, тогава пишеш само C: без \\, защото те са само за случай, когато това е шерната папка :angry:

и това го пробвах ама ней се

нещо май референцията е грешна

аз продължавам да се мъча, ако и ти се сетиш нещо...

благодаря все пак за помощта

Линк към този отговор
Сподели в други сайтове
Имам следния проблем: искам да направя таблица в която като вкарам определен код в дадена клетка вапросната функция да попалва други клетки от таблицата като взима данни от друг екселски файл. Би трябвало да изглежда по подобен начин, но немога да го направя с вапросния пример:

=IF((COUNTIF('\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$6:$C$10030;$C25))=1;VLOOKUP($C25;'\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$1:$L$65536;3;FALSE))

Благодаря предварително

Добре, де, гледам го това вече толкова време, явно съм тъпа, но не схващам!!!

Излиза, че проверяваното условие е COUNTIF('\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$6:$C$10030;$C25))=1;VLOOKUP($C25;'\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$1:$L$65536

Да, обаче COUNTIF изисква област и критерий. В случая излиза, че областта, която се проверява е '\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$6:$C$10030;$C25))=1, а критерият е VLOOKUP($C25;'\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$1:$L$65536 и като цяло ще излезе стойност 3, ако критерият на if-а е изпълнен, иначе false

Обаче, за мен има грешка в '\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$6:$C$10030;$C25))=1 равенството какво прави тук???

Може и да греша - много ми станаха скобите... :)

Редактирано от fedora (преглед на промените)
Линк към този отговор
Сподели в други сайтове
Добре, де, гледам го това вече толкова време, явно съм тъпа, но не схващам!!!

Излиза, че проверяваното условие е COUNTIF('\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$6:$C$10030;$C25))=1;VLOOKUP($C25;'\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$1:$L$65536

Да, обаче COUNTIF изисква област и критерий. В случая излиза, че областта, която се проверява е '\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$6:$C$10030;$C25))=1, а критерият е VLOOKUP($C25;'\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$1:$L$65536 и като цяло ще излезе стойност 3, ако критерият на if-а е изпълнен, иначе false

Обаче, за мен има грешка в '\\SERVER\technokom\Metal Work\[Metal_Work-2007.xls]Listino 6Q 6R con peso'!$C$6:$C$10030;$C25))=1 равенството какво прави тук???

Може и да греша - много ми станаха скобите... :)

ами това съм го копирал от уж работеща таблица. ако можех сам да си го напиша...

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

Линк към този отговор
Сподели в други сайтове

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

:)

Линк към този отговор
Сподели в други сайтове

Много е объркващо с тези километрични формули.

Един съвет - дефинирай и използвай имена. Погледни тук (Using Named Ranges). Освен пътя до файла, с име може да заместиш и областта за претърсване, която се използва във VLOOKUP функцията. Така формулата ти ще стане много по-разбираема.

Виждам, че в клетките има #VALUE! грешка. Може да видиш тук в какви случаи се получава - при теб може да се получава при сравняване на данни които са с формат text с други, които са с формат number.

Не ми е много ясно защо се използва функцията IF, по-точно функция COUNTIF като условие (какво точно преброяваш?). Така написано означава, че искаш кода на "стоката", който ще напишеш, да се провери колко пъти се повтаря в колоната и ако се повтаря само 1 път да се изпълни VLOOKUP. Мисля, че е излишно, защото този код служи като идентификатор (ID) на "стоката" и е почти сигурно, че е единствен (не се повтаря).

Може да видиш пояснения и примери за използването на функциите COUNTIF и VLOOKUP.

Редактирано от trosho (преглед на промените)
Линк към този отговор
Сподели в други сайтове

ПОСЛЕДНО МАХНАХ IF ФУНКЦИИТЕ И СЕГА СЕ ПОЛУЧАВА ТОВА:

=VLOOKUP('E:\[c.matic_price liste 2007.xls]Listino_CMatic'!B10;$A$12:$D$2141;3;FALSE)

ПАК НИЩО

post-115402-1222367441_thumb.jpg

Редактирано от glamer (преглед на промените)
Линк към този отговор
Сподели в други сайтове
ПОСЛЕДНО МАХНАХ IF ФУНКЦИИТЕ И СЕГА СЕ ПОЛУЧАВА ТОВА:

=VLOOKUP('E:\[c.matic_price liste 2007.xls]Listino_CMatic'!B10;$A$12:$D$2141;3;FALSE)

ПАК НИЩО

Ами нищо, защото предполагам нямаш данни в изследваната от теб област, т.е. клетка B10 от E:\[c.matic_price liste 2007.xls]Listino_CMatic е празна, както и областта $A$12:$D$2141, която ще се претърсва и съответно връща N/A грешка, или няма съответната стойност, която се търси.

Редактирано от fedora (преглед на промените)
Линк към този отговор
Сподели в други сайтове

Ами нормално е да не става. Сравни внимателно новата ти фунция с VLOOKUP частта на предишната фунция.

В новата функция се опитваш да търсиш стойността на клетка от външният файл в област от текущият sheet.

В предишната е обратно - първият аргумент (стойността която се търси) е клетка от текущият sheet, а вторият аргумент (областта, в която се търси) е област от лист във външния файл. Мисля, че и двата файла трябва да са отворени в Excel. В момента говоря по спомени, защото нямам инсталиран Excel и може и да греша.

Редактирано от trosho (преглед на промените)
Линк към този отговор
Сподели в други сайтове
Мисля, че и двата файла трябва да са отворени в Excel. В момента говоря по спомени, защото нямама инсталиран Excel и може и да греша.

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

Линк към този отговор
Сподели в други сайтове

АМА И АЗ СЪМ ЕДИН ЗАГУБЕН...

ВРЪЩА N/A ЗАЩОТО КОДЪТ, ПО КОЙТО ИСКАМ ДА ТЪРСИ Е БУКВЕНО ЦИФРЕН /А123456/. САМО С ЦИФРЕН КОД ВСИЧКО Е ОК. СЕГА ВЪЗНИКВА ДРУГИЯ ВЪПРОС /ПРЕДПОЛАГАМ, ЧЕ ВЕЧЕ ВИ ПИСНА ЯКО/: КАК ДА НАКАРАМ ФУНКЦИЯТА ДА НАМИРА БУКВЕНО-ЦИФРЕН КОД?

Редактирано от glamer (преглед на промените)
Линк към този отговор
Сподели в други сайтове

Не е прието да се пише само с главни букви, защото това се приема като повишаване на тона и все едно се караш на някого.

Май разбрах защо в първоначалната ти функция, която си копирал, се използва IF и COUNTIF - както може да видиш тук, това е един от начините да не се показва #N/A! Error от VLOOKUP функцията. За целта първо с COUNTIF се проверява дали стойността, която търсиш, я има и ако е "да" се изпълнява VLOOKUP, като вече е сигурно, че тя няма да върне грешка. За мен лично това е излишно.

ВРЪЩА N/A ЗАЩОТО КОДЪТ, ПО КОЙТО ИСКАМ ДА ТЪРСИ Е БУКВЕНО ЦИФРЕН /А123456/ ...

Не мисля, че точно на това се дължи грешката. Виж тук на какво може да се дължи грешка #N/A! при използване на функции за lookup.

Ако се съмняваш, че грешката се дължи на различните типовете на сравняваните стойности, може да ги сравниш като видиш резултата от функция T(). Може да конвертираш стойности във форматиран текст (функция TEXT) или в цифри (функция VALUE). Подробности за тях виж тук или в Help-а на Excel.

Линк към този отговор
Сподели в други сайтове
Не е прието да се пише само с главни букви, защото това се приема като повишаване на тона и все едно се караш на някого.

Май разбрах защо в първоначалната ти функция, която си копирал, се използва IF и COUNTIF - както може да видиш тук, това е един от начините да не се показва #N/A! Error от VLOOKUP функцията. За целта първо с COUNTIF се проверява дали стойността, която търсиш, я има и ако е "да" се изпълнява VLOOKUP, като вече е сигурно, че тя няма да върне грешка. За мен лично това е излишно.

Не мисля, че точно на това се дължи грешката. Виж тук на какво може да се дължи грешка #N/A! при използване на функции за lookup.

Ако се съмняваш, че грешката се дължи на различните типовете на сравняваните стойности, може да ги сравниш като видиш резултата от функция T(). Може да конвертираш стойности във форматиран текст (функция TEXT) или в цифри (функция VALUE). Подробности за тях виж тук или в Help-а на Excel.

Благодаря! Продължавам да търся проблема, но игнорирам функциите IF/абсолютно си прав, че са излишни/ и работя само с VLookup. Извинявам се за главните букви, но снощи по едно време вече незнаех къде се намирам и изобщо не съм помислил.

Линк към този отговор
Сподели в други сайтове

Егати и гаврата. оказа се, че всичко си работи супер. Само таблицата в която търся, понеже е готова, този който я е правил е "омагьосал" нещо кодовете и затова не ги разпознава. Като въведа мой буквено-цифрен код няма грешка. Единиците в тези готовите кодове ми ги изписва с лилав цвят, може би има вразка? Като разбера и това защо е така пак ще пиша...

Готово!

Шибани интервали след кода. Малко да имаш ама на време да ти дойде

Редактирано от glamer (преглед на промените)
Линк към този отговор
Сподели в други сайтове

Ето така изглеждат нещата в завършен вид:

=IF(ISERROR(VLOOKUP($C22;'[c.matic_price liste 2007.xlsx]Listino_CMatic'!$A$12:$D$2141;3;FALSE));0;VLOOKUP($C22;'[c.matic_price liste 2007.xlsx]Listino_CMatic'!$A$12:$D$2141;3;FALSE)

разбира се на пътя до файла може да се даде име за да е по-кратка формулата. IF и ISERROR ги ползвам за да ми връща "0" в клетката когато не намира съвпадения /иначе връща #N/A, което пречи на крайните изчисления/.

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

cool.gif

Линк към този отговор
Сподели в други сайтове

Добавете отговор

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

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Добави ново...

Информация

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