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

Вход

Регистрация

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

 

= Мир MS Excel/Связать две книги - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Связать две книги (Формулы/Formulas)
Связать две книги
ТАМИК Дата: Суббота, 18.08.2018, 19:24 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый вечер!

Подскажите, пожалуйста, возможно ли связать таблицы из разных книг. таблицы разных форм.
Нужно чтоб информация бралась с книги отчёт и переносилась в книгу табель.

в книге табель у каждого имени табельный номер, такой же как и в книге отчеты. Нужно чтоб из книги отчеты брались часы и вставлялись по датам нужного табельного номера.
К сообщению приложен файл: 5860987.xls (61.5 Kb) · 1687337.xls (72.0 Kb)
 
Ответить
СообщениеДобрый вечер!

Подскажите, пожалуйста, возможно ли связать таблицы из разных книг. таблицы разных форм.
Нужно чтоб информация бралась с книги отчёт и переносилась в книгу табель.

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

Автор - ТАМИК
Дата добавления - 18.08.2018 в 19:24
ТАМИК Дата: Суббота, 18.08.2018, 19:25 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 74
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
1687337 это книга отчеты, 5860987 - табель
 
Ответить
Сообщение1687337 это книга отчеты, 5860987 - табель

Автор - ТАМИК
Дата добавления - 18.08.2018 в 19:25
Hugo Дата: Суббота, 18.08.2018, 21:35 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация: 707 ±
Замечаний: 0% ±

2019
Формулами не знаю... А вот макрос уже наполовину готов.
[spoiler]
[vba]
Код
Sub tt()
    Dim c As Range, t As String, k

    With CreateObject("Scripting.Dictionary")

        For Each c In Range([a3], Cells(Rows.Count, "A").End(xlUp)).Cells
            If IsDate(c) Then
                .Item(t & "|" & Day(c)) = c.Offset(, 5)
            Else
                If IsNumeric(c) Then t = c
            End If
        Next

        For Each k In .keys
            Debug.Print k & "-" & .Item(k)
        Next
        
    End With
End Sub
[/vba]
Осталось приладить цикл по графику.
Но макрос не заказывали...


excel@nxt.ru
webmoney: E265281470651 Z422237915069


Сообщение отредактировал Hugo - Суббота, 18.08.2018, 21:37
 
Ответить
СообщениеФормулами не знаю... А вот макрос уже наполовину готов.
[spoiler]
[vba]
Код
Sub tt()
    Dim c As Range, t As String, k

    With CreateObject("Scripting.Dictionary")

        For Each c In Range([a3], Cells(Rows.Count, "A").End(xlUp)).Cells
            If IsDate(c) Then
                .Item(t & "|" & Day(c)) = c.Offset(, 5)
            Else
                If IsNumeric(c) Then t = c
            End If
        Next

        For Each k In .keys
            Debug.Print k & "-" & .Item(k)
        Next
        
    End With
End Sub
[/vba]
Осталось приладить цикл по графику.
Но макрос не заказывали...

Автор - Hugo
Дата добавления - 18.08.2018 в 21:35
Hugo Дата: Воскресенье, 19.08.2018, 20:29 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация: 707 ±
Замечаний: 0% ±

2019
Доработать нет проблем (только с временем пока туго), вопрос в чём - нужно ли тратить время на доработку, ибо вопрос был про формулы, может макросам категорически нет... Потому и не продолжил.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеДоработать нет проблем (только с временем пока туго), вопрос в чём - нужно ли тратить время на доработку, ибо вопрос был про формулы, может макросам категорически нет... Потому и не продолжил.

Автор - Hugo
Дата добавления - 19.08.2018 в 20:29
_Boroda_ Дата: Воскресенье, 19.08.2018, 21:14 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Если в файле Отчеты перенести все серые ячейки с текстом из столбца А в столбец В, то
формулой так можно
Код
=СУММПРОИЗВ((ПРОСМОТР(СТРОКА('D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999);СТРОКА('D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999)/ЕТЕКСТ('D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999);'D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999)='Август 2018  '!$D4&"")*('D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999='Август 2018  '!$B$1+'Август 2018  '!E$2-1)*'D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$F$4:$F$999)

Для xls длина формулы не должна быть больше 255 символов, поэтому засунул все это в именованный диапазон (Контрл F3). И специально для проверки сделал длинное название файла отчеты - Dlinnoe nazvanie faila
Для 2007 и выше можно прямо в ячейку

Да, файл Отчет можно не открывать, Табель будет брать значения и из закрытого файла
К сообщению приложен файл: Dlinnoe_nazvani.xls (73.0 Kb) · 5860987_3.xls (79.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли в файле Отчеты перенести все серые ячейки с текстом из столбца А в столбец В, то
формулой так можно
Код
=СУММПРОИЗВ((ПРОСМОТР(СТРОКА('D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999);СТРОКА('D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999)/ЕТЕКСТ('D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999);'D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999)='Август 2018  '!$D4&"")*('D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$A$4:$A$999='Август 2018  '!$B$1+'Август 2018  '!E$2-1)*'D:\Стереть\[Dlinnoe nazvanie faila.xls]Отчет'!$F$4:$F$999)

Для xls длина формулы не должна быть больше 255 символов, поэтому засунул все это в именованный диапазон (Контрл F3). И специально для проверки сделал длинное название файла отчеты - Dlinnoe nazvanie faila
Для 2007 и выше можно прямо в ячейку

Да, файл Отчет можно не открывать, Табель будет брать значения и из закрытого файла

Автор - _Boroda_
Дата добавления - 19.08.2018 в 21:14
Hugo Дата: Воскресенье, 19.08.2018, 22:20 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3250
Репутация: 707 ±
Замечаний: 0% ±

2019
Ну а я макрос наконец дописал, закончив домашние дела...
Порядок работы такой - открыли отчёт, открыли этот файл, при активном листе с табелем по Alt+F8 выполняете макрос "ЗаполнитьТабель".
Там в начале нужно кликнуть мышью на том листе отчёта, где нужные данные - смотрите не ошибитесь, месяц никак не анализируется, хотя конечно можно бы сделать... Но зачем? :)
К сообщению приложен файл: 2171404.xls (68.5 Kb)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНу а я макрос наконец дописал, закончив домашние дела...
Порядок работы такой - открыли отчёт, открыли этот файл, при активном листе с табелем по Alt+F8 выполняете макрос "ЗаполнитьТабель".
Там в начале нужно кликнуть мышью на том листе отчёта, где нужные данные - смотрите не ошибитесь, месяц никак не анализируется, хотя конечно можно бы сделать... Но зачем? :)

Автор - Hugo
Дата добавления - 19.08.2018 в 22:20
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Связать две книги (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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