Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2013 - Подскажите функцию для excel

Ответить
Настройки темы
2013 - Подскажите функцию для excel

Ветеран


Сообщения: 531
Благодарности: 4

Профиль | Отправить PM | Цитировать


Изменения
Автор: Alexander_88
Дата: 28-09-2015
Здравствуйте подскажите возможно ли сделать следующее....

есть сверху большая таблица и снизу две мини таблицы (пример):

Код: Выделить весь код
A         B               C                         D
90    Яблоки   5,6+4,6+9,6+10,5+15,0   45,3-5-6,5-9,6-6-8,3
150   Груши    5,6+4,6+9,6+10,5+15,0   45,3-5-6,5-9,6-6-8,3
350   Финики  5,6+4,6+9,6+10,5+15,0   45,3-5-6,5-9,6-6-8,3

Код: Выделить весь код
A      B       C        D
180   Груши   5,6
340   Курага   9,6
90     Яблоки   10
Код: Выделить весь код
A      B                     C                               D
90    Бананы                                                6,5
155  Груши                                                  4,6
350  Финики                                                8,4
Необходимо добавить мини таблицы к большой таблице. Притом, если совпадают первый и второй столбец, то третий и четвертый столбцы добавлялись друг к другу.... третий столбец добавлялся через знак + а четвертый через знак +

Т.е. объединив мини таблицы с большой, должна получится такая таблица

Код: Выделить весь код
A      B                     C                          D
90     Яблоки   5,6+4,6+9,6+10,5+15,0+10   45,3-5-6,5-9,6-6-8,3
150   Груши    5,6+4,6+9,6+10,5+15,0       45,3-5-6,5-9,6-6-8,3
350   Финики  5,6+4,6+9,6+10,5+15,0       45,3-5-6,5-9,6-6-8,3-8,4
180   Груши    5,6
340   Курага    9,6
90    Бананы                              6,5
155  Груши                                4,6

Отправлено: 20:38, 27-09-2015

 

Ветеран


Сообщения: 531
Благодарности: 4

Профиль | Отправить PM | Цитировать


a_axe, Спасибо, только хотелось бы, чтобы данные постоянно пополнялись, а не переносились всегда на новый лист.. т.е. набрал я одну таблицу, запустил макрос, она объединилась с большой, потом еще сделал маленькую, опять запустил макрос... большая таблица опять пополнилась и т.д.

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

Дали мне вариантик.. единственное тут сделано не вертикально, а горизонтально... т.е. пополняемая таблица (большая) справа, а маленькие будут создаваться слева. Кому интересно прикрепил.

Последний раз редактировалось Alexander_88, 16-10-2015 в 09:28.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:12, 29-09-2015 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 114
Благодарности: 13

Профиль | Отправить PM | Цитировать


Можно сделать пополняемую (в тех. задании слишком мало информации). Мне показалось, что на отдельных листах практичнее, ибо если маленькие таблички начнут превращаться в таблицы побольше..

Отправлено: 16:39, 29-09-2015 | #12


Ветеран


Сообщения: 531
Благодарности: 4

Профиль | Отправить PM | Цитировать


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

Отправлено: 16:58, 29-09-2015 | #13


Пользователь


Сообщения: 114
Благодарности: 13

Профиль | Отправить PM | Цитировать


Смысл примерно понятен. Может тогда сделать, чтобы на каждый месяц свой отчет был (в отдельном листе), а не в одну таблицу всё сгружать?
потом ведь не разгрести..

Отправлено: 17:38, 29-09-2015 | #14


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата Alexander_88:
отелось бы, чтобы данные постоянно пополнялись, а не переносились всегда на новый лист.. т.е. набрал я одну таблицу, запустил макрос, она объединилась с большой, потом еще сделал маленькую, опять запустил макрос... большая таблица опять пополнилась и т.д. »
Alexander_88, откровенно - все равно не понятно. Вообще насколько я понимаю - работа не для Excel.
Цитата Alexander_88:
набрал я одну таблицу, запустил макрос, она объединилась с большой, потом еще сделал маленькую, опять запустил макрос... большая таблица опять пополнилась и т.д. »
Добили в основную таблицу (ниже нее) новые строки - и отсортировали, правильно?
Вы определитесь, что вы хотите, сложно получить подходящий результат, если не знаешь, что нужно делать .

Вот другой код, с оговорками: данные вашей "основной" таблицы располагаются на листе в столбцах 1-4, заголовок таблицы в строчке 1. Новые данные вы набиваете ниже основной таблицы в соответствующие ячейки, запускаете код, происходит сортировка, при этом нижние строки с совпадающими позициями станут пустыми, их значение будет перенесено в строки выше. Пустые строки не удаляются, так как не известно, что будет справа от вашей таблицы. Выделять ничего не требуется, проверка идет по столбцам 1-4 активного листа.
Скрытый текст
Код: Выделить весь код
Public Sub data_exist_extr()
Dim objCell As Object, targetSheet As Object, dataSheet As Object
Dim i As Integer, j As Integer
Dim Flag As Boolean
Set dataSheet = ThisWorkbook.ActiveSheet
'Set targetSheet = ThisWorkbook.Sheets.Add
'dataSheet.Activate
For i = dataSheet.UsedRange.Row + dataSheet.UsedRange.Rows.Count - 1 To 1 Step -1
   If dataSheet.Cells(i, 1).Value <> "" Then
        For j = i - 1 To 1 Step -1
            If dataSheet.Cells(j, 1).Value = dataSheet.Cells(i, 1).Value And dataSheet.Cells(j, 2).Value = dataSheet.Cells(i, 2).Value Then
                If dataSheet.Cells(i, 3).Value <> "" Then dataSheet.Cells(j, 3).Value = dataSheet.Cells(j, 3).Value & "+" & dataSheet.Cells(i, 3).Value
                If dataSheet.Cells(i, 4).Value <> "" Then dataSheet.Cells(j, 4).Value = dataSheet.Cells(j, 4).Value & "+" & dataSheet.Cells(i, 4).Value
                dataSheet.Range(Cells(i, 1), Cells(i, 4)).Value = ""
                Exit For
            End If
        Next j
   End If
Next i

Set dataSheet = Nothing

End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:41, 29-09-2015 | #15



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2013 - Подскажите функцию для excel

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
SSD - безопасно ли для SSD использовать функцию "стирание дисков" в программе CCleaner? makatuk Накопители (SSD, HDD, USB Flash) 8 11-09-2013 11:33
2007 - Как добавить функцию в качестве общей для последующего использования в совместном дос yok Microsoft Office (Word, Excel, Outlook и т.д.) 6 07-03-2012 13:21
C/C++ - [решено] Поиск слова в тексте,подскажите функцию VokaMut Программирование и базы данных 2 10-01-2012 15:09
CMD/BAT - [решено] Как запустить функцию Защиты системы для диска С: ? wiznv Скриптовые языки администрирования Windows 3 29-11-2011 16:11
Подскажите функцию в C++ dimakus Программирование и базы данных 2 01-04-2004 14:57




 
Переход