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

Вход

Регистрация

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

 

= Мир MS Excel/Дублирование данных по условию из дат - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Дублирование данных по условию из дат (Формулы/Formulas)
Дублирование данных по условию из дат
outsider_cmp Дата: Четверг, 04.04.2019, 12:09 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Доброго времени суток товарищи!
Выручайте пожалуйста

Ситуация такая:

необходимо чтобы строчка дублировалась исходя из диапазона дат, которые указываются вручную(столбец 6 и 7), число повторений указано в столбце 8, объем и площадь уже раскидал, поэтому необходимо только одно. дублирование строк на каждый день из диапазона дат.(столбцы 6 и 7)
и заполнение второго листа "2".

просьба обратить на не заполненные строки, в этом случае они не используются, но они нужны.

желательно конечно формулами.

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

[vba]
Код
Sub результат()
  Dim i&, j&
  For i = 8 To Range("A" & Rows.Count).End(xlUp).Row
    If Cells(i, 8) <> 0 Then
      With Sheets("2")
        ps = Range("A" & Rows.Count).End(xlUp).Row
        For j = 13 To 25
            .Cells(ps + j, 3) = Str(Cells(i, 3))
            .Cells(ps + j, 10) = Str(Cells(i, 4))
            .Cells(ps + j, 9) = Str(Cells(i, 5))
            .Cells(ps + j, 1) = Cells(i, 1)
            .Cells(ps + j, 5) = Cells(i, 5)
            .Cells(ps + j, 3) = 1
        Next j
      End With
    End If
  Next i
End Sub

[/vba]

но допилить не хватает знаний, не вставляется во второй лист
К сообщению приложен файл: 8802304.xlsm (63.5 Kb)


Сообщение отредактировал outsider_cmp - Четверг, 04.04.2019, 13:40
 
Ответить
СообщениеДоброго времени суток товарищи!
Выручайте пожалуйста

Ситуация такая:

необходимо чтобы строчка дублировалась исходя из диапазона дат, которые указываются вручную(столбец 6 и 7), число повторений указано в столбце 8, объем и площадь уже раскидал, поэтому необходимо только одно. дублирование строк на каждый день из диапазона дат.(столбцы 6 и 7)
и заполнение второго листа "2".

просьба обратить на не заполненные строки, в этом случае они не используются, но они нужны.

желательно конечно формулами.

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

[vba]
Код
Sub результат()
  Dim i&, j&
  For i = 8 To Range("A" & Rows.Count).End(xlUp).Row
    If Cells(i, 8) <> 0 Then
      With Sheets("2")
        ps = Range("A" & Rows.Count).End(xlUp).Row
        For j = 13 To 25
            .Cells(ps + j, 3) = Str(Cells(i, 3))
            .Cells(ps + j, 10) = Str(Cells(i, 4))
            .Cells(ps + j, 9) = Str(Cells(i, 5))
            .Cells(ps + j, 1) = Cells(i, 1)
            .Cells(ps + j, 5) = Cells(i, 5)
            .Cells(ps + j, 3) = 1
        Next j
      End With
    End If
  Next i
End Sub

[/vba]

но допилить не хватает знаний, не вставляется во второй лист

Автор - outsider_cmp
Дата добавления - 04.04.2019 в 12:09
_Boroda_ Дата: Четверг, 04.04.2019, 15:14 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Для простоты сделаем в "1" допстолбец с формулой
Код
=ЕСЛИ(H8="";"";СУММ(H$7:H7))

Тогда все столбцы в "2" (кроме дат) можно вывести фотулой типа такой
Код
=ИНДЕКС('1'!B$8:B$99;ПОИСКПОЗ(СТРОКА(O1)-1;'1'!$N$8:$N$99))
, а даты такой
Код
=ЕСЛИОШИБКА(ИНДЕКС('1'!F$8:F$99;ПОИСКПОЗ(СТРОКА(O1)-1;'1'!$N$8:$N$99;));N12+1)


Еще в "1" переписал формулы в 8-9-10
К сообщению приложен файл: 8802304_1.xlsm (66.8 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДля простоты сделаем в "1" допстолбец с формулой
Код
=ЕСЛИ(H8="";"";СУММ(H$7:H7))

Тогда все столбцы в "2" (кроме дат) можно вывести фотулой типа такой
Код
=ИНДЕКС('1'!B$8:B$99;ПОИСКПОЗ(СТРОКА(O1)-1;'1'!$N$8:$N$99))
, а даты такой
Код
=ЕСЛИОШИБКА(ИНДЕКС('1'!F$8:F$99;ПОИСКПОЗ(СТРОКА(O1)-1;'1'!$N$8:$N$99;));N12+1)


Еще в "1" переписал формулы в 8-9-10

Автор - _Boroda_
Дата добавления - 04.04.2019 в 15:14
outsider_cmp Дата: Вторник, 09.04.2019, 08:42 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
спасибо большое _Boroda_ за помощь!всё работает как и задумывалось!


Сообщение отредактировал outsider_cmp - Вторник, 09.04.2019, 09:06
 
Ответить
Сообщениеспасибо большое _Boroda_ за помощь!всё работает как и задумывалось!

Автор - outsider_cmp
Дата добавления - 09.04.2019 в 08:42
outsider_cmp Дата: Вторник, 09.04.2019, 10:23 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
1)Как сделать так чтобы последние строка не дублировалась множество раз? ВЫДЕЛЕНО КРАСНЫМ

Меняется только дата, а все остальные значения в столбцах одинаковые. Можно ли как-то убрать дублирование если это последняя строка В ЛИСТЕ "1"

2)Не получается сортировать по дате в ЛИСТЕ "2", возможно ли это сделать?
К сообщению приложен файл: 5253945.xlsm (53.3 Kb)


Сообщение отредактировал outsider_cmp - Вторник, 09.04.2019, 10:25
 
Ответить
Сообщение1)Как сделать так чтобы последние строка не дублировалась множество раз? ВЫДЕЛЕНО КРАСНЫМ

Меняется только дата, а все остальные значения в столбцах одинаковые. Можно ли как-то убрать дублирование если это последняя строка В ЛИСТЕ "1"

2)Не получается сортировать по дате в ЛИСТЕ "2", возможно ли это сделать?

Автор - outsider_cmp
Дата добавления - 09.04.2019 в 10:23
_Boroda_ Дата: Вторник, 09.04.2019, 10:40 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
1. Добавьте проверку на количество
Код
=ЕСЛИ(СЧЁТ($A$12:$A12)>'1'!$N$13;"";ЕСЛИОШИБКА(ИНДЕКС('1'!$F$14:$F$53;ПОИСКПОЗ(СТРОКА(A1)-1;'1'!$N$14:$N$53;));A12+1))

2. Конечно не получается, там же формулы. Если нужно сортировать, то это тоже форулами делать нужно. А для этого нужно знать что и как Вы сортировать хотите
К сообщению приложен файл: 5253945_1.xlsm (50.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение1. Добавьте проверку на количество
Код
=ЕСЛИ(СЧЁТ($A$12:$A12)>'1'!$N$13;"";ЕСЛИОШИБКА(ИНДЕКС('1'!$F$14:$F$53;ПОИСКПОЗ(СТРОКА(A1)-1;'1'!$N$14:$N$53;));A12+1))

2. Конечно не получается, там же формулы. Если нужно сортировать, то это тоже форулами делать нужно. А для этого нужно знать что и как Вы сортировать хотите

Автор - _Boroda_
Дата добавления - 09.04.2019 в 10:40
outsider_cmp Дата: Вторник, 09.04.2019, 11:54 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
спасибо большое!гениальная идея!

мы хотим сортировать по дате от старых к новым, по столбцу А
 
Ответить
Сообщениеспасибо большое!гениальная идея!

мы хотим сортировать по дате от старых к новым, по столбцу А

Автор - outsider_cmp
Дата добавления - 09.04.2019 в 11:54
_Boroda_ Дата: Вторник, 09.04.2019, 12:32 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ловите
Там еще допстолбец
Код
=ЕСЛИ(СЧЁТ($J$12:$J12)>'1'!$N$13;"";ЕСЛИОШИБКА(ИНДЕКС('1'!$F$14:$F$53+СТРОКА('1'!$F$14:$F$53)%%;ПОИСКПОЗ(СТРОКА(A1)-1;'1'!$N$14:$N$53;));J12+1))

и формулы
Код
=ЕСЛИОШИБКА(ОТБР(НАИМЕНЬШИЙ($J$13:$J$100;СТРОКА(A1)));"")

Код
=ЕСЛИ(A13="";"";ИНДЕКС('1'!B:B;ОСТАТ(НАИМЕНЬШИЙ($J$13:$J$100;СТРОКА(A1));1)/1%%+0,1))
К сообщению приложен файл: 5253945_2.xlsm (54.9 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЛовите
Там еще допстолбец
Код
=ЕСЛИ(СЧЁТ($J$12:$J12)>'1'!$N$13;"";ЕСЛИОШИБКА(ИНДЕКС('1'!$F$14:$F$53+СТРОКА('1'!$F$14:$F$53)%%;ПОИСКПОЗ(СТРОКА(A1)-1;'1'!$N$14:$N$53;));J12+1))

и формулы
Код
=ЕСЛИОШИБКА(ОТБР(НАИМЕНЬШИЙ($J$13:$J$100;СТРОКА(A1)));"")

Код
=ЕСЛИ(A13="";"";ИНДЕКС('1'!B:B;ОСТАТ(НАИМЕНЬШИЙ($J$13:$J$100;СТРОКА(A1));1)/1%%+0,1))

Автор - _Boroda_
Дата добавления - 09.04.2019 в 12:32
outsider_cmp Дата: Понедельник, 15.04.2019, 07:18 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, вы гений! спасибо большое! всё работает!

всем кто принимал участие благодарность!
 
Ответить
Сообщение_Boroda_, вы гений! спасибо большое! всё работает!

всем кто принимал участие благодарность!

Автор - outsider_cmp
Дата добавления - 15.04.2019 в 07:18
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Дублирование данных по условию из дат (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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