По возможности прошу помочь с формулой. Есть таблица прилагаемого вида, для искомой команды хотелось бы получить в ячейке значение - сколько игр (туров) подряд до отчетного матча команда играла без ничейного результата.
Ранее задавал на форуме похожий вопрос, но для немного измененного формата таблицы. Получил работающую формулу, задается как формула массива. Массив в любом случае д.б. применен для рассматриваемого случая?
Спасибо.
Здравствуйте,
По возможности прошу помочь с формулой. Есть таблица прилагаемого вида, для искомой команды хотелось бы получить в ячейке значение - сколько игр (туров) подряд до отчетного матча команда играла без ничейного результата.
Ранее задавал на форуме похожий вопрос, но для немного измененного формата таблицы. Получил работающую формулу, задается как формула массива. Массив в любом случае д.б. применен для рассматриваемого случая?
В версии Excel 2007 я бы решал задачу так: создал бы промежуточную табличку, в которой строки будут команды, а столбцы - туры. Я сделал это в диапазоне I26:O35 (см. на рисунке)
В области данных этой таблички, в диапазоне J28:M35, на пересечении строки команды и столбца тура ставим "1", если результат "Нет ничьей" или ставим "0", если результат "Ничья". Далее в колонке "СЦЕПКА" собираем нули и единицы в общую строку, в которой затем ищем непрерывную подстроку из единиц максимальной длины. Длина этой максимальной строки и будет ответом на интересующий вопрос.
Формула для ячейки J28 - формула массива с вводом по Ctrl+Shift+Enter (после ввода в одну ячейку распространить на диапазон J28:M35):
Вообще работать с такими формулами, пригодными для версии 2007, в 2026 году - занятие довольно тоскливое. Настоятельно рекомендую Вам подумать об обновлении до современных версий Excel, либо о переходе в Таблицы Гугл (последние - бесплатные, что не может не радовать). Современный уровень формулостроения в этих продуктах позволяет решить Вашу задачу довольно лихо, а при использовании функции LET - вообще одной(!) суперформулой.
P.S. Файлик Excel со своим решением, конечно, тоже приложу
В версии Excel 2007 я бы решал задачу так: создал бы промежуточную табличку, в которой строки будут команды, а столбцы - туры. Я сделал это в диапазоне I26:O35 (см. на рисунке)
В области данных этой таблички, в диапазоне J28:M35, на пересечении строки команды и столбца тура ставим "1", если результат "Нет ничьей" или ставим "0", если результат "Ничья". Далее в колонке "СЦЕПКА" собираем нули и единицы в общую строку, в которой затем ищем непрерывную подстроку из единиц максимальной длины. Длина этой максимальной строки и будет ответом на интересующий вопрос.
Формула для ячейки J28 - формула массива с вводом по Ctrl+Shift+Enter (после ввода в одну ячейку распространить на диапазон J28:M35):
Вообще работать с такими формулами, пригодными для версии 2007, в 2026 году - занятие довольно тоскливое. Настоятельно рекомендую Вам подумать об обновлении до современных версий Excel, либо о переходе в Таблицы Гугл (последние - бесплатные, что не может не радовать). Современный уровень формулостроения в этих продуктах позволяет решить Вашу задачу довольно лихо, а при использовании функции LET - вообще одной(!) суперформулой.
P.S. Файлик Excel со своим решением, конечно, тоже приложу Gustav
Я задействовал ИИ и получил шикарную формулу для Гугл Таблиц (см. ниже). Привожу свои реплики (промпты), которые я написал в процессе диалога с ИИ:
Цитата
Есть Гугл Таблица по ссылке https://docs.google.com/spreads....0#gid=0 Нужно написать формулу, вычисляющую на листе Лист1 значения в диапазоне O28:O35 для списка команд, заданных в диапазоне I28:I35
я хочу единственную формулу динамического массива с LET для ячейки O28, формула должна содержать все промежуточные вычисления
вместо ОБЪЕДИНИТЬ можно использовать JOIN
исход матча это колонка G6:G21
В Гугл Таблице эта формула работает с явным указанием функкции ArrayFormula вокруг LET
Результатом переписки с ИИ стала единственная формула для ячейки O28 (я ее для наглядности поместил в следующую ячейку P28):
[/vba] В основном формулу разработал ИИ (Gemini, как я понимаю - в общем, тот, который в Хроме по умолчанию доступен). Я лишь скорректировал некоторые адреса диапазонов (в частности "исход_матча"), добавил TRANSPOSE и обернул LET в функцию ArrayFormula (без нее не хотели правильно считаться "бинарный_массив" и "массив_длин").
Согласитесь, результат - убойный и потрясающе наглядный. И заметьте, все имена переменных придумал ИИ, причем, придумал нехило продуманно и обоснованно!
Я поместил решение в свою Гугл Таблицу с общим доступом на чтение. Каждый желающий может скопировать ее к себе на свой Гугл Диск и поиграться с решением. Ссылка: https://docs.google.com/spreads....sharing ID таблицы (если ссылка когда-нибудь перестанет работать): 156TzXvNqs8EAOMEjlg6zz9H49D40iIGDQKSkE9IZDEU
Я задействовал ИИ и получил шикарную формулу для Гугл Таблиц (см. ниже). Привожу свои реплики (промпты), которые я написал в процессе диалога с ИИ:
Цитата
Есть Гугл Таблица по ссылке https://docs.google.com/spreads....0#gid=0 Нужно написать формулу, вычисляющую на листе Лист1 значения в диапазоне O28:O35 для списка команд, заданных в диапазоне I28:I35
я хочу единственную формулу динамического массива с LET для ячейки O28, формула должна содержать все промежуточные вычисления
вместо ОБЪЕДИНИТЬ можно использовать JOIN
исход матча это колонка G6:G21
В Гугл Таблице эта формула работает с явным указанием функкции ArrayFormula вокруг LET
Результатом переписки с ИИ стала единственная формула для ячейки O28 (я ее для наглядности поместил в следующую ячейку P28):
[/vba] В основном формулу разработал ИИ (Gemini, как я понимаю - в общем, тот, который в Хроме по умолчанию доступен). Я лишь скорректировал некоторые адреса диапазонов (в частности "исход_матча"), добавил TRANSPOSE и обернул LET в функцию ArrayFormula (без нее не хотели правильно считаться "бинарный_массив" и "массив_длин").
Согласитесь, результат - убойный и потрясающе наглядный. И заметьте, все имена переменных придумал ИИ, причем, придумал нехило продуманно и обоснованно!
Я поместил решение в свою Гугл Таблицу с общим доступом на чтение. Каждый желающий может скопировать ее к себе на свой Гугл Диск и поиграться с решением. Ссылка: https://docs.google.com/spreads....sharing ID таблицы (если ссылка когда-нибудь перестанет работать): 156TzXvNqs8EAOMEjlg6zz9H49D40iIGDQKSkE9IZDEUGustav