Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
PowerPivot перенос строки в отчете. Где unichar, CHR(10)?
 
Огромное спасибо, за подсказку. Решение лежало на поверхности. На два дня тормознулся с отчетом
PowerPivot перенос строки в отчете. Где unichar, CHR(10)?
 
Сделал пример. Очень прошу помочь. Мера "выполнено" - нужно для улучшения представления сделать перенос строки. Показателей много, слишком много столбцов для отдельных показателей. А так экономия, два в одном.
1245 штук
( 2 345 4567 руб)
PowerPivot перенос строки в отчете. Где unichar, CHR(10)?
 
 Кто то может подсказать как выполнить перенос строки  в поле сводной? В powerpivot отсутствуют функции unichar, CHR(10). Есть способы реализации?
Пример:
    1245 штук
( 2 345 4567 руб)
Изменено: zuikovod - 18.02.2022 22:47:24
PowerPivot перенос строки в отчете. Где unichar, CHR(10)?
 
Нет, не мак. У меня два офиса 2013 про на работе, и 2021 про на ноуте. И в обоих случаях функций нет в каталоге.  
PowerPivot перенос строки в отчете. Где unichar, CHR(10)?
 
Друзья, делаю отчёт на основе сводной. Офис 2013, делаю с powerpivot. Два вопроса:
1. Мне нужен перенос строки  в поле сводной, но почему то в powerpivot отсутствуют функции unichar, CHR(10). Есть способы реализации?
     1245 штук
( 2 345 4567 руб)
2. Общий вопрос о работе powerpivot: у меня надстройка включена. А будет ли работать сводная на основе powerpivot на пк, где надстройка не активирована?
Спасибо
Объединение двух таблиц с большим количеством данных
 
Предлагаю Вам обратить внимание на ms access. Можно конечно и в эксель это все делать, но мне кажется намного сложнее
Файл разросся более миллиона строк...подойдет ли для данной задачи Access?
 
По нашему - это ламерское отношение к базам, думают что установили 1с и на этом всё. Главное что бы называлось. Развитие? Что это?... ещё деньги? На что? Что тебе не хватает? Вот жми сюда, а потом сюда, представь что это поле такой смысл несёт, а потом когда тебе нужно, то вот такой. Как правило если нет в руководстве более или менее подкованных людей, такие системы на предприятии в полумертвом состоянии.
А спецы начинают свои подсистемы на коленке лабать, поскольку не в их компетенции развивать базу.  Руководить развитием базы, одно и тоже что руководить самим предприятием.
Что бы из 1с можно было нормальные отчеты заказывать, там должны быть нормальные данные, а в отсутствии поддержки и развития их как правило там нет.

И все равно оперативность получения отчетов из акса несоизмеримо выше.
Файл разросся более миллиона строк...подойдет ли для данной задачи Access?
 
Вам точно дорога в акцесс. Миллион строк, общий доступ к таблицам - это вообще не проблема. Там свой более продвинутый «ВПР», работающий в разы быстрее и интереснее. Рекомендую, сам забросил эксель. Вывожу в него только выборки и отчеты.
Несколько значений в ячейке разбить по строкам, Ключевое поле таблицы содержит несколько значений
 
Спасибо большое!
Несколько значений в ячейке разбить по строкам, Ключевое поле таблицы содержит несколько значений
 
Sanja, JeyCi, Спасибо большое за помощь. На примере работает как надо.
Попытка настроить под боевую задачу: 113 полей, резать данные в первом поле, вставлять на тоже место. Есть пустые ячейки в первом поле (вставил ииф), лишние пробелы после запятых. Код не работает - вообще ничего не происходит.
Код
Sub ReTable()
Dim arrVal(), arrTemp()
Dim I&, J&, N&, R&
On Error Resume Next
arrVal = Range("A2:DI" & Cells(Rows.Count, 2).End(xlUp).Row).Value
For I = 1 To UBound(arrVal)
    Key = IIf(arrVal(I, 1) <> "", trim(Split(arrVal(I, 1), ",")), "")
    For J = 0 To UBound(Key)
            ReDim Preserve arrTemp(112, N)
             arrTemp(0, N) = Key(J)
             For R = 2 To 113
             arrTemp(R - 1, N) = arrVal(I, R)
             Next
        N = N + 1
    Next
Next
Range("A2").Resize(UBound(arrTemp, 112) + 1, 113) = Application.Transpose(arrTemp)
End Sub
Где то ошибочка, может не одна. Поможете?

Не могу понять вот эту строчку, мне кажется в ней проблема
Код
Range("A2").Resize(UBound(arrTemp, 112) + 1, 113) = Application.Transpose(arrTemp)
Несколько значений в ячейке разбить по строкам, Ключевое поле таблицы содержит несколько значений
 
День добрый. Получаю выгрузки в формате excel. Обрабатываю данные в access. Столкнулся с проблемой. Поле которое является в моей базе ключом, часто содержит несколько значений через запятые. Соответственно на таких строчках связь в базе не работает. Необходимо нормализовать таблицу - продублировать строчки столько раз сколько ключей в ячейке и присвоить таким строчкам ключи из этой ячейки. Представляется оптимальным решать проблему в excel, до импорта в access. Может были у кого похожие задачи? Не знаю с какого бока подступиться - может инструментом разбить по столбцам? а дальше?... Объем 10 кило строк. Прошу помощи.
Изменено: zuikovod - 20.05.2017 13:52:15
Необходимо найти срок окончания действия договора по дополнительному соглашению
 
Здравствуйте.  Помогите пожалуйста, необходимо в доп. колонке (в строке договора) получить срок окончания его действия по дополнительному соглашению.
VBA Импорт текстового файла. Передача ссылки на файл в процедуру
 
заработало, но только
Код
 "TEXT;" & myFile _
VBA Импорт текстового файла. Передача ссылки на файл в процедуру
 
День добрый. Делаю макрос для импорта выгрузки из 1с.
Записал макрорекордером процедуру импорта текстового файла. Не выходит у меня скрестить процедуру выбора файла и процедуру импорта. Где я ошибку допускаю?
Код
Option Explicit
Sub выбор_файла_импорт()
Dim myFile As String 'переменная для пути к файлу
myFile = Application.GetOpenFilename("Text files(*.txt),*.txt", 2, "Выбрать текстовые", , False) 'открывает диалог выбора
If VarType(myFile) = vbBoolean Then  'если была нажата кнопка отмены - выход из процедуры
      
        Exit Sub
    End If
    Call Импорт_TXT_файлов(myFile)
End Sub
Sub Импорт_TXT_файлов(myFile As String)  Dim base1s As Worksheet
  Set base1s = ThisWorkbook.Worksheets("База1с")
  base1s.Cells.Clear
  With base1s.QueryTables.Add(Connection:= _
        "url;myFile" _
        , Destination:=Range("$A$2"))
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1251
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierNone
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
Автоматизация обновления остатка на складе и добавление новых позиций (макросом)
 
Работает отлично, думал алгоритм какой то хитрый нужен. Все гениальное просто, мешает фильтр - сними его :-) Спасибо.
Автоматизация обновления остатка на складе и добавление новых позиций (макросом)
 
Добрый вечер.
Написал небольшой код, который решает часть моей задачи. Может коряво, но он работает и обновляет остаток позиций на складе. Пока не разбирался как оптимальнее забирать данные с другой книги, расположенной в локальной сети. Свел листы в одну книгу. Пока как черновое решение, рабочее для листов одной книге
Код
Sub Обновление_остатка_на складе()
'
' Обновляет колонку "Текущий остаток на складе"
' ссылка на первый лист книги
Dim sht1 As Worksheet
Set sht1 = ActiveWorkbook.Sheets("Склад")
' ссылка на второй лист книги
Dim sht2 As Worksheet
Set sht2 = ActiveWorkbook.Sheets("Товары")
' строка для хранения идентификатора строки первой таблицы
Dim str1 As String
' строка для хранения идентификатора строки второй таблицы
Dim str2 As String
Dim last_i As Variant
Dim last_j As Variant
Dim i As Long 'счетчик для внешнего цикла
Dim j As Long 'счетчик для внутреннего цикла
'=====================================================================================
' определяем последнюю значимую строку таблицы "Склад"(последняя строка, в 1 колонке, которой есть значение)
last_i = sht1.Cells(Rows.Count, 1).End(xlUp).Row' определяем последнюю значимую строку таблицы "Товары" (последняя строка, в 1 колонке которой есть значение)
last_j = sht2.Cells(Rows.Count, 1).End(xlUp).Row
  '======================================================================================================
' пробегаем по строкам второй таблицы (внешний цикл)
For i = 2 To last_i
    ' определяем идентификатор текущей строки
         str1 = sht1.Cells(i, 1).Value
    ' пробегаем по строкам первой таблицы (внутренний цикл)
    For j = 2 To last_j
        ' определяем идентификатор текущей строки
         str2 = sht2.Cells(j, 1).Value
        ' сравниваем идентификаторы строк первой и второй таблицы
        If str2 = str1 Then
            ' если совпадение найдено, то записываем остаток товара из второй таблицы в первую таблицу          
  sht1.Cells(i, 3).Value = sht2.Cells(j, 3).Value
            ' прекращаем внутренний цикл, переходим к следующей итерации внешнего цикла
    Exit For
        End If
     Next j
Next i
 
End Sub
Столкнулся с некоторыми затруднениями. Прошу немножко помочь.
1 проблема.
last_i = sht1.Cells(Rows.Count, 1).End(xlUp).Row - в моем случае может сработать некорректно, поскольку если кто-то оставил фильтр, вернется количество строк в таблице равным последней строке в отфильтрованном диапазоне. Как подсчитать количество строк в таблице, не учитывая фильтра и скрытые строки?

2 проблема.
Чувствую, что такое решение (с перебором двумя циклами) делает очень много лишней работы. Может быть, есть более элегантные решения похожих задач и не такие ресурсоемкие? (в таблицах по 7 тысяч строк это 7 тыс * 7 тыс циклов.)
Изменено: zuikovod - 14.11.2016 20:43:00
Автоматизация обновления остатка на складе и добавление новых позиций (макросом)
 
ЩДоброго, коллеги всем. Прошу оказать помощь.
Есть книга "монитор склада",  впр по ключевому столбцу обновляю остаток товара на складе  из книг с остатками.
Впр-ом вычисляю и вручную добавляю новые позиции на складе. Хочу автоматизировать оба процесса.  
Изменено: zuikovod - 15.11.2016 19:41:47 (Уточнил задачу)
Как работает функция ПРОСМОТР?
 
Pelena,спасибо за разъяснения  
Как работает функция ПРОСМОТР?
 
Может кто подсказать почему она не хочет работать с диапазонами находящимися на соседнем листе? =ПРОСМОТР(2;1/(Лист1!A2:A161=G3)/(Лист1!B2:B161=I3);Лист1!C2:C161)  
Как работает функция ПРОСМОТР?
 
Нашёл формулу =ПРОСМОТР(2;1/(A2:A161=G3)/(B2:B161=I3);C2:C161)
в комментариях к статье http://www.planetaexcel.ru/techniques/2/224/
попробовал на небольшом участке таблицы вроде работает. Но начал вникать в содержимое и никак не пойму, как она работает. Разложил по ячейкам и не понимаю, она ищет двойку в 1/истина/истина, но ведь это 1.... Можно попросить пояснить как это работает? И второй вопрос, обязательно ли иметь сортированную таблицу для её использования (так говорит справка по функции), но на небольшом участке таблицы работает и без сортировки.
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
vikttur, Ясно. Спасибо.
sv2013, Кстати функция BBB, которая ищет в ячейке первую цифру после текста "дог", была то что нужно для моей формулы. А vvv2 у меня не заработала.
Изменено: zuikovod - 09.01.2016 00:57:12
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
Всем доброго!
Закончил я свою таблицу и хотел сказать огромное спасибо всем кто предложил решения и потратил на это свое время.
В знак благодарности я свел все решения в одну таблицу и тем самым составил некий рейтинг универсальности предложенных решений исходной задачи.
Макрос МВТ, оказался самым универсальным и продуктивным решением, в этих неоднородных данных, ну и т.д. см. приложенный файл.
Если кто из отцов допилит свои решения для общей копилки - будет здорово!!! Еще раз огромное спасибо друзья _однозначно всем!!! sv2013 и Вам особое спасибо за периоды, хотя они не везде захотели работать (буде время загляните в табл.), но тем не менее очень помогли. Остатки допилю позже вручную или формулами... vikttur, посмотрите пожалуйста на ячейку D11 - странная штука так и не понял почему Ваша формула именно здесь не работает, то ли длинна строки, то ли из-за единиц подряд - в общем голову сломал :-) Спасибо Вам то же, получилось наименее ресурсоемкое решение из всех и одно из самых продуктивных.

ps Ни когда не мог бы подумать, что под Эксель нужен мощный комп - упарился на старом ноуте :-)
Изменено: zuikovod - 09.01.2016 00:22:53
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
Здравствуйте всем! Кого можно поздравить, того с Рождеством Христовым!

Цитата
МВТ написал:
Скажу больше, вообще с трудом представляю, что можно ТАК хранить информацию, а потом пытаться ее обрабатывать
Конечно же ни кто, так информацию не хранит. Я в целях инвентаризации, натягиваю данные из бухгалтерского учета на данные своего учета... Назначение платежа - это разовая задача. Далее данные будут нормально цепляться по уникальному коду.
Таблицу,  с помощью форумчан практически прошел. Сейчас могу только по ночам заниматься таблицей. Сегодня выложу свою таблицу, со строками которые по разным причинам не обработались.
Изменено: zuikovod - 07.01.2016 11:21:11
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
Отлично! Да, я фильтрами собираюсь учитывать, что есть принципиально разные формы записи. Еще раз спасибо и за количество договоров тоже! Пойду в excel :-)
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
Помогите найти позицию первой встретившейся цифры после текста "дог" :-)
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
Так же хочется добавить, что если я выложу файл, за меня ни кто не проведет анализ всех 13 тыс строк. Там правда, видов написания до фига! Я сам еще не со всеми видами записей столкнулся. Все происходит по ходу дела. Сижу и вылавливаю: где пошло не так и почему. Кто это сделает вместо меня? Отфильтровываю однотипные записи и по ним соответствующим инструментом прохожу.
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
sv2013,Спасибо большое, но весь файл откровенно не могу и не хочу. Там точно не универсального решения для всех записей, даже с помощью волшебных макросов. Хочу сам дойти. Другого варианта привести данные в таблице в извлекаемый вид нет.
файл пример прикладываю.
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
Андрей VG, vikttur, sv2013,
Спасибо большое за участие. Забрал, попользую функцию вынимать периоды и даты = еще раз спасибо. Заодно ознакомился с двойным отрицанием - незнал. Всегда пользовался +0, *1.
По поводу номеров договоров, хочется сказать следующее. Я не смогу разместить все разнообразие записей. Это лишь маленький кусочек. Номера договоров  бывают какого хочешь формата и через дробь и №1 и 333, но благо первая всегда цифра и нет пробелов. В описании задачи, специально уточнил, что единственными надежными маркерами являются: "от", "дог", пробел и любая цифра. Предложенные же вами варианты опираются на маркер "-". Если опираться на "-" то может тысячи три строк обработается, а тем способом который я вижу и указал позволит автоматом пройти более 10 тыс строк.
Кроме того, формула для меня ценна тем, что я её могу изменить и с божьей помощью оставшиеся 2 тысяч строк одолеть + найдется штук 500 экслюзивчиков. А VBA для меня неизведанное, могу пользоваться только готовыми решениями.
Поэтому основная задача пока не решена: помогите допилить основываясь на маркерах "от", "дог", пробел и любая цифра. Как найти положение первой цифры после текста "дог." ?
Из назначения платежа вынуть № договора, его дату и оплаченный период
 
Здравствуйте уважаемые форумчане!

Помогите пожалуйста допилить
Код
=СЖПРОБЕЛЫ(ПСТР(A8;ПОИСК(число;A8;ПОИСК("дог";A8));ПОИСК("от";A8;ПОИСК("дог";A8))-ПОИСК(число;A8;ПОИСК("дог";A8))))

Задача вынуть из назначения платежа № договора, его дату и оплаченный период (с - по)
Дату договора я нашел как вынимать. Оплаченный период - тоже имею представление как сделать.
А вот с номером договора засада. Таблица ~ 13 тыс, строк. За много лет, многими исполнителями - наполнение разнообразное.
Для поиска номера договора надежными маркерами могут быть только "дог", "от", пробелы и любое число.
Когда задумывал, то надеялся на то, что можно в формулу подставить #, но был приятно удивлен. Остановился на том, что присвоил имя "число" (диспетчер имен) диапазону ={0;1;2;3;4;5;6;7;8;9} и вставил в формулу. Не работает как задумано - блин!
И еще вопрос почему не получается (надстройка PLEX) завернуть формулу внутрь =GETDATA( ) ?. А если сослаться на вычисляемую ячейку, то работает.
Страницы: 1
Наверх