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

Вход

Регистрация

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

 

= Мир MS Excel/Повтор значения ячейки заданное количество раз - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Повтор значения ячейки заданное количество раз
Edward_M Дата: Пятница, 05.12.2014, 12:22 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Добрый день. В столбце А имеются некоторые данные, в столбце B - количество повторов, на другом листе ( в примере - столбец D) - как должен отображаться результат. Ещё уточнение - если столбец В содержит нулевые значения, то в результирующем столбце ( D ) данные из столбца А отображаться не должны. Возможно ли решить задачу при помощи формул, если да, то очень жду помощи.
К сообщению приложен файл: 0849316.xls (23.5 Kb)
 
Ответить
СообщениеДобрый день. В столбце А имеются некоторые данные, в столбце B - количество повторов, на другом листе ( в примере - столбец D) - как должен отображаться результат. Ещё уточнение - если столбец В содержит нулевые значения, то в результирующем столбце ( D ) данные из столбца А отображаться не должны. Возможно ли решить задачу при помощи формул, если да, то очень жду помощи.

Автор - Edward_M
Дата добавления - 05.12.2014 в 12:22
Nic70y Дата: Пятница, 05.12.2014, 12:36 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9133
Репутация: 2416 ±
Замечаний: 0% ±

Excel 2010
вариант:
строка1=
Код
=A1
строка2=
Код
=ЕСЛИ(СУММЕСЛИ(A$1:A$3;F1;B$1:B$3)>СЧЁТЕСЛИ(F$1:F1;F1);F1;ИНДЕКС(A$1:A$3;ПОИСКПОЗ(F1;A$1:A$3;0)+1))
К сообщению приложен файл: 800.xls (25.0 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениевариант:
строка1=
Код
=A1
строка2=
Код
=ЕСЛИ(СУММЕСЛИ(A$1:A$3;F1;B$1:B$3)>СЧЁТЕСЛИ(F$1:F1;F1);F1;ИНДЕКС(A$1:A$3;ПОИСКПОЗ(F1;A$1:A$3;0)+1))

Автор - Nic70y
Дата добавления - 05.12.2014 в 12:36
DJ_Marker_MC Дата: Пятница, 05.12.2014, 12:50 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Вариант с макросом))
[vba]
Код
Sub Zapol()
iRow = Range("B1").SpecialCells(xlLastCell).Row
     For Each cell In Range(Cells(1, 2), Cells(iRow, 2))
         q = cell.Value
         Z = cell.Offset(0, -1).Value
         iR = Cells(Rows.Count, 4).End(xlUp).Row + 1
         Range(Cells(iR, 4), Cells(iR + q - 1, 4)).Select
         Selection.Value = Z
     Next
End Sub
[/vba]
К сообщению приложен файл: 4623693.xls (34.5 Kb)
 
Ответить
СообщениеВариант с макросом))
[vba]
Код
Sub Zapol()
iRow = Range("B1").SpecialCells(xlLastCell).Row
     For Each cell In Range(Cells(1, 2), Cells(iRow, 2))
         q = cell.Value
         Z = cell.Offset(0, -1).Value
         iR = Cells(Rows.Count, 4).End(xlUp).Row + 1
         Range(Cells(iR, 4), Cells(iR + q - 1, 4)).Select
         Selection.Value = Z
     Next
End Sub
[/vba]

Автор - DJ_Marker_MC
Дата добавления - 05.12.2014 в 12:50
Nic70y Дата: Пятница, 05.12.2014, 13:07 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9133
Репутация: 2416 ±
Замечаний: 0% ±

Excel 2010
Не дочитал немного (0...)
формула массива:
Код
=ЕСЛИ(СУММЕСЛИ(A$1:A$3;F1;B$1:B$3)>СЧЁТЕСЛИ(F$1:F1;F1);F1;ИНДЕКС(A$1:A$3;ПОИСКПОЗ(F1;A$1:A$3;0)+ПОИСКПОЗ(1=1;((ИНДЕКС(B$1:B$3;ПОИСКПОЗ(F1;A$1:A$3;0)+1):ИНДЕКС(B$1:B$3;3))>0);0)))
К сообщению приложен файл: 801.xls (26.0 Kb)


ЮMoney 41001841029809
 
Ответить
СообщениеНе дочитал немного (0...)
формула массива:
Код
=ЕСЛИ(СУММЕСЛИ(A$1:A$3;F1;B$1:B$3)>СЧЁТЕСЛИ(F$1:F1;F1);F1;ИНДЕКС(A$1:A$3;ПОИСКПОЗ(F1;A$1:A$3;0)+ПОИСКПОЗ(1=1;((ИНДЕКС(B$1:B$3;ПОИСКПОЗ(F1;A$1:A$3;0)+1):ИНДЕКС(B$1:B$3;3))>0);0)))

Автор - Nic70y
Дата добавления - 05.12.2014 в 13:07
Edward_M Дата: Пятница, 05.12.2014, 18:37 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Nic70y, Спасибо, но что-то не срабатывает. Если заполняю в столбце B значения 3 2 1, то в столбце F получаю значения только первых 2-х строк столбца А, если ставлю 0 в ячейку В1, а в B2 2 и в B3 -2, то результат получаю в F1 - 123 ( оно и понятно, там ведь стоит формула =A1), в F2 и F3 - 234, остальные ячейки столбца возвращают ошибку, хотя в F4 и F5 должны быть значения "2345".
 
Ответить
СообщениеNic70y, Спасибо, но что-то не срабатывает. Если заполняю в столбце B значения 3 2 1, то в столбце F получаю значения только первых 2-х строк столбца А, если ставлю 0 в ячейку В1, а в B2 2 и в B3 -2, то результат получаю в F1 - 123 ( оно и понятно, там ведь стоит формула =A1), в F2 и F3 - 234, остальные ячейки столбца возвращают ошибку, хотя в F4 и F5 должны быть значения "2345".

Автор - Edward_M
Дата добавления - 05.12.2014 в 18:37
JayBhagavan Дата: Пятница, 05.12.2014, 19:02 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
Код
=ИНДЕКС($A:$A;ПОИСКПОЗ(СТРОКА()-1;$C:$C;1))
С доп. столбцом.
К сообщению приложен файл: 7376858.xls (24.5 Kb)


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов
 
Ответить
Сообщение
Код
=ИНДЕКС($A:$A;ПОИСКПОЗ(СТРОКА()-1;$C:$C;1))
С доп. столбцом.

Автор - JayBhagavan
Дата добавления - 05.12.2014 в 19:02
Pelena Дата: Пятница, 05.12.2014, 19:15 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19517
Репутация: 4632 ±
Замечаний: ±

Excel 365 & Mac Excel
Была подобная тема в Мозговом штурме Фрукты. Размножение. Там есть решение одной формулой


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеБыла подобная тема в Мозговом штурме Фрукты. Размножение. Там есть решение одной формулой

Автор - Pelena
Дата добавления - 05.12.2014 в 19:15
Nic70y Дата: Суббота, 06.12.2014, 08:48 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 9133
Репутация: 2416 ±
Замечаний: 0% ±

Excel 2010
Ну вроде бы отремонтировал
К сообщению приложен файл: 802.xls (26.0 Kb)


ЮMoney 41001841029809
 
Ответить
СообщениеНу вроде бы отремонтировал

Автор - Nic70y
Дата добавления - 06.12.2014 в 08:48
Edward_M Дата: Понедельник, 08.12.2014, 15:43 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
DJ_Marker_MC, Вариант с макросом мне нравится ( жаль, что на изучение VBA нет времени). Первый раз процедура выполнилась изумительно, но как только начал экспериментировать с цифрами второго столбца ( в частности поставил ноль в ячейку B2) по нажатии на кнопку "Заполнить" стал получать неверные результаты. Может быть что-то делаю не так ?
 
Ответить
СообщениеDJ_Marker_MC, Вариант с макросом мне нравится ( жаль, что на изучение VBA нет времени). Первый раз процедура выполнилась изумительно, но как только начал экспериментировать с цифрами второго столбца ( в частности поставил ноль в ячейку B2) по нажатии на кнопку "Заполнить" стал получать неверные результаты. Может быть что-то делаю не так ?

Автор - Edward_M
Дата добавления - 08.12.2014 в 15:43
Edward_M Дата: Понедельник, 08.12.2014, 16:36 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Nic70y, спасибо. Ваше решение работает только с диапазоном A1:B3, у меня этот диапазон приведён для примера, а как его можно расширить ( скажем до A1:B50) ?
 
Ответить
СообщениеNic70y, спасибо. Ваше решение работает только с диапазоном A1:B3, у меня этот диапазон приведён для примера, а как его можно расширить ( скажем до A1:B50) ?

Автор - Edward_M
Дата добавления - 08.12.2014 в 16:36
Edward_M Дата: Понедельник, 08.12.2014, 16:39 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
JayBhagavan, Спасибо. Ваше решение вполне подходит для решения моей задачи.
 
Ответить
СообщениеJayBhagavan, Спасибо. Ваше решение вполне подходит для решения моей задачи.

Автор - Edward_M
Дата добавления - 08.12.2014 в 16:39
DJ_Marker_MC Дата: Понедельник, 08.12.2014, 16:43 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Edward_M, в решении Nic70y просто измените во всей формуле там где A3 или B3 на 50 и в самом конце последнюю 3 тоже меняете на 50

Код
==ЕСЛИ(СУММЕСЛИ(A$1:A$50;F1;B$1:B$50)>СЧЁТЕСЛИ(F$1:F1;F1);F1;ИНДЕКС(A$1:A$50;ПОИСКПОЗ(F1;A$1:A$50;0)+ПОИСКПОЗ(1=1;((ИНДЕКС(B$1:B$50;ПОИСКПОЗ(F1;A$1:A$50;0)+1):ИНДЕКС(B$1:B$50;50))>0);0)))


только не забудьте ввести её через Ctrl+Shift+Enter, а уже потом протянуть
 
Ответить
СообщениеEdward_M, в решении Nic70y просто измените во всей формуле там где A3 или B3 на 50 и в самом конце последнюю 3 тоже меняете на 50

Код
==ЕСЛИ(СУММЕСЛИ(A$1:A$50;F1;B$1:B$50)>СЧЁТЕСЛИ(F$1:F1;F1);F1;ИНДЕКС(A$1:A$50;ПОИСКПОЗ(F1;A$1:A$50;0)+ПОИСКПОЗ(1=1;((ИНДЕКС(B$1:B$50;ПОИСКПОЗ(F1;A$1:A$50;0)+1):ИНДЕКС(B$1:B$50;50))>0);0)))


только не забудьте ввести её через Ctrl+Shift+Enter, а уже потом протянуть

Автор - DJ_Marker_MC
Дата добавления - 08.12.2014 в 16:43
Edward_M Дата: Понедельник, 08.12.2014, 17:33 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
DJ_Marker_MC, у Nic70y есть нюанс - формула =ЕСЛИ(СУММЕСЛИ(A$1:A$3;F3;B$1:B$3)>СЧЁТЕСЛИ(F$1:F3;F3);F3;ИНДЕКС(A$1:A$3;ПОИСКПОЗ(F3;A$1:A$3;0)+ПОИСКПОЗ(1=1;((ИНДЕКС(B$1:B$3;ПОИСКПОЗ(F3;A$1:A$3;0)+1):ИНДЕКС(B$1:B$4;4))>0);0))) заканчивается не B$1:B$3, а B$1:B$4 и при изменении диапазона на B$1:B$50 ( или на B$1:B$51) не даёт нужного результата ( даже при нажатии Ctrl+Shift+Enter )
 
Ответить
СообщениеDJ_Marker_MC, у Nic70y есть нюанс - формула =ЕСЛИ(СУММЕСЛИ(A$1:A$3;F3;B$1:B$3)>СЧЁТЕСЛИ(F$1:F3;F3);F3;ИНДЕКС(A$1:A$3;ПОИСКПОЗ(F3;A$1:A$3;0)+ПОИСКПОЗ(1=1;((ИНДЕКС(B$1:B$3;ПОИСКПОЗ(F3;A$1:A$3;0)+1):ИНДЕКС(B$1:B$4;4))>0);0))) заканчивается не B$1:B$3, а B$1:B$4 и при изменении диапазона на B$1:B$50 ( или на B$1:B$51) не даёт нужного результата ( даже при нажатии Ctrl+Shift+Enter )

Автор - Edward_M
Дата добавления - 08.12.2014 в 17:33
Nic70y Дата: Понедельник, 08.12.2014, 17:45 | Сообщение № 14
Группа: Друзья
Ранг: Экселист
Сообщений: 9133
Репутация: 2416 ±
Замечаний: 0% ±

Excel 2010
Ну, не знаю в чем проблема...
хотя знаю - ИНДЕКС(B$1:B$50;50) вместо 50 - 51
в примере до 700
К сообщению приложен файл: 803.xls (26.0 Kb)


ЮMoney 41001841029809
 
Ответить
СообщениеНу, не знаю в чем проблема...
хотя знаю - ИНДЕКС(B$1:B$50;50) вместо 50 - 51
в примере до 700

Автор - Nic70y
Дата добавления - 08.12.2014 в 17:45
Edward_M Дата: Понедельник, 08.12.2014, 18:30 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Nic70y, В первой части формулы диапазон B$1:B$3 тоже расширяем до B$700 ? =ЕСЛИ(СУММЕСЛИ(A$1:A$700;F1;B$1:B$700... У меня не срабатывает формула, если ввожу данные в ячейки A4 и B4 (

точнее не срабатывает в части, касающейся исходных данных, расположенных ниже третьей строки


Сообщение отредактировал Edward_M - Понедельник, 08.12.2014, 18:32
 
Ответить
Сообщение Nic70y, В первой части формулы диапазон B$1:B$3 тоже расширяем до B$700 ? =ЕСЛИ(СУММЕСЛИ(A$1:A$700;F1;B$1:B$700... У меня не срабатывает формула, если ввожу данные в ячейки A4 и B4 (

точнее не срабатывает в части, касающейся исходных данных, расположенных ниже третьей строки

Автор - Edward_M
Дата добавления - 08.12.2014 в 18:30
Nic70y Дата: Понедельник, 08.12.2014, 18:33 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 9133
Репутация: 2416 ±
Замечаний: 0% ±

Excel 2010
да, упустил этот момент


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Понедельник, 08.12.2014, 18:35
 
Ответить
Сообщениеда, упустил этот момент

Автор - Nic70y
Дата добавления - 08.12.2014 в 18:33
Edward_M Дата: Понедельник, 08.12.2014, 18:47 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Pelena, решений действительно много, маленькое "но" - список фруктов размещён в том же столбце, что и исходные данные, поэтому нужно поломать голову при необходимости увеличения количества строк с исходными данными, причём с начальными знаниями в формулах ( и с нулевыми в VBA) сделать это не просто... Но информация в топике всё-равно очень полезная
 
Ответить
Сообщение Pelena, решений действительно много, маленькое "но" - список фруктов размещён в том же столбце, что и исходные данные, поэтому нужно поломать голову при необходимости увеличения количества строк с исходными данными, причём с начальными знаниями в формулах ( и с нулевыми в VBA) сделать это не просто... Но информация в топике всё-равно очень полезная

Автор - Edward_M
Дата добавления - 08.12.2014 в 18:47
Edward_M Дата: Понедельник, 08.12.2014, 18:52 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 4 ±
Замечаний: 0% ±

Excel 2010
Уважаемые формучане, в принципе решение моей задачи найдено (вполне устраивает ответ JayBhagavan ), всем спасибо. Если есть желание, то можно пообсуждать другие методы, но в целом вопрос решён.
 
Ответить
СообщениеУважаемые формучане, в принципе решение моей задачи найдено (вполне устраивает ответ JayBhagavan ), всем спасибо. Если есть желание, то можно пообсуждать другие методы, но в целом вопрос решён.

Автор - Edward_M
Дата добавления - 08.12.2014 в 18:52
  • Страница 1 из 1
  • 1
Поиск:

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