В результате получилось: =MAX(SUMM(COLUMN(С1:S1)-COLUMN(С1)+1;(O5:BN5<>"")*(COLUMN(С1:S1)-COLUMN(С1)+1))-1;INDEX(FREQUENCY(COLUMN(С1:S1)-COLUMN(С1)+1;(С1:S1<>"")*(COLUMN(С1:S1)-COLUMN(С1)+1));COLUMNS(С1:S1)+1)
Подскажите, пожалуйста, где ошибка?
PS При этом, вот этот вариант: http://www.planetaexcel.ru/forum.php/?thread_id=3377 не подходит, так как создает лишний столбец. К сожалению, у меня нет возможности создавать доп. строки к каждой из 250 позиций.
PSS Я перекопала достаточно много материала на предмет решения моей задачи, однако, даже при схожести вопросов, не нашла решения. Допускаю, что была невнимательна, и, если вы покажете мне нужную тему - буду благодарна.
{quote}{login=Mathilda}{date=15.07.2011 08:21}{thema=Поиск наибольшей суммы в строке}{post}попыталась написать формулу, находящую максимальную сумму идущих подряд непустых ячеек{/post}{/quote} Вверху была для пустых, для непустых замените <> на =: =MAX(FREQUENCY(COLUMN(C1:S1),(C1:S1="")*COLUMN(C1:S1))-1,INDEX(FREQUENCY(COLUMN(C1:S1),(C1:S1="")*COLUMN(C1:S1)),COLUMNS(C1:S1)+1))
Добрый день. Спасибо за попытку, но это не решает мою задачу. Написанная вами формула в несколько модифицированном виде уже была предложена ув. vikttur'ом по упомянутой мной в сабже ссылке, и я её, конечно, читала.
{quote}{login=Mathilda}{date=15.07.2011 08:21}{post}максимальную сумму идущих подряд непустых ячеек{/post}{/quote}
Сумму. Не количество.
Казанский,
Простите, не знаю, что такое UDF. Более того, вероятно, вы создали формулу MAXSUM с помощью макроса (что для меня не подходит), так как решение выдает ошибку #NAME?. Увы.
{quote}{login=Mathilda}{date=18.07.2011 06:22}{thema=}{post}DV, Полагаю, все запятые следовало заменить точками с запятой. Но даже в этом случае Excel выдает ошибку #REF! Возможно, я что-то не так делаю?{/post}{/quote} Возможно, смотрите файл:
Пригляделся, можно покомпактней сделать: =МАКС(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(B1;;ТРАНСП(СТОЛБЕЦ(A1:R1))-ЧАСТОТА(СТОЛБЕЦ(C1:S1);(C1:S1="")*СТОЛБЕЦ(C1:S1));;1+ЧАСТОТА(СТОЛБЕЦ(C1:S1);(C1:S1="")*СТОЛБЕЦ(C1:S1)))))
{quote}{login=DV}{date=18.07.2011 06:50}{thema=}{post}Пригляделся, можно покомпактней сделать: =МАКС(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(B1;;ТРАНСП(СТОЛБЕЦ(A1:R1))-ЧАСТОТА(СТОЛБЕЦ(C1:S1);(C1:S1="")*СТОЛБЕЦ(C1:S1));;1+ЧАСТОТА(СТОЛБЕЦ(C1:S1);(C1:S1="")*СТОЛБЕЦ(C1:S1))))){/post}{/quote} Отличное решение. Данную задачу нужно было перенести в Избушку, но компактное, и достаточно красивое решение формулами уже есть.
2 Казанский, Алексей, UDF не обрабатывает одиночное последнее число. Можно сделать небольшое дополнение:
Function MaxSum(r As Range) Dim c1 As Range, c2 As Range, i& i = r.Columns.Count For Each c1 In r i = i - 1 If IsNumeric(c1) And Not IsEmpty(c1) And i > 0 Then If c2 Is Nothing Then Set c2 = c1 Else If Not c2 Is Nothing Then MaxSum = Application.Max(MaxSum, Application.Sum(Range(c2, c1))) Set c2 = Nothing Else MaxSum = Application.Max(MaxSum, c1) End If End If Next End Function
{quote}{login=DV}{date=18.07.2011 06:50}{thema=}{post}Пригляделся, можно покомпактней сделать: =МАКС(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(B1;;ТРАНСП(СТОЛБЕЦ(A1:R1))-ЧАСТОТА(СТОЛБЕЦ(C1:S1);(C1:S1="")*СТОЛБЕЦ(C1:S1));;1+ЧАСТОТА(СТОЛБЕЦ(C1:S1);(C1:S1="")*СТОЛБЕЦ(C1:S1))))){/post}{/quote} или так: =МАКС(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(C1;;ТРАНСП(СТОЛБЕЦ(C1:V1)-3);1;-1-ЧАСТОТА(СТОЛБЕЦ(C1:U1);(C1:U1="")*СТОЛБЕЦ(C1:U1)))))
{quote}{login=MCH}{date=19.07.2011 12:32}{thema=Re: }Данную задачу нужно было перенести в Избушку ... или так: =МАКС(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(C1;;ТРАНСП(СТОЛБЕЦ(C1:V1)-3);1;-1-ЧАСТОТА(СТОЛБЕЦ(C1:U1);(C1:U1="")*СТОЛБЕЦ(C1:U1))))){/post}{/quote} Да хотел, но слишком длинная изначальная формула была. ... Красиво!
{quote}{login=DV}{date=19.07.2011 12:41}{thema=}{post}{quote}{login=MCH}{date=19.07.2011 12:32}{thema=}{post}Данную задачу нужно было перенести в Избушку... или так: =МАКС(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(C1;;ТРАНСП(СТОЛБЕЦ(C1:V1)-3);1;-1-ЧАСТОТА(СТОЛБЕЦ(C1:U1);(C1:U1="")*СТОЛБЕЦ(C1:U1))))){/post}{/quote} Да хотел, но слишком длинная изначальная формула была. ... Красиво!{/post}{/quote} Вроде все правильно с цитированием делаю, но никак не получается уловить нить
А я искал сумму с наибольшим количеством слагаемых. Только сейчас понял, что не то искал.. :) --------------- СМЕЩ(C2;;ТРАНСП(СТОЛБЕЦ(C2:V2)-3);1;-1-ЧАСТОТА(СТОЛБЕЦ(C2:U2);(C2:U2="")*СТОЛБЕЦ(C2:U2)))) - Сложно понять принцип.
-------------- 86579 - Стрит!
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Еще как вариант: =МАКС(ВЕРОЯТНОСТЬ(СТОЛБЕЦ(C1:V1);C1:V1/СУММ(C1:V1);НАИМЕНЬШИЙ((C1:W1="")*СТОЛБЕЦ(C1:W1);СТОЛБЕЦ(C1:V1)-2);НАИМЕНЬШИЙ((C1:W1="")*СТОЛБЕЦ(C1:W1);СТОЛБЕЦ(C1:V1)-1))*СУММ(C1:V1))
Ограничения - ячейка после диапазона (в данном случае столбец W) должна быть пустой. Подобное же ограничение есть и в моей формуле с ЧАСТОТОЙ, в столбце перед диапазоном (столбец В) не должно быть числовых значений