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

Вход

Регистрация

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

 

= Мир MS Excel/Совмещение данных полученных с «картинки» - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Совмещение данных полученных с «картинки» (Word)
Совмещение данных полученных с «картинки»
HoBU4OK Дата: Суббота, 09.06.2018, 11:51 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток!
Появилась задача проанализировать отчет в PDF.
Структура такая: на одном листе три столбца, на втором листе - один столбец (относящийся к первому). И далее также, на нечётном листе три столбца, на четном - один.
С помощью ABBYY конвертирую данные в Excel.
Как возможно привести данные к табличному виду? (Чтобы данные с четных и нечетных листов были рядом)
К сожалению файлы Excel не имею технической возможности приложить
Для структуры данных прилагаю фото PDF

Файлы не прикладываются( Структуру вроде подробно описал


Я думал, ты остроглазый лев, а ты слепая собака :-)

Сообщение отредактировал HoBU4OK - Суббота, 09.06.2018, 11:52
 
Ответить
СообщениеДоброго времени суток!
Появилась задача проанализировать отчет в PDF.
Структура такая: на одном листе три столбца, на втором листе - один столбец (относящийся к первому). И далее также, на нечётном листе три столбца, на четном - один.
С помощью ABBYY конвертирую данные в Excel.
Как возможно привести данные к табличному виду? (Чтобы данные с четных и нечетных листов были рядом)
К сожалению файлы Excel не имею технической возможности приложить
Для структуры данных прилагаю фото PDF

Файлы не прикладываются( Структуру вроде подробно описал

Автор - HoBU4OK
Дата добавления - 09.06.2018 в 11:51
Manyasha Дата: Суббота, 09.06.2018, 14:13 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
HoBU4OK, без файла сложно чем-то помочь...


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеHoBU4OK, без файла сложно чем-то помочь...

Автор - Manyasha
Дата добавления - 09.06.2018 в 14:13
HoBU4OK Дата: Вторник, 12.06.2018, 11:27 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток!
На листе Пример результат конвертации ABBYY, на листе Желаемый результат - желаемый результат.
Количество строк около 400 000 (12000 листов PDF, около 40 строк на листе)

П.С. Возможно перенести тему в Вопросы Excel?, Вопросы VBA?
К сообщению приложен файл: 1762353.xlsx (11.4 Kb)


Я думал, ты остроглазый лев, а ты слепая собака :-)
 
Ответить
СообщениеДоброго времени суток!
На листе Пример результат конвертации ABBYY, на листе Желаемый результат - желаемый результат.
Количество строк около 400 000 (12000 листов PDF, около 40 строк на листе)

П.С. Возможно перенести тему в Вопросы Excel?, Вопросы VBA?

Автор - HoBU4OK
Дата добавления - 12.06.2018 в 11:27
HoBU4OK Дата: Среда, 13.06.2018, 10:48 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
Подниму тему...


Я думал, ты остроглазый лев, а ты слепая собака :-)
 
Ответить
СообщениеПодниму тему...

Автор - HoBU4OK
Дата добавления - 13.06.2018 в 10:48
Manyasha Дата: Среда, 13.06.2018, 11:31 | Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
HoBU4OK, можно так:
[vba]
Код
Sub toTable()
    Dim i&, cnt&, r&, res As Worksheet
    Set res = ThisWorkbook.Sheets("Результат")
    r = 2: i = 2
    
    res.Cells(2, 1).CurrentRegion.ClearContents
    Do While (Cells(i, 1) <> "")
        If Cells(i, 2) <> "" Then
            cnt = Cells(i, 3).End(xlDown).Row - i + 1
            Cells(i, 1).Resize(cnt, 3).Copy res.Cells(r, 1)
            Cells(i + cnt, 1).Resize(cnt).Copy res.Cells(r, 4)
            i = i + 2 * cnt
            r = r + cnt
        End If
    Loop
End Sub
[/vba]

Предполагается, что кол-во строк с 4-м столбцом (на четном листе) совпадает с кол-вом строк в столбцах на нечетном листе.
К сообщению приложен файл: 1762353-1.xlsm (19.9 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеHoBU4OK, можно так:
[vba]
Код
Sub toTable()
    Dim i&, cnt&, r&, res As Worksheet
    Set res = ThisWorkbook.Sheets("Результат")
    r = 2: i = 2
    
    res.Cells(2, 1).CurrentRegion.ClearContents
    Do While (Cells(i, 1) <> "")
        If Cells(i, 2) <> "" Then
            cnt = Cells(i, 3).End(xlDown).Row - i + 1
            Cells(i, 1).Resize(cnt, 3).Copy res.Cells(r, 1)
            Cells(i + cnt, 1).Resize(cnt).Copy res.Cells(r, 4)
            i = i + 2 * cnt
            r = r + cnt
        End If
    Loop
End Sub
[/vba]

Предполагается, что кол-во строк с 4-м столбцом (на четном листе) совпадает с кол-вом строк в столбцах на нечетном листе.

Автор - Manyasha
Дата добавления - 13.06.2018 в 11:31
HoBU4OK Дата: Среда, 13.06.2018, 12:13 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
Manyasha, количество строк совпадает. Спасибо, буду пробовать на оригинальном файле


Я думал, ты остроглазый лев, а ты слепая собака :-)
 
Ответить
СообщениеManyasha, количество строк совпадает. Спасибо, буду пробовать на оригинальном файле

Автор - HoBU4OK
Дата добавления - 13.06.2018 в 12:13
_Boroda_ Дата: Среда, 13.06.2018, 12:30 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
У меня такой вариант
[vba]
Код
Sub tt()
    r0_ = 2
    nr_ = Cells(Rows.Count, 1).End(3).Row - r0_ + 1
    With Cells(r0_, 1).Resize(nr_, 3)
        ar = .Value
        .Clear
    End With
    ReDim ar1(1 To nr_ / 2, 1 To 4)
    For i = 1 To nr_
        If IsEmpty(ar(i, 2)) Then
            For j = 1 To n_
                For k = 1 To 3
                    ar1(i - nn_ + j - 1, k) = ar(i - n_ + j - 1, k)
                Next k
                ar1(i - nn_ + j - 1, 4) = ar(i + j - 1, 1)
            Next j
            i = i + n_ - 1
            n_ = 0
        Else
            n_ = n_ + 1
            nn_ = nn_ + 1
        End If
    Next i
    Cells(r0_, 1).Resize(nr_ / 2, 4) = ar1
End Sub
[/vba]
К сообщению приложен файл: 1762353_1.xlsm (20.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеУ меня такой вариант
[vba]
Код
Sub tt()
    r0_ = 2
    nr_ = Cells(Rows.Count, 1).End(3).Row - r0_ + 1
    With Cells(r0_, 1).Resize(nr_, 3)
        ar = .Value
        .Clear
    End With
    ReDim ar1(1 To nr_ / 2, 1 To 4)
    For i = 1 To nr_
        If IsEmpty(ar(i, 2)) Then
            For j = 1 To n_
                For k = 1 To 3
                    ar1(i - nn_ + j - 1, k) = ar(i - n_ + j - 1, k)
                Next k
                ar1(i - nn_ + j - 1, 4) = ar(i + j - 1, 1)
            Next j
            i = i + n_ - 1
            n_ = 0
        Else
            n_ = n_ + 1
            nn_ = nn_ + 1
        End If
    Next i
    Cells(r0_, 1).Resize(nr_ / 2, 4) = ar1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 13.06.2018 в 12:30
HoBU4OK Дата: Четверг, 14.06.2018, 12:05 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, спасибо, тоже опробую


Я думал, ты остроглазый лев, а ты слепая собака :-)
 
Ответить
Сообщение_Boroda_, спасибо, тоже опробую

Автор - HoBU4OK
Дата добавления - 14.06.2018 в 12:05
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Совмещение данных полученных с «картинки» (Word)
  • Страница 1 из 1
  • 1
Поиск:

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