В диапазон А1:Z1 вносятся вручную данные. Диапазон может быт заполнен как полностью, так и нет. Не заполненные клетки могут быть только пустыми. Порядок заполнения клеток произвольный: могут быть заполнены подряд, например, 3 клетки, а потом 2 пустые или одна или не быть пустых вообще. Какой-то четкой логики и зависимости между вносимыми значениями как слева направо, так и справа налево нет. Сортировать диапазон после внесения данных нельзя
Возможно ли при таких условиях найти относительную позицию первого по порядку значения в диапазоне? Сам уже измучился, никак не получается.
Идеальный вариант - обойтись без формул массива, но если никак, то пусть с ними.
Заранее спасибо.....
Здравствуйте!
Суть проблемы:
В диапазон А1:Z1 вносятся вручную данные. Диапазон может быт заполнен как полностью, так и нет. Не заполненные клетки могут быть только пустыми. Порядок заполнения клеток произвольный: могут быть заполнены подряд, например, 3 клетки, а потом 2 пустые или одна или не быть пустых вообще. Какой-то четкой логики и зависимости между вносимыми значениями как слева направо, так и справа налево нет. Сортировать диапазон после внесения данных нельзя
Возможно ли при таких условиях найти относительную позицию первого по порядку значения в диапазоне? Сам уже измучился, никак не получается.
Идеальный вариант - обойтись без формул массива, но если никак, то пусть с ними.
Может я понял как то неправильно, но смещение у Вас есть в План-Факт ввода в эксплуатацию, что мешает разницу по датам прибавить в "План платежей"? Если что, то первую позицию можно найти так
Код
={ПОИСКПОЗ("*,*";ТЕКСТ(A4:N4;",00;;;");0)}
/первое,что в голову пришло)
Может я понял как то неправильно, но смещение у Вас есть в План-Факт ввода в эксплуатацию, что мешает разницу по датам прибавить в "План платежей"? Если что, то первую позицию можно найти так
Просто так прибавить не получиться (по крайней мере у меня). В примере слишком упрощенный вариант просто, в реальном файле зависимостей по срокам больше
Для себя написал такую формулу:
Код
=ПОИСКПОЗ(1;ОКРУГЛВВЕРХ(A137:FL137;);)
Но все равно, это формула массива, а вот если бы без нее.
Неужели для ПОИСКПОЗ () никак нельзя представить искомое значение "больше 0"?...Это был бы выход без применения формулы массива. Я кроме как ">0" не соображу никак, но такой синтаксис сам формулу не устраивает, ошибку выдает
Tachkin, спасибо за идею!
Просто так прибавить не получиться (по крайней мере у меня). В примере слишком упрощенный вариант просто, в реальном файле зависимостей по срокам больше
Для себя написал такую формулу:
Код
=ПОИСКПОЗ(1;ОКРУГЛВВЕРХ(A137:FL137;);)
Но все равно, это формула массива, а вот если бы без нее.
Неужели для ПОИСКПОЗ () никак нельзя представить искомое значение "больше 0"?...Это был бы выход без применения формулы массива. Я кроме как ">0" не соображу никак, но такой синтаксис сам формулу не устраивает, ошибку выдаетLyova
Сообщение отредактировал Serge_007 - Понедельник, 10.11.2014, 01:15
Вас не устраивает вариант сдвига не платежей, а календаря (строка 20)? Только, возможно (если вообще подходит), надо доработать вариант, когда сдвиг более 12 месяцев, если такое вообще возможно.
Сорри, файл пока с ошибкой. Поправлю, перевложу. Можно смотреть.
Вас не устраивает вариант сдвига не платежей, а календаря (строка 20)? Только, возможно (если вообще подходит), надо доработать вариант, когда сдвиг более 12 месяцев, если такое вообще возможно.
Сорри, файл пока с ошибкой. Поправлю, перевложу. Можно смотреть.alex1248
Как выглядит это в файле: по горизонтали - даты (месяцы), по вертикали вид работ (большой перечень). Вместе получается план финансирования (плановый, т.е. до того, как пользователь начинает "играться" со сроками и %). Есть вторая таблица, по смыслу такая же, которая выдает результат этих игрищ. На изменение сроков разных работ влияют разные факторы и не все работы зависят друг от друга по сроку. Например, без выполнения некоторых пускай даже "маленьких" работ проект вцелом дальше встает, а, например, разумная отсрочка начала выполнения "больших" работ никак не влияет на общую продолжительность всего проекта.
В принципе, можно было бы для каждой работы применять свой календарь, как Вы предлагаете, а потом сводить все в единую таблицу, но получиться очень громоздко тогда.
Не знаете, как для ПОИСКПОЗ() задать искомое значение как "больше 0"?
alex1248, неее, сдвиг календаря не вариант.
Как выглядит это в файле: по горизонтали - даты (месяцы), по вертикали вид работ (большой перечень). Вместе получается план финансирования (плановый, т.е. до того, как пользователь начинает "играться" со сроками и %). Есть вторая таблица, по смыслу такая же, которая выдает результат этих игрищ. На изменение сроков разных работ влияют разные факторы и не все работы зависят друг от друга по сроку. Например, без выполнения некоторых пускай даже "маленьких" работ проект вцелом дальше встает, а, например, разумная отсрочка начала выполнения "больших" работ никак не влияет на общую продолжительность всего проекта.
В принципе, можно было бы для каждой работы применять свой календарь, как Вы предлагаете, а потом сводить все в единую таблицу, но получиться очень громоздко тогда.
Не знаете, как для ПОИСКПОЗ() задать искомое значение как "больше 0"? Lyova
Тогда куда должны попадать 2 первые значения, которым место вроде бы в предыдущем году, в котором нет календаря? Вообще, если бы в файле вы показали, что хотите видеть в итоге, наверное, кто-нибудь уже подсказал бы.
Тогда куда должны попадать 2 первые значения, которым место вроде бы в предыдущем году, в котором нет календаря? Вообще, если бы в файле вы показали, что хотите видеть в итоге, наверное, кто-нибудь уже подсказал бы. alex1248
skype alex12481632 Qiwi +79276708519
Сообщение отредактировал alex1248 - Воскресенье, 05.10.2014, 22:42
как для ПОИСКПОЗ() задать искомое значение как "больше 0"?
Для чего? Почему вас не устраивает формула со СМЕЩ, уже написанная в файле? Кстати, лично я совершенно не понял "4. Находим начальную позицию плана платежей в %" - что значит вот это, и какое отношение это имеет к сдвигу графика платежей.
как для ПОИСКПОЗ() задать искомое значение как "больше 0"?
Для чего? Почему вас не устраивает формула со СМЕЩ, уже написанная в файле? Кстати, лично я совершенно не понял "4. Находим начальную позицию плана платежей в %" - что значит вот это, и какое отношение это имеет к сдвигу графика платежей.alex1248
skype alex12481632 Qiwi +79276708519
Сообщение отредактировал alex1248 - Воскресенье, 05.10.2014, 23:08
krosav4ig, получается прям то, что нужно! Хотя, признаюсь, пока не до конца въехал в логику.
Эта формула возвращает относительной позиции последнего значения в строке, но как она его находит?.Исходя из справки эксель поискпоз() должна искать значение 1 в интервале (4:4 я так понимаю это строка), но там его нет и по идее должна быть выдана ошибка. Буду благодарен, если объясните......
krosav4ig, получается прям то, что нужно! Хотя, признаюсь, пока не до конца въехал в логику.
Эта формула возвращает относительной позиции последнего значения в строке, но как она его находит?.Исходя из справки эксель поискпоз() должна искать значение 1 в интервале (4:4 я так понимаю это строка), но там его нет и по идее должна быть выдана ошибка. Буду благодарен, если объясните......Lyova
пардон,в предыдущем сообщении часть текста случайно обрезалась
krosav4ig, получается прям то, что нужно! Хотя, признаюсь, пока не до конца въехал в логику =ПОИСКПОЗ(1;4:4)
Эта формула возвращает номер относительной позиции последнего значения в строке, но как она его находит?.Исходя из справки эксель поискпоз() должна искать значение 1 в интервале (4:4 я так понимаю это строка), но там его нет и по идее должна быть выдана ошибка. Буду благодарен, если объясните......
пардон,в предыдущем сообщении часть текста случайно обрезалась
krosav4ig, получается прям то, что нужно! Хотя, признаюсь, пока не до конца въехал в логику =ПОИСКПОЗ(1;4:4)
Эта формула возвращает номер относительной позиции последнего значения в строке, но как она его находит?.Исходя из справки эксель поискпоз() должна искать значение 1 в интервале (4:4 я так понимаю это строка), но там его нет и по идее должна быть выдана ошибка. Буду благодарен, если объясните......Lyova
krosav4ig, опять же из справки: если тип сопоставления опущен, то предполагается, что он = 1, при этом должна быть сортировка по возрастанию, иначе формула будет работать некорректно. А у Вас работает правильно, как так получается?
krosav4ig, опять же из справки: если тип сопоставления опущен, то предполагается, что он = 1, при этом должна быть сортировка по возрастанию, иначе формула будет работать некорректно. А у Вас работает правильно, как так получается?Lyova
Lyova, если функции ПОИСКПОЗ в качестве искомого значения скормить значение, заведомо большее, чем любое из гипотетически возможных значений в диапазоне в данном случае 1 (100%), то результатом будет позиция последнего числового значения в диапазоне, то же самое и с текстовыми значениями. Для поиска последнего текстового значения из диапазона в качестве искомого значения может быть передана строка "яяяяя" и для поиска позиции последней непустой ячейки диапазона может использоваться конструкция типа
9E+307 - почти самое большое возможное число в excel
Lyova, если функции ПОИСКПОЗ в качестве искомого значения скормить значение, заведомо большее, чем любое из гипотетически возможных значений в диапазоне в данном случае 1 (100%), то результатом будет позиция последнего числового значения в диапазоне, то же самое и с текстовыми значениями. Для поиска последнего текстового значения из диапазона в качестве искомого значения может быть передана строка "яяяяя" и для поиска позиции последней непустой ячейки диапазона может использоваться конструкция типа
krosav4ig, спасибо за помощь! думал, что чего-то понимаю в эксель, но похоже рано так решил, учиться и учиться еще...
_Boroda_, спасибо за доп. варианты! Правда интересно получается: в меню перечня функций у меня такой функции нет - РАЗНДАТ, хотя когда ее вводишь - она считает....
_Boroda_, Еще вопрос, не в данном контексте, а вообще, на будущее, может пригодится когда: можно ли для поискпоз() задать искомое значение как "больше 0"?
krosav4ig, спасибо за помощь! думал, что чего-то понимаю в эксель, но похоже рано так решил, учиться и учиться еще...
_Boroda_, спасибо за доп. варианты! Правда интересно получается: в меню перечня функций у меня такой функции нет - РАЗНДАТ, хотя когда ее вводишь - она считает....
_Boroda_, Еще вопрос, не в данном контексте, а вообще, на будущее, может пригодится когда: можно ли для поискпоз() задать искомое значение как "больше 0"?Lyova
По Правилам форума - нельзя в этой теме. В отдельной другой - пожалуйста. В любом случае, вопрос не совсем понятен. Может быть много вариантов различных. Следовательно, пример нужен.
По Правилам форума - нельзя в этой теме. В отдельной другой - пожалуйста. В любом случае, вопрос не совсем понятен. Может быть много вариантов различных. Следовательно, пример нужен._Boroda_