Jump to content

Ръководства за работа с Excel 2003


Препоръчан пост

Привет k0st4din,

 

Ще ти обясня малко по-подробно. В твоя случай формулата за COUNTIF не сработва, защото открива винаги само едно попадение и не работи на принцица на цикъл, който би продължил напред в същата клетка, а просто се прехвърля на следващата. Т.е. ако в две клетки имаш съответно 255, 255 и във втората само 255, функцията ще върне резултат 2, защото е открила 2 клетки, които съдържат текстовия низ. Има други функции като SEARCH и FIND, които също търсят текстови низ в дадена клетка, но за да ги използваш трябва да направиш доста сложна формула, в която след като бъде открито първото появяване на низа, който търсиш да започва да търси от следващата позиция (от следващия номер на символ в клетката) и т.н., но формулата ще стане много дълга и няма да е особено ефективна. Предполагам, че може да стане с VBA, но там не ми е силната страна.

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

Можеш да използваш горната формула и да я развиеш като например сложиш търсения низ в отделна клетка и след това си направиш едно concatenate за резултата, който търсиш. Нещо като например това - =CONCATENATE(LEN(A3)-(LEN(SUBSTITUTE(A3,B3,25)))),"*",B3), при което ще получиш резултат х*255.

Иначе с цел оптимизирането на формулата (на което съм голям фен) можеш директно да използваш съкратената версия на CONCATENATE, т.е. без самото име на формулата, а само символа &, т.е. =(LEN(A3)-(LEN(SUBSTITUTE(A3,B3,25))))&"*"&B3

Резултатът е същия.

Link to comment
Сподели другаде

  • Отговори 1.5k
  • Създадена
  • Последен отговор

ТОП потребители в тази тема

ТОП потребители в тази тема

Публикувани изображения

Здравейте

и Благодаря на Tragedy за помоща.

Начина по който ми помогна с формулата стана, за тези които може да им потрябва нещо такова нека да спомена, че =(LEN(A3)-(LEN(SUBSTITUTE(A3,B3,25))))&"*"&B3 ->>> това 25 е низа който търсите(или да го кажем така -> в моят случай търся число с 3 низа т.е 255, то тогава записвам 25 или АВ или 36 или каквото и да било - което намалява с минус -1) и така ще покаже колко пъти се повтаря търсеното нещо. За по-лесно др. пример: да кажем че търсите думата

Прасе - то тогава написвате например (на мястото на 2554 или ВВВВ)т.е с 1 по-малко и ще стане =(LEN(A3)-(LEN(SUBSTITUTE(A3,B3,ВВВВ))))&"*"&B3 т.е буквите или числата трябва да са с един знак по-малко от самата дума.

Поздрави от мен и отново Благодаря на Tragedy. :look:

Link to comment
Сподели другаде

Здравейте,

от известно време следя форумът и успявах да си разреша проблемите с Excel. Имам един въпрос, на който не можах да намеря отговор. Магазин предлага промоции за определени артикули. Клиентите могат да се възползват от тях само на определена дата от месеца, ако разбира се са направили покупки преди това. Датата на която могат да се възползват е 2-ро число на месеца. Ако са направили покупките си преди 20-то число на даден месец, то датата на която могат да се възползват от промоцията е 2-ро число на следващият месец, иначе на 2-ро число на по-следващият месец. Успях донякъде да я докарам-изкарвам следващ или по-следващ месец, но не мога да измисля как да получа това 2-ро число на месеца в датата на промоция.

Благодаря за помощта предварително.

primer.xlsx

Link to comment
Сподели другаде

Здравей ralka37,

Можем да го обобщим така:

Например:

от 01.01.2011 до 20.01.2011 г. - Промоцията е на 2 Февруари 2011 г.

от 21.01.2011 до 20.02.2011 г. - Промоцията е на 2 Март 2011 г.

Така ли да го разбираме?

Или:

от 01.01.2011 до 20.01.2011 г. - Промоцията е на 2 Февруари 2011 г.

от 11.01.2011 до 20.02.2011 г. - Промоцията е на 2 Март 2011 г.

В този случай след 20то число бягат дати до 30ти или 31ви на същият месец!?

Link to comment
Сподели другаде

Ако покупката е направена преди 20-о число на месеца-промоцията е на 2-ро число следващият месец, иначе на 2-ро число по-следващият месец

 

напр. ако покупката е направена от 01.01.2011-до19.01.2011(вкл)-пром. 2.02.2011

от 20.01.2011-до 31.01.2011-пром.е 2.03.2011 и т.н.

Link to comment
Сподели другаде

Привет

Браво на Tragedy,

Само ако мога да добавя, че поради факта че при нея настройките на Ексел са различни - запетайките ще ти дадът грешка, само ги замени с (точка и запетая -> ( ; ) =DATE(YEAR(A2);IF(DAY(A2)<20;MONTH(A2)+1;MONTH(A2)+2);2)

Поздрави

Link to comment
Сподели другаде

Благодаря ви за помощта.

И само един въпрос - явно не ми е достатъчно ясна ф-та year, но как успява ф-лата да изведе следващата година- напр.ако датата на покупката е 25.12.2011-да даде резултат,че пром.е на 02.01.2012

 

Поздрави

Link to comment
Сподели другаде

Привет,

 

"Умното" на excel в този случай е, че усеща, че когато има 13-ти месец, това всъщност е 1-ви месец на следващата година. Формулата показва дата, на база зададени дни, месеци и години и мисли малко разумно, за да не покаже някоя глупост.

Link to comment
Сподели другаде

Направих голяма беля! Имах много важна информация в Excel 2003. Наложи се да направя някой промени, обаче се оказа, че новите данни, които въведох са бсолютно погрешни и сега всичко се обърка. Аз обаче запаметих страниците с грешните промени и сега не знам кое е вярно, кое не. С една дума пълна бъркотия. Има ли начин да си възстановя файла такъв какъвто е бил преди 2 часа/ Т.е. без последната промяна?/ Ако трябва да започна всичко отначало, ще ми трябват дни...

 

До колкото разбрах с Excel 2007 има някаква възможност това да стане, но при 2003 мислите ли, че е възможно и как ?!?

Редактиран от Вання
Link to comment
Сподели другаде

Здравей Вання

Идеята е много добра да пробваш с линка, който ти е подал Tragedy, но мисля че ще работи под Виста и Win7.

Друго за което се сещам е помисли дали не си го изпращала по имейл на някого, на някой друг компютър, флашки.......

Поздрави

Link to comment
Сподели другаде

Искам да попитам нещо:

 

Възможно ли е примерно колони (с размер 8.43)- B,C,D попълвам някакви числа в B2, C2,D2, B3,C3,D3. мога ли да ги "заключа" по такъв начин, че ако реша да увеличавам или намалявам размера на тези колони в последствие B2, C2,D2, B3,C3,D3 да си останат с различен размер

Един вид да си заключвам определени "позиции" които да не се променят ако се промени глобално размера на колоната.

 

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

Поздрави!

Link to comment
Сподели другаде

Здравей, принципно от това, което пишеш малко не се разбира каква точно ти е идеята:

Затова:

Ако дадеш определен размер на колони В,С,D, и ги заключиш няма да може да се променят, но ако конкретизираш точно определени клетки от КОЛОНИТЕ В,С,D - няма как да стане. Има вариант в който от например В1 до края да ги оразмериш и да ги заключиш, като всички останали А,Е,J и до където искаш можеш да променяш.

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

Поздрави

Link to comment
Сподели другаде

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...

×
×
  • Създай ново...