Reply to this topicStart new topic
> Намиране на най-близката клетка
tiratron
публикация 5.12.2015г. в 16:51ч.
Коментар: #1


Новак
*

Група: Потребители
Съобщения: 5
Дата на регистрация: 5.12.2015г.
Потребител # 24 564





Здравейте. След много писане на формули и много четене и аз допрях да търся помощ.

МОжеше да пусна снимка ,но не ми позволява системата.

Ще го нарисувам с думи smile.gif (сега ще го редактирам, що за простотии , не ми се признават интервалите)
ужас - втора редакция . на третата успях
--А B C
1 1 X
2 2
3 3
4 4 X
5 5
6 6 X

Искам в клетка в колона C , формулата да събира числото от А на същия ред със числото от А намиращо се нагоре при първия Х който се срещне.
Пример в клетка С6 формулата трябва да пресметне В6-В4
За тази цел ми трябва формула търсеща за символ Х нагоре по редовете ,спираща се на първия резултат.
Използвайки Lookup функция тя дири отгоре надолу- не става.
Match пък търси съвпадение ама не и последното.
Може да стане с някакъв масив и в него да се дири последния резултат ,но все още не мога да го осмисля как.

Това съобщение е било редактирано от tiratron на 5.12.2015г. в 16:56ч.
Go to the top of the page
 
+Quote Post
tiratron
публикация 5.12.2015г. в 18:29ч.
Коментар: #2


Новак
*

Група: Потребители
Съобщения: 5
Дата на регистрация: 5.12.2015г.
Потребител # 24 564




Ееееех , така става като е недъгава работата. Какво му имаше на сайта postimage, та сте го забранили?
Не можах да сложа една снимка а се мъча като ....

Ами грешка имам в обясненията.

Примерът е "Пример в клетка С6 формулата трябва да пресметне A6-A4"

Или казано с прости думи - как да намеря последния хикс в колоната. Туй е въпроса.
Без цикли. Макар че е лесно, но е мизерен метод.

Това съобщение е било редактирано от tiratron на 5.12.2015г. в 18:33ч.
Go to the top of the page
 
+Quote Post
tiratron
публикация 5.12.2015г. в 22:44ч.
Коментар: #3


Новак
*

Група: Потребители
Съобщения: 5
Дата на регистрация: 5.12.2015г.
Потребител # 24 564




Така... формулата вече я намерих - работи.
=OFFSET(А2, MAX(IF(NOT (ISBLANK(B2:B25)), ROW(B2:B25),0))-ROW(А2),0)
Намира последната пълна клетка и ми вади съответната стойност в колона А
Работи като масив.

Сега обаче друга пречка .

Задължително му слагам един IF ,който да оставя празна клетката ,ако на същия ред няма записи.
Този IF , обаче, не работи добре със масив и като резултат имам #VALUE

Някакви идеи как да накарам IF да проработи вътре в масива?
Go to the top of the page
 
+Quote Post
tiratron
публикация 5.12.2015г. в 23:19ч.
Коментар: #4


Новак
*

Група: Потребители
Съобщения: 5
Дата на регистрация: 5.12.2015г.
Потребител # 24 564




Съжалявам че поствам нови мнения, времето за редакция е малко и изтича

Пуснах Calculation Step и се оказва , че IF не е проблема. Проблема е в момента в който функцията OFFSET трябва да пресметне . Уж всичко и е наред - има си клетка,има си стъпка ,обаче изпада във VALUE.
Странно е , защото като махна IF и всичко се смята коректно. Но самият ексел ми показва че OFFSET греши.
Даже си преведох IF във форма с която може да работи в масивите.
Go to the top of the page
 
+Quote Post
tiratron
публикация 6.12.2015г. в 00:00ч.
Коментар: #5


Новак
*

Група: Потребители
Съобщения: 5
Дата на регистрация: 5.12.2015г.
Потребител # 24 564




Отново намерих грешката и не знам защо въобще е грешка това.
Има разлика между двата реда
=OFFSET(А2, MAX(IF(NOT (ISBLANK(B2:B25)), ROW(B2:B25),0))-ROW(А2),0
=OFFSET(А2, MAX(IF(NOT (ISBLANK(B2:B25)), ROW(B2:B25),0))-2 ,0)

паузата я оставям за по-лесно да се види (по дяволите, оправете го тоя форум. Защо не мога да оставя няколко интервала един след друг??ами няма да има пауза значи)
Вторият ред работи. Първият не. При постъпковото калкулиране стойността на ROW(A2) e {2} , което е така. Не знам защо не го признава.

Реално цялата формула която пиша е следната
=IF(B53<>"";(D53-(OFFSET($D$51;MAX(IF(NOT(ISBLANK($E$52:E52));ROW($E$52:E52);0))-51;0)));"")
А2 е сменено със D51

Изумен съм ... даже IF си работи нормално а уж не работеше в масиви.Защо обаче не му хареса ROW(D51) нямам идея.

Това съобщение е било редактирано от tiratron на 6.12.2015г. в 00:02ч.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 потребители преглеждат тази тема в момента (2 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

 

RSS Олекотена Версия Сега е: 06:58 - 26.08.2026г.

Калдейта Ком ЕООД - © 2003-. Всички права запазени.