|
Тема |
Стана, работата [re: Eжko_] |
|
Автор |
Eжko_ (бодли_дрешко) |
|
Публикувано | 21.04.10 10:50 |
|
|
Един приятел ми помогна - това, което ми предостави, работи успешно.
Формулата е:
=INDIRECT(CONCATENATE(CHAR(75+COUNT(L4:Y4));4))+120
Функцията COUNT(L4:Y4) преброява числата в масива L4:Y4.
Преброявайки колко са числата в този масив и изхождайки от предпоставката, че те са плътно подредени от началото му, вече знаем с колко клетки е отместено последното число от първата клетка на масива - Disp. Ако в някоя от клетките има нещо, което е различно от число, формулата ще дава грешен резултат.
Функцията CHAR(64+Disp) преобразува число в буква - Sign. Sign в случая може да бъде буква от L до Y. Ако отместиш края на масива по-надясно от колона Z формулата няма да работи. 64 съответсвтва на колона А, към него добавяме отместването. Т.е. ако нашият масив започва от колона B, числото трябва да е 65. За колона L - това, което на мен лично ми трябва - числото е 75.
Функцията CONCATENATE(Sign;4) обединява буквата Sign със знака 4. Резултатът е дума от порядъка L4-Y4, което е адреса на последната пълна клетка на масива.
Функцията INDIRECT(Adres) връща стойността от клетката, посочена като Adres.
"Обърни внимание", казва накрая моя приятел - "че формулата, която съм ти дал не е универсална. Не можеш да разпъваш или променяш вида и мястото на масива и тя да ти дава верни резултати. Тя работи вярно само в конкретния случай и в никой друг. Ако искаш универсална формула, задачата става доста сложна."
Да му благодарим всички за положеното старание.
Редактирано от Eжko_ на 21.04.10 10:51.
|
| |
|
|
|