Страницы: 1
RSS
Изъятие информации из одной таблицы в другую, Изъятие информации из одной таблицы в другую
 
Добрый день! Помогите, пжл. Не могу никак подобрать формулы. Есть две таблицы с данными. Мне надо из одной таблицы перенести данные в другую. Файл прикрепила.
Изменено: LenaG - 29.11.2017 15:27:31 (вставка файла)
 
Формулами нельзя ничего перенести, тем более изъять (в принципе это одно и тоже :) )
 
Т.е. ничего сделать нельзя?
 
Что-то можно - например скопировать/отобразить. Если расскажете что именно нужно :)
Можно пробовать
Код
=VLOOKUP(TRIM(A2)& " " & TRIM(B2),E:F,2,0)
Изменено: Hugo - 29.11.2017 15:38:36
 
Спасибо надеюсь на помощь.
Мне необходимо найти в первой таблице клиента с такой же ФИО, как во второй и заполнить столбец Страховое. Проблема вся в том, что вторая таблица содержит 900 000 строк, а в первой всего 56 000 строк.
 
Я там выше написал пример, вытягивающий страховое для одного клиента (а других там и нет), но на такие объёмы думаю нужен макрос.
P.S. Я бы на работу такой формулы в рабочем файле не полагался. А вообще на таком объёме думаю могут быть и ошибки, мало ли сколько ивановых в один день родилось...
Изменено: Hugo - 29.11.2017 15:45:22
 
Извините, что в Вашем примере я должна поменять под свои данные? Я копирую формулу в столбец Страховое у меня не получается. Да я знаю там должно быть одно совпадение.
 
Может быть формулу нужно перевести на свой локальный язык - судя по данным может быть русский :)
vlookup=впр
Ну и ещё разделители поставьте свои. Всё.
 
Я поняла Вас. А с макросом много возиться?
 
Ладно.спасибо большое за помощь.
 
С макросом пока возиться некогда, работа.
Но я ведь тут не один.
 
Попробуйте.
Код
Sub test()
Dim arr(), i&, itxt
Dim dic As Object
Set dic = CreateObject("Scripting.Dictionary")
With Лист1
    arr = .Range(.[e2], .[f2].End(xlDown)).Value
    For i = 1 To UBound(arr)
        dic.Item(CStr(arr(i, 1))) = arr(i, 2)
    Next i
    Erase arr
    arr = .Range(.[c2], .[a2].End(xlDown)).Value
    For i = 1 To UBound(arr)
        itxt = Trim(arr(i, 1)) & " " & Trim(arr(i, 2))
        If dic.exists(itxt) Then arr(i, 3) = dic.Item(itxt)
    Next i
    .Range("a2").Resize(UBound(arr), UBound(arr, 2)).Value = arr
End With
End Sub
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо большое Nordheim. Буду пробовать.
 
Можно без макросов обойтись. Закладка "Данные" -"Из таблицы". Создаем два запроса powerquery и затем третьим объединяем их, делая внешнее соединение слева/справа (всё из одной таблицы, совпадающее из другой).
Страницы: 1
Читают тему (гостей: 1)
Наверх