Просмотр сообщений
|
Страниц: [1] 2
|
6
|
Основные форумы / Вопросы по Excel и VBA / Re:сводная таблица без суммирования или перекрестный запрос
|
: 09.06.2018, 09:59:59
|
пытался вчера ответить, но похоже опять вчера оппозиционер ссушенный вещал - отрубили интернет. в общем, получилось, как описано, но вот вариант, когда нужно выбрать в столбце значений "город", то в некоторых выдает ошибку "Error". Очевидно, что это там, где несколько значений. например, в один месяц один сотрудник едет в несколько городов. Или в один город в один месяц едут несколько сотрудников. вопрос: что делать?
|
|
|
8
|
Основные форумы / Вопросы по Excel и VBA / сводная таблица без суммирования или перекрестный запрос
|
: 08.06.2018, 13:38:15
|
Доброго времени вам Есть файл, некий план командировок. Выглядит он из граф: ФИО - город - период Ну, то есть, кто когда и куда поедет. Нужно сделать что-то похожее на сводную таблицу. пытался через сводные сделать - но там на пересечении результат в виде арифметического действия (сумма и т.п.) А нужно сделать сводную, в которой строки - ФИО, столбцы - это периоды, а на пересечении - города командировок. Ну и обратную сводную: в строках - города, в столбцах - периоды, а на пересечении - ФИО сотрудника. Что-то вроде перекрестного запроса получается Подскажите, как это сделать малой кровью?
Файл прилагаю
|
|
|
11
|
Основные форумы / Вопросы по Excel и VBA / Re:Поиск ряда определенных символов
|
: 18.05.2018, 08:09:02
|
В общем, решил выложить полный код, который в результате получился у меня. Кому-то в помощь, а кто-то может критику подаст. Всему буду рад. Function BNBFinder(NaznacheniePlatezha As String, ListBazyPoiska As String, StolbecFIO As Integer, StolbecDBZ As Integer) As String ' ' ' 'NaznacheniePlatezha - ячейка Назначение платежа из банковской выписки текст которой будет анализироваться 'ListBazyPoiska - Название листа, в котором находятся все разнородные данные из базы и откуда будет производиться поиск 'StolbecFIO - номер столбца, содержащий ФИО должника, которого требуется определить 'StolbecDBZ - номер столбца, содержащий ДБЗ должника, которого требуется определить ' ' ' Dim SheetNumber As Integer Dim t As String Dim nurbol As String Dim x As Integer Dim r Dim s s = "" SheetNumber = Worksheets(ListBazyPoiska).Index t = NaznacheniePlatezha t = Replace(NaznacheniePlatezha, Chr(10), "") 'удаляем переносы строк With CreateObject("VBscript.RegExp") .Global = True .Pattern = "(FV)?[-#0-9?/]{6,}" If .test(t) Then For x = 0 To .Execute(t).Count - 1 Set r = Sheets(SheetNumber).UsedRange.Find(.Execute(t)(x), lookat:=xlWhole) 'xlPart) 'xlWhole) If Not r Is Nothing Then s = s + "ФИО: " & Sheets(SheetNumber).Cells(r.Row, StolbecFIO) & Chr(10) & "ДБЗ: " & Sheets(SheetNumber).Cells(r.Row, StolbecDBZ) & Chr(10) End If Next x If Len(s) > 0 Then nurbol = Left(s, Len(s) - 1) Else: nurbol = "" End If End If End With BNBFinder = nurbol End Function
|
|
|
12
|
Основные форумы / Вопросы по Excel и VBA / Re:Поиск ряда определенных символов
|
: 04.05.2018, 12:34:01
|
это определяется параметром поиска, можно изменить на поиск части понятно, будем пробовать вместо четверки и напишите какой столбец нужен. Или он не известен заранее? Да, неизвестен. Точнее, известен, но нужно передать его в параметрах функции так как разные пользователи с разными файлами. Но здесь я попробую сам. Если не получится - тогда к вам обращусь. Пока не хочу сильно тревожить - итак хорошо помогли, чтобы отвлекать на такие мелочи. перебирает и соединяет все А вот это интересно. Есть возможность, как-то их в массив, что ли, собирать, а выдавать по индексу, который передается вместе с параметрами функции? тут не подскажу, т.к. работаю только на 2010, нет возможности проверить. В 2010 тоже не находит (из-за пробела)
Ладно, будем экспериментировать. Может "lookat:=xlPart" поможет. lookat:=xlPart
Спасибо огромное.
|
|
|
13
|
Основные форумы / Вопросы по работе в Google-таблицах / Telegram, google и GPS
|
: 04.05.2018, 06:41:01
|
Коллеги, подскажите одну вещь Сделал таблицу в Гугл, раздает задания сотрудникам. Сотрудник отчитывается тоже в Гугле. Связал Гугл с телеграммом: сделал бота, который на запрос номера входящего письма выдает информацию об исполнителе, статусе исполнения и дате исполнения (если исполнены, конечно)
Хочу добавить туда, чтобы сотрудник мог отправить свои координаты из Телеграмма. В Гугл таблицу будут вноситься координаты целевой точки. Нужно, чтобы при получении определять расстояние от целевой точки до полученных координат. Проще говоря, контролировать своих сотрудников, получая подтверждение, что он фактически побывал в требуемом месте.
Первая проблема - получить координаты из Телеграмм - по этому вопросу буду в другом месте рыть, но если есть знающие - буду только рад. А вот подходящая для форума проблема - это вторая: рассчитать расстояние - пока не представляю как. Может дадите волшебного пендюля в правильном направлении?
|
|
|
14
|
Основные форумы / Вопросы по Excel и VBA / Re:Поиск ряда определенных символов
|
: 03.05.2018, 20:05:10
|
пока что выявил, что на 2016 и на 2013 офисе ведет себя по разному на 2016 офисе поиск осуществляется точно по подстроке. Т.е. значение в ячейке должно точно соответствовать искомой подстроке Это не в формуле, а в офисе видимо дело. Если искать подстроку, которая на 1 ячейку короче, чем значение в ячейке определенной, то офис ее не находит. А если добавить звездочку ("*"). то CTRL+F находит. Также видимо действует и формула. Но допиливать надо будет именно формулу.
А как задать в формуле столбец, из которого нужно брать результирующее значение? Понял, что нужно будет вставить ее здесь "s = Sheets(2).Cells(r.Row, 4)" вместо четверки, и понял, что нужно передать ее в параметрах функции. А как? Ну если совсем не сложно. Если сложно - буду сам разбираться.
Другой вопрос: а что делает функция, если в ячейке несколько возможных вариантов? Выводит первый попавшийся? А как выводить все варианты?
И - да! в 7 строке есть пробел (а точнее символ переноса вроде). Как вот здесь реализован поиск? Дело в том, что в 2016 Ексель нашел Кузнецову, а в 2013 - не нашел.
|
|
|
|
|