Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.03.2008, 12:22   #1
c_zurab
 
Регистрация: 10.03.2008
Сообщений: 7
По умолчанию Никак не могу составить формулу... просьба помочь...

Здравствуйте все...
Сталкнулся с проблемой и как мне кажеться оно очень сложная...
Помогите пожалуста, очень нужно...
Обяснью в чем дело:
Есть ячейка (А1). В нем записано Z00000Z000Z0Z
Мне нада сделать формулу, которая посчитает сколько 0ей между буквами Z (и выдаст самую больщую из них).
В данном случае после первого Z - 5ть 0ей. После второго - 3, а после 3го - 1.
Чтоб формула выдала число 5ть (т.к. оно самое больщое).
Не знаю доходчиво ли я обяснил, но очень сторался.
Даже не знаю можно ли такое сделать в Excel.
Но очень нужно.
Еще раз всех, очень очень прощу поддержать и помочь...
Заранее спасибо...
c_zurab вне форума
Старый 14.03.2008, 10:55   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А между "Z" всегда нули, или может быть что угодно? (тогда что считать?)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 14.03.2008, 11:10   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1. Необходимо отметить диапазон А1:Х1 и назвать его "ряд" (см. в формуле)
2. эту фомулу =МАКС((ЕСЛИ(ЕОШ(НАЙТИ(ПОВТОР("0";СТ ОЛБЕЦ(ряд));A1));0;1))*СТОЛБЕЦ(ряд) ) скопировать в нужную ячейку. Это пока работать не будет, необходимо:
3. Нажать в этой ячейке F2, Ctrl+Shift+Enter. Таким образом введена формула массива (вокруг нее появятся фигурные скобки {}). Вот это уже работает

данная формула выдаст корректный результат при максимальном количестве нулей расположенных подряд до 24 шт. Цифра 24 зависит не от формулы, а от ширины диапазона названного "ряд". Если есть случаи с большим количеством нулей подряд - переприсвойте имя "ряд" большему диапазону.

спасибо. задача была интересная
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 14.03.2008, 11:49   #4
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

IgorGO
Супер решение
Можно еще вместо "ряд" поставить
СТОЛБЕЦ(ДВССЫЛ("1:1"))

Последний раз редактировалось ZORRO2005; 14.03.2008 в 11:53.
ZORRO2005 вне форума
Старый 14.03.2008, 12:52   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ZORRO2005
Согласен, так универсальнее.
Но все равно так упираемся в следующее ограничение - 256 повторов. Это довольно много, но не зная сути задачи (что там Зураб считает?) может оказаться мало, есть смысл в таком случае перейти от функции СТОЛБЕЦ на СТРОКА и упереться таким образом в ~65тыс.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 14.03.2008, 17:16   #6
rexec
Пользователь
 
Аватар для rexec
 
Регистрация: 27.12.2007
Сообщений: 73
Хорошо

IgorGO
ZORRO2005

Очень красивое решение. Поясните, пожалуйста, как Excel воспринимает ссылку "1:1". И что будет означать, например, ссылка "32:67"?
Спасибо.
rexec вне форума
Старый 14.03.2008, 20:58   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Коллега по работе предложил замечательное упрощение формулы, с учетом дельного замечания ZORRO2005 все теперь выглядит так:

=СЧЁТ(НАЙТИ(ПОВТОР("0";СТОЛБЕЦ(ДВСС ЫЛ("1:1")));A1))

Подготовительных действий уже не требуется, но F2, Ctrl+Shift+Enter нажать нужно будет.
Теперь даже 256 нулей подряд будут обсчитаны правильно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 14.03.2008, 23:34   #8
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

rexec
Это строки...
вы в любую ячейку введите
Код:
=1:1
или
Код:
=32:67
и увидите какой диапазон выделен
ZORRO2005 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Никак не могу написать код для..... PayBack Общие вопросы C/C++ 2 07.07.2008 13:55
Просьба помочь новичку со списками. cbst Общие вопросы C/C++ 4 13.06.2008 19:32
Помогите составить формулу !!!! kutt Microsoft Office Excel 4 24.05.2008 11:44
Просьба помочь с состовлением формулы... c_zurab Microsoft Office Excel 1 11.03.2008 01:35
Просьба помочь с решением уравнения Stelix Помощь студентам 9 14.11.2007 19:00