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

Вход

Регистрация

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

 

= Мир MS Excel/Слить 4 таблицы в одну с отбором по условию - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Слить 4 таблицы в одну с отбором по условию
Яя Дата: Среда, 16.11.2016, 17:20 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, коллеги! :)

Я к вам опять с проблемой.

Дано:
4 таблицы (в файле примера разделены ядовитой желтизной) одинакового размера.
Каждая строка в таблице рассматривается как уникальная. Суммировать ничего ни с чем не надо.

Вопрос:
Как слить 4 таблицы в одну, при этом выбирая только те строки, где значение в столбце "Сумма" не равно 0?

Есть возможность избегнуть макроса? Или безнадёжны мои надежды?

Файл прилагаю.
Заранее благодарна.
К сообщению приложен файл: Example2.xlsx (34.1 Kb)
 
Ответить
СообщениеДобрый день, коллеги! :)

Я к вам опять с проблемой.

Дано:
4 таблицы (в файле примера разделены ядовитой желтизной) одинакового размера.
Каждая строка в таблице рассматривается как уникальная. Суммировать ничего ни с чем не надо.

Вопрос:
Как слить 4 таблицы в одну, при этом выбирая только те строки, где значение в столбце "Сумма" не равно 0?

Есть возможность избегнуть макроса? Или безнадёжны мои надежды?

Файл прилагаю.
Заранее благодарна.

Автор - Яя
Дата добавления - 16.11.2016 в 17:20
Яя Дата: Среда, 16.11.2016, 17:27 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Забыла сказать, извините.

Работать с этим всем будут люди, которые Excel не знают никак и знать не хотят.
Никаких фильтров и самостоятельных копирований из ячейки в ячейку. Не хотят и делать не будут.

Я даже кнопку макроса не смогу впарить.

Поэтому желательно формулы. И всё.

Спасибо, что послушали :)
 
Ответить
СообщениеЗабыла сказать, извините.

Работать с этим всем будут люди, которые Excel не знают никак и знать не хотят.
Никаких фильтров и самостоятельных копирований из ячейки в ячейку. Не хотят и делать не будут.

Я даже кнопку макроса не смогу впарить.

Поэтому желательно формулы. И всё.

Спасибо, что послушали :)

Автор - Яя
Дата добавления - 16.11.2016 в 17:27
krosav4ig Дата: Среда, 16.11.2016, 18:07 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Не хотят и делать не будут.

а хотя бы таблицу или сводную обновить смогут?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Не хотят и делать не будут.

а хотя бы таблицу или сводную обновить смогут?

Автор - krosav4ig
Дата добавления - 16.11.2016 в 18:07
Яя Дата: Четверг, 17.11.2016, 10:10 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig,
обновить сводную таблицу смогут))
 
Ответить
Сообщениеkrosav4ig,
обновить сводную таблицу смогут))

Автор - Яя
Дата добавления - 17.11.2016 в 10:10
Wasilich Дата: Четверг, 17.11.2016, 12:30 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
не знают никак и знать не хотят.
Не хотят и делать не будут.
:D :D :D [offtop]Так может им надо компьютер поменять?
Например, на швабру с тряпкой.
[/offtop]
 
Ответить
Сообщение
не знают никак и знать не хотят.
Не хотят и делать не будут.
:D :D :D [offtop]Так может им надо компьютер поменять?
Например, на швабру с тряпкой.
[/offtop]

Автор - Wasilich
Дата добавления - 17.11.2016 в 12:30
китин Дата: Четверг, 17.11.2016, 12:58 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7034
Репутация: 1079 ±
Замечаний: 0% ±

Excel 2007;2010;2016
[offtop]или прокладку поменять между монитором и стулом?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение[offtop]или прокладку поменять между монитором и стулом?

Автор - китин
Дата добавления - 17.11.2016 в 12:58
Яя Дата: Четверг, 17.11.2016, 12:59 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Так может им надо компьютер поменять?
Например, на швабру с тряпкой.

:D я б поменяла. их самих бы поменяла, не только орудия труда :D
но я, увы, им не начальник :(
поэтому общаюсь с ними, изогнувшись буквой ПЦ :)
 
Ответить
Сообщение
Так может им надо компьютер поменять?
Например, на швабру с тряпкой.

:D я б поменяла. их самих бы поменяла, не только орудия труда :D
но я, увы, им не начальник :(
поэтому общаюсь с ними, изогнувшись буквой ПЦ :)

Автор - Яя
Дата добавления - 17.11.2016 в 12:59
krosav4ig Дата: Четверг, 17.11.2016, 17:00 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Совсем без макроса не получилось, ибо если делать формулами, то нужно постоянно следить за количеством строк в таблицах и протягивать формулы, что никак не вяжется с
Excel не знают никак и знать не хотят

все ненулевые (ошибки тоже распознаются как 0) строки из таблиц с листа Лист1 собираются подключением (Данные>подключения) в таблицу на листе Лист2
Таблица обновляется так же, как и сводная (ПКМ>Обновить)
сделал макрос для обновления параметров подключения и автообновления таблицы
в модуле Лист2[vba]
Код
Public WithEvents QTbl As QueryTable
Private Sub QTbl_BeforeRefresh(Cancel As Boolean)
    Dim arr() As Variant, i&, strSQL$, LO As ListObject
    For Each LO In Sheets("Лист1").ListObjects
        i = i + 1
        ReDim Preserve arr(i)
        arr(i) = LO.Range.Address(0, 0, 1, 1)
    Next
    With Application
        arr = .Substitute(.ReplaceB(arr, 1, Len(ThisWorkbook.Name) + 2, ""), "!", "$")
    End With
    strSQL = "select * from (" & Mid(Join(arr, "] union all select * from ["), 13) & "]) where Сумма"
    QTbl.Connection = "ODBC;DSN=Excel Files;DriverId=1046;DBQ=" & Parent.FullName
    QTbl.CommandText = strSQL
End Sub
Private Sub Worksheet_Activate()
    Init
    QTbl.Refresh
End Sub
[/vba]в модуле ЭтаКнига [vba]
Код
Private Sub Workbook_Open()
    Call Init
End Sub
[/vba]в стандартном модуле[vba]
Код
Public tbl As QueryTable
Sub Init()
    If tbl Is Nothing Then Set Лист2.QTbl = Лист2.ListObjects(1).QueryTable
    Set tbl = Лист2.QTbl
End Sub
[/vba]
К сообщению приложен файл: Example2.xlsm (61.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеСовсем без макроса не получилось, ибо если делать формулами, то нужно постоянно следить за количеством строк в таблицах и протягивать формулы, что никак не вяжется с
Excel не знают никак и знать не хотят

все ненулевые (ошибки тоже распознаются как 0) строки из таблиц с листа Лист1 собираются подключением (Данные>подключения) в таблицу на листе Лист2
Таблица обновляется так же, как и сводная (ПКМ>Обновить)
сделал макрос для обновления параметров подключения и автообновления таблицы
в модуле Лист2[vba]
Код
Public WithEvents QTbl As QueryTable
Private Sub QTbl_BeforeRefresh(Cancel As Boolean)
    Dim arr() As Variant, i&, strSQL$, LO As ListObject
    For Each LO In Sheets("Лист1").ListObjects
        i = i + 1
        ReDim Preserve arr(i)
        arr(i) = LO.Range.Address(0, 0, 1, 1)
    Next
    With Application
        arr = .Substitute(.ReplaceB(arr, 1, Len(ThisWorkbook.Name) + 2, ""), "!", "$")
    End With
    strSQL = "select * from (" & Mid(Join(arr, "] union all select * from ["), 13) & "]) where Сумма"
    QTbl.Connection = "ODBC;DSN=Excel Files;DriverId=1046;DBQ=" & Parent.FullName
    QTbl.CommandText = strSQL
End Sub
Private Sub Worksheet_Activate()
    Init
    QTbl.Refresh
End Sub
[/vba]в модуле ЭтаКнига [vba]
Код
Private Sub Workbook_Open()
    Call Init
End Sub
[/vba]в стандартном модуле[vba]
Код
Public tbl As QueryTable
Sub Init()
    If tbl Is Nothing Then Set Лист2.QTbl = Лист2.ListObjects(1).QueryTable
    Set tbl = Лист2.QTbl
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 17.11.2016 в 17:00
Яя Дата: Пятница, 18.11.2016, 16:43 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig,
СПАСИБО Вам! пошла тестить))
 
Ответить
Сообщениеkrosav4ig,
СПАСИБО Вам! пошла тестить))

Автор - Яя
Дата добавления - 18.11.2016 в 16:43
  • Страница 1 из 1
  • 1
Поиск:

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