Страницы: 1
RSS
Как суммировать, если суммируемые элементы находятся не на одной строке.
 
Здравствуйте! Есть листы объемов работ в пдф, после конвертирования в эксель-файлы таблицы выжили, но левый столбец (с перечнем работ в каждом помещении) оказался состоящим из объединенных ячеек, а правый столбец (с количеством работ в м2)-состоящим из единичных ячеек, и ячейки с цифрой-не в той строке к какой относится объединенная ячейка с перечнем работ. Возможно ли формулой проигнорировать это несоответствие и подсчитать при любом расположении цифр в пределах объединенных ячеек с текстом?
 
Изменено: ПРОИЗВЕД - 28.02.2020 16:29:23
 
ПРОИЗВЕД,у вас пример не корректны почему
покраска разэдакая0 а не 7?
Не бойтесь совершенства. Вам его не достичь.
 
в том то и проблема-если бы семерка стояла в желтой ячейке, то эта формула ее бы посчитала, но поскольку в пдф цифры были отцентрованы относительно центра текста, они оказались в эксель-файле гдето-в районе середины объединенных ячеек. Мне не хватает знания экселя дать ему указание- если в N-й строке столбца А найден искомый текст, суммировать ячейки N+x столбца В ровно до следующей ячейки столбца А содержащей текст- так как цифры встречаются лишь раз напротив каждой объединенной ячейки-примерно по центру как было в пдф. Отправил бы оригинал да на работе остался, вот как мог в примере показал. В верхней объединенной ячейке-цифра напротив-"суммесли" ее "поймал", в нижележащих они уже невидимы для формулы
вот пример как должно посчитать
Изменено: ПРОИЗВЕД - 27.02.2020 22:04:56
 
Цитата
Есть листы объемов работ в пдф, после конвертирования в эксель-файлы таблицы выжили
Каким конвертером пользовались?
 
онлайн конвертер какой-то, я их десяток перепробовал, один только адекватно сконвертировал-текст не съел и по листам не растащил, названия не запомнил, не скажу
 
Можете привести пример .pdf файла, попробую его конвертировать, посмотрю, что получится.
 
С конвертированием проблем нет-есть с суммированием:)
может непонятно выразился-в каждой объединенной ячейке перечень работ одинаковой площади-и цифра напротив в столбце В относится к каждой работе в этом перечне.
 
Цитата
как суммировать
Макросом
Код
Sub Tablica()
Dim i As Long
Dim iLastRow As Long
Dim iDict As Object
Dim n As Integer
Dim Kol As Integer
Dim arr
  iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  Range("D2:E1000").ClearContents
    Set iDict = CreateObject("Scripting.Dictionary")
 With iDict
     .CompareMode = 1
  For i = 3 To iLastRow
    Kol = Cells(i, 1).MergeArea.Count
    Cells(i, 1) = Replace(Cells(i, 1), Chr(10), "")
    arr = Split(Cells(i, 1), ",")
      For n = 0 To UBound(arr)
        If arr(n) <> " " Then
            .Item(WorksheetFunction.Trim(arr(n))) = .Item(WorksheetFunction.Trim(arr(n))) _
            + WorksheetFunction.Sum(Range(Cells(i, 2), Cells(i + Kol - 1, 2)))
        End If
      Next
     i = i + Kol - 1
  Next
   Cells(2, 4).Resize(.Count) = Application.Transpose(.Keys)
   Cells(2, 5).Resize(.Count) = Application.Transpose(.Items)
 End With
End Sub
 
Спасибо огромное за код, к сожалению ВБА пока не освоил и довериться тому чего не понимаю не могу, речь о миллионах рублей, формулой былоб спокойнее, думал может есть вариант с комбинацией функций СМЕЩ,ПОИСКПОЗ, и т п
 
с допстолбцом устроит?
 
вот такая песня вышла
 
Цитата
Vik_tor написал:
с допстолбцом устроит?
спасибо, столбец не проблема, ток что-то не то считает, буду разбираться.
 
Если с доп.столбцом подходит - то во вложении еще вариант
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
=SUM(IF(ISNUMBER(FIND(E2;INDEX(A:A;N(INDEX(IF($B$1:$B$100<>"";MATCH(ROW($A$1:$A$100);IF($A$1:$A$100<>"";ROW($A$1:$A$100)));0);)))));$B$1:$B$100))
Массивная
Изменено: БМВ - 28.02.2020 11:30:41
По вопросам из тем форума, личку не читаю.
 
Всем большое спасибо, приемы сохраню на будущее, сейчас не актуально- пробелы не выдержаны в тексте,  в итоге пропускает ячейки, искать по одному слову не вариант, придется по старинке.Спасибо!
 
Цитата
ПРОИЗВЕД написал:
пробелы не выдержаны в тексте
в смысле?

Ну добавить
=SUM(IF(ISNUMBER(FIND(E2;TRIM(INDEX(A:A;N(INDEX(IF($B$1:$B$100<>"";MATCH(ROW($A$1:$A$100);IF($A$1:$A$100<>"";ROW($A$1:$A$100)));0);))))));$B$1:$B$100))
Изменено: БМВ - 28.02.2020 12:20:50
По вопросам из тем форума, личку не читаю.
 
Цитата
ПРОИЗВЕД написал:
пробелы не выдержаны в тексте,  в итоге пропускает ячейки, искать по одному слову не вариант, придется по старинке
Выложите несколько файлов после конвертирования без Ваших правок, интересно подумать над тем, что тут можно сделать.
 
Цитата
ПРОИЗВЕД написал:
пробелы не выдержаны в тексте
в каком? В приложенном примере нет пробелов...Вы если хотите решение, которое будет работать в боевых файлах, то и пример максимально похожий на боевой прикладывайте, а не без пробелов, нулей, строк, столбцов, цифр и чего там еще может быть, но показывать не хотите.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
ПРОИЗВЕД,
А мне интересно посмотреть на исходный пдф файл,  после преобразования которого получилась такая простыня.
 
Цитата
aequit написал:
Выложите несколько файлов после конвертирования без Ваших правок
Ок, надо будет сайт искать в истории,на рабочем компе- оригинал конвертируемый не сохранился, но в принципе-тот что я отправил особо не редактировался, ячейки залил только и штамп удалил. В общем-то такой файл кривой оказался один, другие ровнее вышли, непонятно почему его так заломало. Вчера с ним бился час, кучу сайтов перепробовал, а сегодня остальные вышли огурчиками. вот еще для спортивного азарта пару вариантов как его на других конверторах скрутило и пример других- "огурчиков"

Цитата
Kuzmich написал:
А мне интересно посмотреть на исходный пдф файл,
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
в каком? В приложенном примере нет пробелов
файл "огурчик" предпоследний столбец-верхняя ячейка, заметил что штукатурка не просуммировалась, благо штукатурка только в одной ячейке была, и дальше не стал рисковать, но все оказалось не плохо- в этих ведомостях все проще оказалось, прошлый раз от них же ведомости пришли-так штукатурок вида 4 было только, а тут все проще, по одному слову в итоге отсортировал нормальные а кривой-вручную выписать окоазалось быстрее, минут десять ушло на него, а потратил на эти танцы с конвертированием часа 4 не считая вечерних дум:)
Но пример БМВ классный,-которому и пробелы нипочем, обязательно его разберу и освою. Спасибо всем!
Изменено: ПРОИЗВЕД - 28.02.2020 20:51:46
 
Посмотрел. В "файле" огурчик ещё можно попробовать макросом "причесать" форматирование - достать информацию из объединённых ячеек и сформировать нормальную таблицу с правильной структурой, которой уже можно пользоваться с применением формул. Но Вы, как написали выше, макросы не рассматриваете... В остальных файлах слишком всё непредсказуемо и не поддаётся логике - привязаться там не к чему.
Попробуйте выложить исходник, как выше предлагали, может посоветуют нормальный конвертер или другой способ.
 
Мой прогноз - обязательно появятся пдфки внешне похожие, но совсем чуть другой конструкции внутри, и код работать не будет.
Я делал так - те что можно было выгрузить в более менее структурированный текст - парсил этот текст, и работает уже годами.
Остальные - через онлайнконвертер и далее руками, ибо столбцы/строки всегда плывут...
Страницы: 1
Наверх