powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подряд ли идет слово в массиве - нуна формула! )
25 сообщений из 25, страница 1 из 1
Подряд ли идет слово в массиве - нуна формула! )
    #36425736
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некий список, например
аааа
аааа
аааа
аааа
ббб
ббб
аааа
аааа

в нем "аааа" идет не подряд, а "ббб" - подряд.

Нужна формула (поумнее, чем то, что придумал я, ибо моя неудобна в силу разных причин), которая бы возвращала ИСТИНА или ЛОЖЬ в зависимости от выполнения условия.

Файл-пример сейчас прикреплю...
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36425848
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilK,

=ПРОСМОТР(2;1/(C8:C47=C2);СТРОКА(C8:C47)-7)-ПОИСКПОЗ(C2;C8:C47;0)+1=СЧЁТЕСЛИ(C8:C47;C2)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36425911
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересное решение, спасибо )
но как оно работает??
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36425966
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilK,

Работу просмотра по поиску последнего значения подсмотрел в формуле у Александра Д (Саши с Планеты).
Просмотр в данном случае ищет в массиве последний адрес значения(номер строки массива), равного С2, а поискпоз - первый адрес этого значения. Дальше я думаю понятно.
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36426560
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilK,

ЕНД(ПОИСКПОЗ(C2;ИНДЕКС($C$8:$C$47;ПОИСКПОЗ(C2&" ";$C$8:$C$47)):$C$47))
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36428410
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_, не работает :(

Формула массива:
=МАКС((C8:C47=C2)*СТРОКА(C8:C47)-7)-ПОИСКПОЗ(C2;C8:C47;0)+1=СЧЁТЕСЛИ(C8:C47;C2)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36428755
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
формула намного красивее, но она перестает работать (несоответствие выделено красным), если добавить пробелов..., например, в начало...

почему перестает работать формула?

см. файл
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36429318
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_DaniilK,

ЕНД(ПОИСКПОЗ(C2;ИНДЕКС($C$8:$C$47;ПОИСКПОЗ(C2&" ";$C$8:$C$47)):$C$47))

тогда уже так:
=НЕ(ЕНД(ПОИСКПОЗ(0;--(СМЕЩ(C7;ПОИСКПОЗ(C2;C8:C47;0);;СЧЁТЕСЛИ(C8:C47;C2))=C2);0)))
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36429388
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вернее не так. Раз уж перешли на формулы массива, то вот несколько:
=ЕНД(ПОИСКПОЗ(0;--(СМЕЩ(C7;ПОИСКПОЗ(C2;C8:C47;0);;СЧЁТЕСЛИ(C8:C47;C2))=C2);0))

=СУММ(--(СМЕЩ(C7;ПОИСКПОЗ(C2;C8:C47;0);;СЧЁТЕСЛИ(C8:C47;C2))=C2);0)=СЧЁТЕСЛИ(C8:C47;C2)

=И((ИНДЕКС(C8:C47;ПОИСКПОЗ(C2;C8:C47;0)):ИНДЕКС(C8:C47;ПОИСКПОЗ(C2;C8:C47;0)+СЧЁТЕСЛИ(C8:C47;C2)-1))=C2)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36430597
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда так:

C$2=ИНДЕКС(ИНДЕКС(C$8:C$47;ПОИСКПОЗ(C$2;C$8:C$47;0)):C$47;СЧЁТЕСЛИ(C$8:C$47;C$2))

формула немассива :)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36430631
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_,
Такой вариант тоже ошибочен. Найденное значение может равняться искомому даже при "разорванной цепочке" этого значения.
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36430757
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лил еще чуть проще:

=C$2=ИНДЕКС(C$8:C$47;ПОИСКПОЗ(C$2;C$8:C$47;0)+СЧЁТЕСЛИ(C$8:C$47;C$2)-1)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36430794
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В последнем примере _slan_'а в строку 14 (седьмое значение) пишем "шайбы" - и формула _slan_'а, и формула автора ошибочнр считают, что "шайбы" в неразрывном диапазоне.

Просмотрел предыдущие варианты. Из формул массива лучшая моя :)
=МАКС((C8:C47=C2)*СТРОКА(C8:C47)-7)-ПОИСКПОЗ(C2;C8:C47;0)+1=СЧЁТЕСЛИ(C8:C47;C2)
Это не от "скромности" - у DV68 одна длинная, а две летучие (функция СМЕЩ).
Но со всех показанных формула DV68 с ПРОСМОТР вне конкуренции - и красивая, и не длинная, и, главное, не нужно применять как формулу массива:
=ПРОСМОТР(2;1/(C8:C47=C2);СТРОКА(C8:C47)-7)-ПОИСКПОЗ(C2;C8:C47;0)+1=СЧЁТЕСЛИ(C8:C47;C2)

Но это мое личное эгоистическое мнение :)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36430919
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikttur_slan_,
Такой вариант тоже ошибочен. Найденное значение может равняться искомому даже при "разорванной цепочке" этого значения.

да, согласен..

тогда идем чуть дальше:
=СЧЁТЕСЛИ(C$8:ИНДЕКС(C$8:C$47;ПОИСКПОЗ(C$2;C$8:C$47;0)+СЧЁТЕСЛИ(C$8:C$47;C$2)-1);C$2)=СЧЁТЕСЛИ(C$8:C$47;C$2)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36430929
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я, пожалуй, пришел к той же первоначальной формуле DV68 :)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36431103
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и ну...
неужели без СЧЁТЕСЛИ и ПОИСКПОЗ не обойтись??...
)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36431272
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilK, вот еще вариант:
=СЧЁТЕСЛИ(ИНДЕКС(C$8:C$48;ПОИСКПОЗ(C$2;C$8:C$48;0)+СЧЁТЕСЛИ(C$8:C$47;C$2)):C$48;C$2)=0

теоретически счётесли нало исключить, поискпоз эффективнее, но запись получается громоздкой

но что-то надо использовать, не из пальца же брать?
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36431480
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilKну и ну...
неужели без СЧЁТЕСЛИ и ПОИСКПОЗ не обойтись??...
)
Можно, если захватить ячейку ниже диапазона (массив):
=СУММ(ЕСЛИ((C9:C48=C2)*СТРОКА(C2:C41)-(C8:C47=C2)*СТРОКА(C1:C40)<0;1))=1
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36432566
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а тогда так (массив):

=СУММ(--(ЗНАЧЕН((--(C8:C47=C2))&(--(C9:C48=C2)))=10))<2
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36432605
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DV68=СУММ(--(ЗНАЧЕН((--(C8:C47=C2))&(--(C9:C48=C2)))=10))<2
Обалдеть! :)
Причесал:
=СУММ(--(--((C8:C47=C2)*1&(C9:C48=C2)*1)=10))<2
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36432622
=СУММ(ПОИСКПОЗ({1;2};1/(D8:D47=D2);{0;1})*{-1;1})=СЧЁТЕСЛИ(D8:D48;D2)-1

=И(D2=СМЕЩ(D7;ПОИСКПОЗ(D2;D8:D47;0);;СЧЁТЕСЛИ(D8:D47;D2)))

=СУММ((D8:D47=D2)*(D9:D48<>D2))=1

В том порядке, в каком приходили на ум. Подробно не проверял, т к поздно. Лично мне вторая больше всего нравится, хоть она и самая плохая по сути.
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36433451
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саша, который не тот, что уже за Подробно не проверял, т к поздно.
Опечатка- "т к уже утро" :)
А мне первая понравилась (ожидал от тебя похожего).
Ну и, естественно, последняя – отшлифованные мысли, претендует на звание самой короткой :)
DaniilK, пора призы раздавать :)
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36433751
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот без счетесли и не массив:

=ЕОШИБКА(ПОИСКПОЗ(C$2;ИНДЕКС(C$8:C$47;ПОИСКПОЗ(C$2&" ";ИНДЕКС(C$8:C$47;ПОИСКПОЗ(C$2;C$8:C$47;0)):C$47)+ПОИСКПОЗ(C$2;C$8:C$47;0)):C$47;0))
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36434213
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
viktturА мне первая понравилась (ожидал от тебя похожего).
Ну и, естественно, последняя – отшлифованные мысли, претендует на звание самой короткой :)
DaniilK, пора призы раздавать :)
Согласен.
Если кому не нравится массив, можно и СУММПРОИЗВ использовать:
=СУММПРОИЗВ((D8:D47=D2)*(D9:D48<>D2))=1

А моя без заданных значений в массиве выдает ИСТИНА(
...
Рейтинг: 0 / 0
Подряд ли идет слово в массиве - нуна формула! )
    #36435001
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DV68[quot vikttur]А моя без заданных значений в массиве выдает ИСТИНА(
Большинство формул в таком случае показывают #Н/Д. А последние выдают ЛОЖЬ, что тоже не соответствует задаче.
Можно добавить проверку:
ЕСЛИ(СЧЁТЕСЛИ(C8:C47;C2);...
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подряд ли идет слово в массиве - нуна формула! )
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]