pain2430
Дата: Воскресенье, 05.05.2019, 22:29 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация:
11
±
Замечаний:
0% ±
Excel 2010
Добрый вечер! Прошу помощи решить такую проблему: В колонке A, есть значения A и B, которые рандомно идут друг за другом. В колонке B, на основе моих вычислений, появляются значения Y и N. И самое важное что нужно автоматизировать, это колонка C для которой такое условие: В каждом диапазоне(первый диапазон B2:B6, второй диапазон B7:B13, третий диапазон B14:B19 и т.д.), то есть начало диапазона в следующей ячейке после Y или N, и конец диапазона на следующей Y или N. Формула должна искать первое встретившееся значение A из первой колонки, и если за ним следует так же A, то на против этого A в колонке C, должно быть YES. Если после нахождения первого A, за ним следует B, то в колонке C, должно быть NO. Если в диапазоне нету ни единого A, тогда пропускаем этот диапазон. После того как найдено какое либо из значений, мы бросаем этот диапазон и переходим к следующему(то есть значение находится один раз в одном диапазоне, и то что в нем идет дальше, нас уже не интересует) Заранее спасибо!
Добрый вечер! Прошу помощи решить такую проблему: В колонке A, есть значения A и B, которые рандомно идут друг за другом. В колонке B, на основе моих вычислений, появляются значения Y и N. И самое важное что нужно автоматизировать, это колонка C для которой такое условие: В каждом диапазоне(первый диапазон B2:B6, второй диапазон B7:B13, третий диапазон B14:B19 и т.д.), то есть начало диапазона в следующей ячейке после Y или N, и конец диапазона на следующей Y или N. Формула должна искать первое встретившееся значение A из первой колонки, и если за ним следует так же A, то на против этого A в колонке C, должно быть YES. Если после нахождения первого A, за ним следует B, то в колонке C, должно быть NO. Если в диапазоне нету ни единого A, тогда пропускаем этот диапазон. После того как найдено какое либо из значений, мы бросаем этот диапазон и переходим к следующему(то есть значение находится один раз в одном диапазоне, и то что в нем идет дальше, нас уже не интересует) Заранее спасибо! pain2430
К сообщению приложен файл:
_1.xlsx
(12.5 Kb)
Ответить
Сообщение Добрый вечер! Прошу помощи решить такую проблему: В колонке A, есть значения A и B, которые рандомно идут друг за другом. В колонке B, на основе моих вычислений, появляются значения Y и N. И самое важное что нужно автоматизировать, это колонка C для которой такое условие: В каждом диапазоне(первый диапазон B2:B6, второй диапазон B7:B13, третий диапазон B14:B19 и т.д.), то есть начало диапазона в следующей ячейке после Y или N, и конец диапазона на следующей Y или N. Формула должна искать первое встретившееся значение A из первой колонки, и если за ним следует так же A, то на против этого A в колонке C, должно быть YES. Если после нахождения первого A, за ним следует B, то в колонке C, должно быть NO. Если в диапазоне нету ни единого A, тогда пропускаем этот диапазон. После того как найдено какое либо из значений, мы бросаем этот диапазон и переходим к следующему(то есть значение находится один раз в одном диапазоне, и то что в нем идет дальше, нас уже не интересует) Заранее спасибо! Автор - pain2430 Дата добавления - 05.05.2019 в 22:29
Nic70y
Дата: Понедельник, 06.05.2019, 09:13 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПОИСКПОЗ("A";ИНДЕКС(A:A;СУММПРОИЗВ(МАКС((B$1:B2<>"")*СТРОКА(B$1:B2)))+1):A$18000;)+СУММПРОИЗВ(МАКС((B$1:B2<>"")*СТРОКА(B$1:B2)))+1=СТРОКА();A2;"");"A";"Yes");"B";"No")
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПОИСКПОЗ("A";ИНДЕКС(A:A;СУММПРОИЗВ(МАКС((B$1:B2<>"")*СТРОКА(B$1:B2)))+1):A$18000;)+СУММПРОИЗВ(МАКС((B$1:B2<>"")*СТРОКА(B$1:B2)))+1=СТРОКА();A2;"");"A";"Yes");"B";"No")
Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Понедельник, 06.05.2019, 09:14
Ответить
Сообщение Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПОИСКПОЗ("A";ИНДЕКС(A:A;СУММПРОИЗВ(МАКС((B$1:B2<>"")*СТРОКА(B$1:B2)))+1):A$18000;)+СУММПРОИЗВ(МАКС((B$1:B2<>"")*СТРОКА(B$1:B2)))+1=СТРОКА();A2;"");"A";"Yes");"B";"No")
Автор - Nic70y Дата добавления - 06.05.2019 в 09:13
pain2430
Дата: Понедельник, 06.05.2019, 12:45 |
Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация:
11
±
Замечаний:
0% ±
Excel 2010
Nic70y , спасибо огромное! Все невероятно идеально, кроме одного момента в ячейке D121 Возможно ли это как то дополнить?
Nic70y , спасибо огромное! Все невероятно идеально, кроме одного момента в ячейке D121 Возможно ли это как то дополнить?pain2430
Ответить
Сообщение Nic70y , спасибо огромное! Все невероятно идеально, кроме одного момента в ячейке D121 Возможно ли это как то дополнить?Автор - pain2430 Дата добавления - 06.05.2019 в 12:45
Nic70y
Дата: Понедельник, 06.05.2019, 12:55 |
Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
почему там что-то должно быть? тупанул, щас пока работа, посмотрю позже.
почему там что-то должно быть? тупанул, щас пока работа, посмотрю позже. Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Понедельник, 06.05.2019, 13:05
Ответить
Сообщение почему там что-то должно быть? тупанул, щас пока работа, посмотрю позже. Автор - Nic70y Дата добавления - 06.05.2019 в 12:55
pain2430
Дата: Понедельник, 06.05.2019, 13:12 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация:
11
±
Замечаний:
0% ±
Excel 2010
почему там что-то должно быть?
Ок, спасибо Вам огромное! Буду ждать
почему там что-то должно быть?
Ок, спасибо Вам огромное! Буду ждать pain2430
Сообщение отредактировал pain2430 - Понедельник, 06.05.2019, 13:13
Ответить
Сообщение почему там что-то должно быть?
Ок, спасибо Вам огромное! Буду ждать Автор - pain2430 Дата добавления - 06.05.2019 в 13:12
Nic70y
Дата: Понедельник, 06.05.2019, 14:12 |
Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
просто B2 меняем на B1Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПОИСКПОЗ("A";ИНДЕКС(A:A;СУММПРОИЗВ(МАКС((B$1:B1<>"")*СТРОКА(B$1:B1)))+1):A$18000;)+СУММПРОИЗВ(МАКС((B$1:B1<>"")*СТРОКА(B$1:B1)))+1=СТРОКА();A2;"");"A";"Yes");"B";"No")
просто B2 меняем на B1Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПОИСКПОЗ("A";ИНДЕКС(A:A;СУММПРОИЗВ(МАКС((B$1:B1<>"")*СТРОКА(B$1:B1)))+1):A$18000;)+СУММПРОИЗВ(МАКС((B$1:B1<>"")*СТРОКА(B$1:B1)))+1=СТРОКА();A2;"");"A";"Yes");"B";"No")
Nic70y
ЮMoney 41001841029809
Ответить
Сообщение просто B2 меняем на B1Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЕСЛИ(ПОИСКПОЗ("A";ИНДЕКС(A:A;СУММПРОИЗВ(МАКС((B$1:B1<>"")*СТРОКА(B$1:B1)))+1):A$18000;)+СУММПРОИЗВ(МАКС((B$1:B1<>"")*СТРОКА(B$1:B1)))+1=СТРОКА();A2;"");"A";"Yes");"B";"No")
Автор - Nic70y Дата добавления - 06.05.2019 в 14:12
pain2430
Дата: Понедельник, 06.05.2019, 21:25 |
Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация:
11
±
Замечаний:
0% ±
Excel 2010
Nic70y , спасибо Вам огромное, очень помогли!
Nic70y , спасибо Вам огромное, очень помогли!pain2430
Ответить
Сообщение Nic70y , спасибо Вам огромное, очень помогли!Автор - pain2430 Дата добавления - 06.05.2019 в 21:25
Светлый
Дата: Вторник, 07.05.2019, 06:58 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Ещё варианты. Формулы массива (Ctrl+Shift+Enter):Код
=ЕСЛИ(МИН(ЕСЛИ((A$1:A1="A")*(СТРОКА($1:1)>МАКС((B$1:B1<>"")*СТРОКА($1:1)));СТРОКА($1:1)))=СТРОКА(A1);ВЫБОР(КОДСИМВ(A2)-64;"Yes";"No");"")
Код
=ЕСЛИ(МИН(ЕСЛИ((A$1:A1="A")*(СТРОКА($1:1)>МАКС((B$1:B1<>"")*СТРОКА($1:1)));СТРОКА($1:1)))=СТРОКА(A1);ВПР(A2;{"A";"Yes":"B";"No"};2);"")
Ещё варианты. Формулы массива (Ctrl+Shift+Enter):Код
=ЕСЛИ(МИН(ЕСЛИ((A$1:A1="A")*(СТРОКА($1:1)>МАКС((B$1:B1<>"")*СТРОКА($1:1)));СТРОКА($1:1)))=СТРОКА(A1);ВЫБОР(КОДСИМВ(A2)-64;"Yes";"No");"")
Код
=ЕСЛИ(МИН(ЕСЛИ((A$1:A1="A")*(СТРОКА($1:1)>МАКС((B$1:B1<>"")*СТРОКА($1:1)));СТРОКА($1:1)))=СТРОКА(A1);ВПР(A2;{"A";"Yes":"B";"No"};2);"")
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Ещё варианты. Формулы массива (Ctrl+Shift+Enter):Код
=ЕСЛИ(МИН(ЕСЛИ((A$1:A1="A")*(СТРОКА($1:1)>МАКС((B$1:B1<>"")*СТРОКА($1:1)));СТРОКА($1:1)))=СТРОКА(A1);ВЫБОР(КОДСИМВ(A2)-64;"Yes";"No");"")
Код
=ЕСЛИ(МИН(ЕСЛИ((A$1:A1="A")*(СТРОКА($1:1)>МАКС((B$1:B1<>"")*СТРОКА($1:1)));СТРОКА($1:1)))=СТРОКА(A1);ВПР(A2;{"A";"Yes":"B";"No"};2);"")
Автор - Светлый Дата добавления - 07.05.2019 в 06:58