Здравствуйте, Мне кажется, функция извлечения е-маил из ячейки обрезает е-маил до дефиса, включая дефис, если в е-маил есть. Так же не должно работать или я неправильно использую функцию?
да, вроде простой, и скрипт короткий, но я по нему не могу понять на что надо нажимать, чтобы получился исходный результат(( как уже только не группировал
В общем, у меня выгружает вроде те данные, что нужно, но отсекает не все. Отсекает тех, у кого 1 бренд встречается по 1-му разу, но не отсекает у кого 1 бренд, по нескольку раз (как Александр Волков с одним брендом Porsche, который у него трижды) . Мистика какая-то.
по сути, мне нужно, чтобы получилась такая же таблица, но отсеклись все сотрудники, у которых был только 1 бренд. Вот я слегка дополнил исходный файл, выделил, что должно выгрузиться, желтым. То же самое, но кроме тех, кто имеет по 1 бренду
извиняюсь, только заметил, что файл не прикрепился. Я может просто плохой объясняльщик) Если у одного человека встречаются 2 и более разных брендов, то такие данные надо выгружать - как у Сергей Власов и других, выделенных желтым. А если у человека попадается только 1 бренд, не важно сколько раз - 1 раз попадается или 100 раз, но он 1, то их надо отсечь. Вот у Александр Волков попадается трижды, но это только один бренд Porsche, он не должен выгружаться.
Всем привет, возникла необходимость из данных, загруженных в Power Query, удалить все, что встречается по 1 разу, оставив остальное - то есть то, что встречается 2 и более раз. Сверка идет сразу по двум столбцам, Имя и Бренд. http://prntscr.com/10wbg18
Вот если нужен противоположный результат в Power Query есть инструмент Удалить повторения, останутся уникальные. А вот, как оставить, только повторы. Что мне нужно, ниже пример. ------------- Например, Сергей Власов Hyundai Сергей Власов Saab
это уже 2 совпадения и эти данные нужно оставить.
А вот Александр Волков Porsche Александр Волков Porsche Александр Волков Porsche
это все считается 1 значением, и подобное нужно отсечь.
Я во вложенном примере сделал на листе Сверка просто в лоб сводную, и выделил условным форматированием то, что должно выгрузиться в Power Query. Весь массив данных именно сразу, как в примере в сводную закинуть не могу, эксель просто не справляется с обработкой, много данных. А вот если их прогнать через Power Query, то очень даже шустро сводная строится.
спасибо, а еще такой момент. А как реализовывается, если я работаю в Excel 365, с его новыми функциями, сохраняю файл, отправляю коллеге, а у него, например Office 2013. То есть в его Excel 2013 функции не будут работать, их нет будет видно или будет выдавать ошибку?
Добрый день всем. Регулярно смотрю ролики Николая Павлова и стал подумывать над переходом на Excel 365,т.к., там постоянно обновления и есть новые удобные функции, которых нет в обычных офисных Excel (я сейчас на 2016) Кто-то в курсе, как реализовано в Excel 365, это вообще скачиваемый пакет программ или это облачное приложение, в котором можно работать только при наличии интернета, типа гугл-таблиц?
И как приобрести, на сайте Майкрософт нашел товары, это же они?
Да, точно)) но справедливости ради, он хоть очень мощный, но для задачи именно когда, надо быстро отфильтровать, комбинацией скопировать видимое-отфильтрованное, а потом в другом месте/листе/книге вставить - не подойдет. Горячие клавиши прикрутить средствами PLEX не получается. Надо указать диапазон, а как я могу знать какой? Может быть одна ячейка, а может и 50 строк. Может, конечно, я не так понял суть настройки.
Являюсь счастливым обладателем данной настройки) Есть предложение, не знаю, может уже есть такая фича, но я не нашел. Суть в том, чтобы копировать данные (ячейки, строки), когда они отфильтрованы, копировать только то что, отфильтровано, не захватывая то, что скрыто. На просторах интернет нашел макрос и использую его параллельно в виде настройки. Комбинации клавиш Ctrl+Q и Ctrl+W позволяют копировать-вставить.
Если бы, было что-то подобное в PLEX, было бы прекрасно. Хотя, повторюсь, может это уже и есть, просто я не нашел.
'--------------------------------------------------------------------------------------- ' Module : mMyCopyPast ' DateTime : 30.04.2010 10:32 ' Author : The_Prist(Дмитрий) ' Purpose : http://excel-vba.ru/index.php?file=Tips_Macro_PasteInVisible '--------------------------------------------------------------------------------------- Option Explicit Dim rCopyRange As Range 'Этим макросом копируем данные Sub My_Copy() If Selection.Count > 1 Then Set rCopyRange = Selection.SpecialCells(xlVisible) Else: Set rCopyRange = ActiveCell End If End Sub 'Этим макросом вставляем данные, начиная с выделенной ячейки Sub My_Paste() If rCopyRange Is Nothing Then Exit Sub
Dim rCell As Range, li As Long, iCalculation As Integer Dim lr As Long, lc As Long, lTmpCol As Long Dim rResCell As Range, asAddrRng, lSp As Long
Application.ScreenUpdating = False iCalculation = Application.Calculation: Application.Calculation = -4135 'получаем отсортированный нужным образом список адресов ячеек asAddrRng = NoDups(rCopyRange) 'получаем первую ячейку для вставки Set rResCell = ActiveCell 'цикл по ячейкам для копирования For lSp = LBound(asAddrRng) To UBound(asAddrRng) For Each rCell In rCopyRange.Parent.Range(asAddrRng(lSp)) If lTmpCol = 0 Then lTmpCol = rCell.Column If lTmpCol < rCell.Column Then Do lc = lc + 1 Loop While rResCell.Offset(lr, lc).EntireColumn.Hidden = True lr = 0: lTmpCol = rCell.Column End If Do If rResCell.Offset(lr, lc).EntireColumn.Hidden = False And _ rResCell.Offset(lr, lc).EntireRow.Hidden = False Then rResCell.Offset(lr, lc) = rCell.Value ' rResCell.Offset(lr, lc) = rCell.Value End If lr = lr + 1 Loop While rResCell.Offset(lr, lc).EntireRow.Hidden = True Next rCell Next lSp Application.ScreenUpdating = True: Application.Calculation = iCalculation End Sub 'получение отсортированных адресов диапазона Function NoDups(rRng As Range) Dim avArr(), rCell As Range, sAddr As String, li As Long, lr As Long Dim lRow As Long, lCol As Long, objColl As New Collection
On Error Resume Next 'сортируем по строкам With New Collection For Each rCell In rRng.Cells lRow = rCell.Row sAddr = Trim(rCell.Address(0, 0)) If Len(sAddr) > 0 Then If IsEmpty(.Item(sAddr)) Then For li = 1 To .Count If lRow < Range(.Item(li)).Row Then Exit For Next If li > .Count Then .Add sAddr, sAddr Else .Add sAddr, sAddr, Before:=li End If End If Next 'сортируем по столбцам For lr = 1 To .Count lCol = Range(.Item(lr)).Column sAddr = Range(.Item(lr)).Address(0, 0) If Len(sAddr) > 0 Then If IsEmpty(objColl.Item(sAddr)) Then For li = 1 To objColl.Count If lCol < Range(objColl.Item(li)).Column Then Exit For Next If li > objColl.Count Then objColl.Add sAddr, sAddr Else objColl.Add sAddr, sAddr, Before:=li End If End If End If Next ReDim avArr(1 To objColl.Count) For li = 1 To objColl.Count avArr(li) = objColl.Item(li) Next End With NoDups = avArr() End Function
Добрый день, хотел уточнить по надстройке. Разрешенное количество активаций 5. Вот у меня почему-то пишется 4 активации использованных, хотя ставил на 3 устройствах. Может, после переустановки Windows и MS Office надстройка продолжает считать активации, не "забывает", хотя старый офис канул в лету.
Например, на Evernote тоже есть привязка к бесплатному использованию программы, 2 устройства. Но если я переезжаю в другой город, я в настройках указываю старый компьютер неактивным, и могу провести активацию на другом компьютере. На PLEX работает не так, активация остается пожизненно? То есть у меня ноутбук умер, я его утилизировал, но активации все равно считаются. То есть со временем нужно будет приобретать новую надстройку?
Добрый день. В PLEX есть замечательная возможность перевода кириллицы в латиницу. Но есть ли обратный перевод? Например, у меня названия российских городов латинскими буквами, можно ли быстро в кириллицу перевести?
Всем привет, Ребята, подскажите, есть ли нормальный гайд, как пользоваться функцией "левый ВПР" из библиотеки формул? Самой функцией ВПР из эксель я владею, но тут классика жанра, нужно впр-ить, когда столбец поиска не слева, и задача данной функции помочь в этом вопросе, так понимаю.
Hugo, благодарю, поищу пример на форуме, тоже неплохая идея. Хотя все было бы намного проще, если бы Ворд делал слияние на отдельные листы, а не в 1 файл. Так он все закидывает в один многостраничный файл, и приходится изощряться.
Nordheim, спасибо! Именно так я и хотел. Единственное, в названиях файлов, помимо города, добавляется порядковый номер Псков1.doc, Москва2.doc. Я, если честно не знаю VBA, интуитивно пытался найти, что отвечает за добавление цифр к названию и убрать, но выдает ошибку.
Hugo, да, наполнение будет. Вообще планировалась такая задача. Нужно сделать много одинаковых файлов по одному шаблону (ну типа, Здравствуйте, "имя", с вами заключен договор "номер", "город" и т.д.). Через слияние ворд и эсксель я могу сделать, чтобы были получены все нужные письма, но итоговый файл будет один и в нем все письма. То есть нужно сделать много пустых файлов ворд, туда копипастить нужные данные и давать названия городов. Я думал, как-то шаг создания массы вордовских файлов с названиями городов ускорить, чтобы потом просто открывать нужный файл и копировать туда готовое письмо.
Нужно решить такую задачу, чтобы из списка в эксель как-то на диске создавались файлы *.docx с названиями из списка. Например, в эксель список Москва Пенза Псков Воронеж
нужно, чтобы на диске создались 4 пустых *.docx с названиями этих городов.
Николай, спасибо за очередное обновление, каждый раз что-то новенькое). Однако, как мне кажется, обнаружил некоторую неточность. Вот почему-то кажется, что действия делают наоборот - в первом случае написано, что слева направо, а по факт размещает сверху вниз. Во втором, что сверху вниз, а по факту слева направо. Хотя возможно я такой непонятливый, но картинки слева кажется также указывают, как я думаю)
П.С. хотя по видимости так это и было задумано, методом втыка кажется разобрался.
Отличная штука Менеджер листов, но не позволяет защитить листы так, чтобы пользователь мог в защищенных листах добавлять строки или столбцы (стандартными средствами эксель можно такое сделать). Можно добавить в Менеджер пару опций?
Привет всем. Посоветуйте, как можно собрать в одну настройку все полезные макросы, я в этом не силен. У меня сейчас подключено много надстроек, которые грузятся по отдельности, а хотелось бы одну, в которую были подключены все мои макросы (например, как в PLEX), сделать тоже панельку в виде кнопочек и т.д.
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("B20:B23")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False newVal = Target Application.Undo oldval = Target If Len(oldval) <> 0 And oldval <> newVal Then Target = Target & ", " & newVal Else Target = newVal End If If Len(oewVal) <> 0 Then Target.ClearContens Application.EnableEvents = True End If End Sub
Привет всем. У меня полная версия PLEX, Excel 2013. При попытке воспользоваться удалением скрытых фильтром строк выбрасывает окно, хотя строки удаляет. При нажатии на End окно исчезает, и вроде все работает нормально, но есть легкое предчувствие какого-то бага.
Благодарю, The_Prist, то что нужно, огромное спасибо. Теперь как бы заставить работать эти макросы во всех открытых файлах Excel, а не только когда открывается файл с примером Tips_Macro_CopyPasteInHiddenCells.xls
P.S. Имеется ввиду, чтобы прикрутить как-то в виде кнопок в ленту или горячих клавиш, чтобы всегда была возможность такого копирования-вставки. P.S.S. Ни разу не делал, но прочитал пост выше, что можно сделать в виде надстройки, потом нашел тут http://www.excel-vba.ru/chto-umeet-excel/kak-sozdat-svoyu-nadstrojku/, и сделал, чтобы запускалось в каждом файле) кнопки сделать пока не смог, но горячие клавиши работают.
Да, как сказал, gling, копировать то можно, я уже пробовал копировать только видимые ячейки, по всякому, но вставляет то оно подряд, а не в отфильтрованные.
Привет всем. Посоветуйте, пожалуйста, есть ли возможность в Excel или надстройке PLEX копирования данных из отфильрованного диапазона из столбца В в столбец А? В столбце В на картинке на данный момент отфильтрованы только ячейки с данными, пустые ячейки скрыты. Я пока решаю это так: снимаю фильтр, потом копирую весь столбец В через специальную вставку с галкой "Пропускать пустые ячейки", а вот есть ли возможность копирования, НЕ снимая фильтр?