Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Чередование значений - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Чередование значений
Faraway Дата: Воскресенье, 18.11.2018, 22:24 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 72
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Здравствуйте, уважаемые знатоки.
Хочу сделать так, чтоб была возможность обозначать значения, которые отличаются от того что сверху и снизу.
Например если в нужном столбике значения идут без повторений, то в нашем столбике идет чередования 1 и 0. А если значения повторяются, то значения в нашем столбике идут как несколько едениц или нулей подряд.
Для этого когда то кем то была написана формула
Код
=ArrayFormula(ЕСЛИОШИБКА(ОСТАТ(ПОИСКПОЗ(B1:B;unique(B1:B);0);2)))

в принципе с ней можно работать. но иногда она дает сбои. Как я понимаю, сбой идет тогда, если уже данное значение где то было, тогда она ставит 2 одинаковых знака подряд, даже если значения разные. Я в табле подкрасил такие значения. Скажите, как то можно поправить данную формулу, чтоб она работала более корректно? Написать что то свое либо переделать то что есть - ума не хватает.
Тут ТАБЛИЦА, в котором формула и в котором можно попробовать сделать что то свое.
Спасибо.

П.С.
Не уверен, корректно ли получилось назвать ветку форума.


Сообщение отредактировал Faraway - Воскресенье, 18.11.2018, 22:26
 
Ответить
СообщениеЗдравствуйте, уважаемые знатоки.
Хочу сделать так, чтоб была возможность обозначать значения, которые отличаются от того что сверху и снизу.
Например если в нужном столбике значения идут без повторений, то в нашем столбике идет чередования 1 и 0. А если значения повторяются, то значения в нашем столбике идут как несколько едениц или нулей подряд.
Для этого когда то кем то была написана формула
Код
=ArrayFormula(ЕСЛИОШИБКА(ОСТАТ(ПОИСКПОЗ(B1:B;unique(B1:B);0);2)))

в принципе с ней можно работать. но иногда она дает сбои. Как я понимаю, сбой идет тогда, если уже данное значение где то было, тогда она ставит 2 одинаковых знака подряд, даже если значения разные. Я в табле подкрасил такие значения. Скажите, как то можно поправить данную формулу, чтоб она работала более корректно? Написать что то свое либо переделать то что есть - ума не хватает.
Тут ТАБЛИЦА, в котором формула и в котором можно попробовать сделать что то свое.
Спасибо.

П.С.
Не уверен, корректно ли получилось назвать ветку форума.

Автор - Faraway
Дата добавления - 18.11.2018 в 22:24
krosav4ig Дата: Понедельник, 19.11.2018, 00:02 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
не совсем понятно, что нужно получить
как вариант, формула
Код
=ArrayFormula(ARRAY_CONSTRAIN(--iferror(B1:B=B2:B;);counta(B1:B);1))

или УФ по формуле
Код
=or(if(row()>1;B1=index(B:B;row()-1));B1=index(B:B;row()+1))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 19.11.2018, 00:16
 
Ответить
Сообщениене совсем понятно, что нужно получить
как вариант, формула
Код
=ArrayFormula(ARRAY_CONSTRAIN(--iferror(B1:B=B2:B;);counta(B1:B);1))

или УФ по формуле
Код
=or(if(row()>1;B1=index(B:B;row()-1));B1=index(B:B;row()+1))

Автор - krosav4ig
Дата добавления - 19.11.2018 в 00:02
Faraway Дата: Понедельник, 19.11.2018, 12:13 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 72
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Да, я вот тоже не знаю, как объяснить...
Самое лучшее объяснение вот такое в голову пришло.
Например в столбике А Есть значения, которые бывают разными, либо одинаковыми.
в А1 какое то значение, не важно какое, В1 появляется "1"
Еси в А2 значение равно А1, то в В2 будет снова 1, если не равно, то 0.
Но при этом, если А2<>А1, значение становится 0 и далее если А3=А2, то значение снова 0.
Ниже пример:
А1=Значение 1 >>> В1=1
А2=Значение 2 >>> В2=0
А3=Значение 2 >>> В3=0
А4=Значение 3 >>> В4=1
А5=Значение 1 >>> В5=0
А6=Значение 1 >>> В6=0
А7=Значение 1 >>> В7=0
И и это очень желательно через ArrayFormula


Сообщение отредактировал Faraway - Понедельник, 19.11.2018, 12:14
 
Ответить
СообщениеДа, я вот тоже не знаю, как объяснить...
Самое лучшее объяснение вот такое в голову пришло.
Например в столбике А Есть значения, которые бывают разными, либо одинаковыми.
в А1 какое то значение, не важно какое, В1 появляется "1"
Еси в А2 значение равно А1, то в В2 будет снова 1, если не равно, то 0.
Но при этом, если А2<>А1, значение становится 0 и далее если А3=А2, то значение снова 0.
Ниже пример:
А1=Значение 1 >>> В1=1
А2=Значение 2 >>> В2=0
А3=Значение 2 >>> В3=0
А4=Значение 3 >>> В4=1
А5=Значение 1 >>> В5=0
А6=Значение 1 >>> В6=0
А7=Значение 1 >>> В7=0
И и это очень желательно через ArrayFormula

Автор - Faraway
Дата добавления - 19.11.2018 в 12:13
sboy Дата: Понедельник, 19.11.2018, 12:52 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Если правильно понял
Код
=--((ПОИСКПОЗ(A1;$A$1:$A$20;0)=СТРОКА()))


Яндекс: 410016850021169
 
Ответить
СообщениеЕсли правильно понял
Код
=--((ПОИСКПОЗ(A1;$A$1:$A$20;0)=СТРОКА()))

Автор - sboy
Дата добавления - 19.11.2018 в 12:52
_Boroda_ Дата: Понедельник, 19.11.2018, 12:53 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16738
Репутация: 6534 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Я в Гуглах вообще ничего не понимаю, поэтому просто тупо сделал на основе формулы от krosav4ig
В первой строке
[vba]
Код
=if(A1="";"";1)
[/vba]
Во второй
[vba]
Код
=ArrayFormula(ARRAY_CONSTRAIN(--NOT((A1:A=A2:A)+(A3:A=A2:A));counta(A1:A);1))
[/vba]
В файле по ссылке это столбец D

Ведь нужно вот это, правильно?
значения, которые отличаются от того что сверху и снизу.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЯ в Гуглах вообще ничего не понимаю, поэтому просто тупо сделал на основе формулы от krosav4ig
В первой строке
[vba]
Код
=if(A1="";"";1)
[/vba]
Во второй
[vba]
Код
=ArrayFormula(ARRAY_CONSTRAIN(--NOT((A1:A=A2:A)+(A3:A=A2:A));counta(A1:A);1))
[/vba]
В файле по ссылке это столбец D

Ведь нужно вот это, правильно?
значения, которые отличаются от того что сверху и снизу.

Автор - _Boroda_
Дата добавления - 19.11.2018 в 12:53
Faraway Дата: Понедельник, 19.11.2018, 19:03 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 72
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Наверное задача сложнее чем казалась. Как вариант, я не смог нормально объяснить...
В общем есть значения в столбике А. В столбике В значение может быль либо 0 либо 1.
Допустим А1 имеет какое то значение, тогда В1 равно 1
Если А2 равно А1, то В1 снова равно 1, если А2 отличается, то и В2 отличается от В1.
Вот точно, пока писал, нашел как объяснить.
Столбик А имеет значения, которые либо идут подряд те же самые, либо меняются. А Столбец В, либо любой другой, должен реагировать на изменения в столбике А и тоже изменяться. Если в столбике А идет серия повторений, то и в В идет серия повторений, если относительно предыдущего значения в Столбике А пошло другое значение, то и в столбике В значение меняется. Но в столбике А может быть множество значений, а в столбике В только чередование 0 и 1.
Для чего это надо. Далее создается правило в УФ что если значение 1, то строки закрашиваются в цвет и так визуально не вчитываясь видно, где идут одинаковые значения, а где они уже меняются.
Пока лучше всего работает та формула что была изначально, но она дает сбой, если значение повторяется на то, что уже однажды было, в таких случаях она работает не как хотелось бы.
Для наглядности закрасил строки, где по логике должна быть 1, в белых строках 0.
 
Ответить
СообщениеНаверное задача сложнее чем казалась. Как вариант, я не смог нормально объяснить...
В общем есть значения в столбике А. В столбике В значение может быль либо 0 либо 1.
Допустим А1 имеет какое то значение, тогда В1 равно 1
Если А2 равно А1, то В1 снова равно 1, если А2 отличается, то и В2 отличается от В1.
Вот точно, пока писал, нашел как объяснить.
Столбик А имеет значения, которые либо идут подряд те же самые, либо меняются. А Столбец В, либо любой другой, должен реагировать на изменения в столбике А и тоже изменяться. Если в столбике А идет серия повторений, то и в В идет серия повторений, если относительно предыдущего значения в Столбике А пошло другое значение, то и в столбике В значение меняется. Но в столбике А может быть множество значений, а в столбике В только чередование 0 и 1.
Для чего это надо. Далее создается правило в УФ что если значение 1, то строки закрашиваются в цвет и так визуально не вчитываясь видно, где идут одинаковые значения, а где они уже меняются.
Пока лучше всего работает та формула что была изначально, но она дает сбой, если значение повторяется на то, что уже однажды было, в таких случаях она работает не как хотелось бы.
Для наглядности закрасил строки, где по логике должна быть 1, в белых строках 0.

Автор - Faraway
Дата добавления - 19.11.2018 в 19:03
Michael_S Дата: Понедельник, 19.11.2018, 19:15 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Заголовки в таблице есть?
Нарисовал варинт прям в таблице.


Сообщение отредактировал Michael_S - Понедельник, 19.11.2018, 19:28
 
Ответить
СообщениеЗаголовки в таблице есть?
Нарисовал варинт прям в таблице.

Автор - Michael_S
Дата добавления - 19.11.2018 в 19:15
_Boroda_ Дата: Понедельник, 19.11.2018, 22:07 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16738
Репутация: 6534 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
С заголовками еще такой вариант
Код
=ЕСЛИ(A2=A1;H1;--НЕ(Ч(H1)))

Но это не формула массива. Не саморазмножается она


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеС заголовками еще такой вариант
Код
=ЕСЛИ(A2=A1;H1;--НЕ(Ч(H1)))

Но это не формула массива. Не саморазмножается она

Автор - _Boroda_
Дата добавления - 19.11.2018 в 22:07
Michael_S Дата: Понедельник, 19.11.2018, 22:51 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
А что, обязательно нужна формула массива? И что значит "саморазмножается"?
 
Ответить
СообщениеА что, обязательно нужна формула массива? И что значит "саморазмножается"?

Автор - Michael_S
Дата добавления - 19.11.2018 в 22:51
_Boroda_ Дата: Понедельник, 19.11.2018, 23:13 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16738
Репутация: 6534 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
очень желательно через ArrayFormula

Миш, попробуй в таблице добавить значение в столбце А и увидишь размножение там, где массивки


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
очень желательно через ArrayFormula

Миш, попробуй в таблице добавить значение в столбце А и увидишь размножение там, где массивки

Автор - _Boroda_
Дата добавления - 19.11.2018 в 23:13
Michael_S Дата: Понедельник, 19.11.2018, 23:27 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Понял. Для меня это уже сложно :(
 
Ответить
СообщениеПонял. Для меня это уже сложно :(

Автор - Michael_S
Дата добавления - 19.11.2018 в 23:27
Faraway Дата: Среда, 21.11.2018, 09:51 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 72
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Да, если не делать через ArrayFormula, то проще всего делать по принципу предложенному в столбике F.
Но часто это не очень удобно. Вот немного в сторону отойду.... Если таблица например на 30К строк и больше, надо делать формулы такого типа "протяжкой". Очень в редких случаях у меня как то получается протянуть таблицу очень быстро, за 1 секунду. Протяжка просто рывком переходит в сам низ. предполагаю, что это либо я что то делаю случайно, что оно так быстро проходит, либо док сам глючит, чем мне и помогает. Скажите, есть быстрый способ сделать протяжку такой формулы?

А пока, останавливаюсь на том варианте, что у меня был (из первого поста), в ней только плохо то, что он помнит значения, что были ранее, и если значение не то же, что над ним, но такое же, как было когда то выше, он все равно определяет его как повтор.
Спасибо всем, кто старался помочь.
 
Ответить
СообщениеДа, если не делать через ArrayFormula, то проще всего делать по принципу предложенному в столбике F.
Но часто это не очень удобно. Вот немного в сторону отойду.... Если таблица например на 30К строк и больше, надо делать формулы такого типа "протяжкой". Очень в редких случаях у меня как то получается протянуть таблицу очень быстро, за 1 секунду. Протяжка просто рывком переходит в сам низ. предполагаю, что это либо я что то делаю случайно, что оно так быстро проходит, либо док сам глючит, чем мне и помогает. Скажите, есть быстрый способ сделать протяжку такой формулы?

А пока, останавливаюсь на том варианте, что у меня был (из первого поста), в ней только плохо то, что он помнит значения, что были ранее, и если значение не то же, что над ним, но такое же, как было когда то выше, он все равно определяет его как повтор.
Спасибо всем, кто старался помочь.

Автор - Faraway
Дата добавления - 21.11.2018 в 09:51
anvg Дата: Среда, 21.11.2018, 13:05 | Сообщение № 13
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
Если таблица например на 30К строк и больше, надо делать формулы такого типа "протяжкой"

А зачем? Размножение двойным щелчком на квадратике правого нижнего угла ячейки вполне себе размножает формулу по заполнению левого столбца. Или чего-то без примера не понимаю?
 
Ответить
СообщениеДоброе время суток.
Если таблица например на 30К строк и больше, надо делать формулы такого типа "протяжкой"

А зачем? Размножение двойным щелчком на квадратике правого нижнего угла ячейки вполне себе размножает формулу по заполнению левого столбца. Или чего-то без примера не понимаю?

Автор - anvg
Дата добавления - 21.11.2018 в 13:05
Faraway Дата: Среда, 21.11.2018, 14:56 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 72
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Размножение двойным щелчком на квадратике правого нижнего угла ячейки

Условием для этого является, что столбик слева заполнен, а часто это бывает не так. Либо заполнен с промежутками.


Сообщение отредактировал Faraway - Среда, 21.11.2018, 14:56
 
Ответить
Сообщение
Размножение двойным щелчком на квадратике правого нижнего угла ячейки

Условием для этого является, что столбик слева заполнен, а часто это бывает не так. Либо заполнен с промежутками.

Автор - Faraway
Дата добавления - 21.11.2018 в 14:56
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!