Доброго времени суток! Прошу Вашей помощи. Есть продажи из 1С в виде: торговый представитель, контрагент, адрес контрагента, товарная накладная, товар. Задача: необходимо подсчитать количество торговых точек, взявшие определенный товар. Сил уже нет считать вручную, может на мысли какие подтолкнете? Во вложении пример продаж из 1С.
Доброго времени суток! Прошу Вашей помощи. Есть продажи из 1С в виде: торговый представитель, контрагент, адрес контрагента, товарная накладная, товар. Задача: необходимо подсчитать количество торговых точек, взявшие определенный товар. Сил уже нет считать вручную, может на мысли какие подтолкнете? Во вложении пример продаж из 1С.Xcu
Xcu, Добрый день, с той жестокой выгрузкой из 1с (аля Движение ТМЦ") далеко не уедешь. Необходима нормальная структурированная таблица, тогда можно играться сводной. Как должно быть - приложил, в Вашем случае к сожалению имеющуюся таблицу формулами разбить в необходимый вид вряд ли выйдет, поскольку нету к чему привязываться. Просите Вашего 1с-ника привести в нормальный вид выгружаемую таблицу)))
Xcu, Добрый день, с той жестокой выгрузкой из 1с (аля Движение ТМЦ") далеко не уедешь. Необходима нормальная структурированная таблица, тогда можно играться сводной. Как должно быть - приложил, в Вашем случае к сожалению имеющуюся таблицу формулами разбить в необходимый вид вряд ли выйдет, поскольку нету к чему привязываться. Просите Вашего 1с-ника привести в нормальный вид выгружаемую таблицу)))DJ_Marker_MC
выгрузка из 1с 8. там можно переделать структуру отчета так, чтобы данные выводились в отдельных столбцах. и тогда уже можно считать без труда
выгрузка из 1с 8. там можно переделать структуру отчета так, чтобы данные выводились в отдельных столбцах. и тогда уже можно считать без трудаmechanix85
Function skoko(r As Range, krit As String) Dim f As Boolean, c For Each c In Intersect(r, r.Parent.UsedRange) If r.Parent.Rows(c.Row).OutlineLevel = 3 Then f = True If f Then If c = krit Then If r.Parent.Rows(c.Row).OutlineLevel = 5 Then skoko = skoko + 1 f = False End If End If End If Next End Function
[/vba] Достаточно только этой UDF. Как первый аргумент указывайте таблицу (один столбец, можно указывать весь), как второй - фразу, или можно ячейку с фразой. P.S.Даже вот так, чуть дополнил код.
[vba]
Код
Function skoko(r As Range, krit As String) Dim f As Boolean, c For Each c In Intersect(r, r.Parent.UsedRange) If r.Parent.Rows(c.Row).OutlineLevel = 3 Then f = True If f Then If c = krit Then If r.Parent.Rows(c.Row).OutlineLevel = 5 Then skoko = skoko + 1 f = False End If End If End If Next End Function
[/vba] Достаточно только этой UDF. Как первый аргумент указывайте таблицу (один столбец, можно указывать весь), как второй - фразу, или можно ячейку с фразой. P.S.Даже вот так, чуть дополнил код.Hugo