Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 729 След.
Как добавить в массив диапазон который имеет разрыв
 
Так всё может и не поместиться в память...
Как добавить в массив диапазон который имеет разрыв
 
Я обычно так и делал 4 параллельных массива. А при работе с массивами не особо напрягает это учитывать.
Как правильно поместить данные в массив?, ошибка "Требуется объект". Как можно исправить?
 
Я смотрел в файл! Вроде ничего не напутал.
Посчитать количество ячеек, содержащих текст "Ж"
 
Вероятно Вы не заметили словосочетания ФОРМУЛА МАССИВА?
Отключить преобразование содержимого ячейки в дату при редактировании
 
Попробуйте заменить на на ничего, а на апостроф.
Как правильно поместить данные в массив?, ошибка "Требуется объект". Как можно исправить?
 
"присвоить объект переменной" - это значит в переменной будет ссылка на объект, в данном случае на диапазон листа.
"поместить значение в массив" - это значит в МАССИВЕ будут только данные из этого диапазона, уже без привязки к диапазону, без всяких заливок/цвета/размера шрифта и т.д.
Как правильно поместить данные в массив?, ошибка "Требуется объект". Как можно исправить?
 
Сделать задание не особо сложно, если бы не это условие:
"Все комментарии, содержащие одинаковое наименование города (Москва, Москва-СИТИ, Москва. Менеджер Петров.) должны попасть в одну группу."
Исходя из этих данных - можно как название города брать первое "слово", но тогда и название листа будет это слово, т.е. уже не получится "Санкт-Петербург", а всего лишь "Санкт".
Алгоритм может быть без всяких массивов/коллекций/словарей например таким:
1. цикл по диапазону городов
2. берём первое слово (сперва заменяем все точки и тире/минусы на пробел)
3. проверяем наличие в книге такого листа, если нет - то создаём и копируем в него первую строку (шапку)
4. копируем текущую проверяемую строку в первую свободную строку этого листа.
Всё.

Если заранее заготовить список всех возможных городов - тогда можно корректно обработать и Санкт-Петербург.
Как правильно поместить данные в массив?, ошибка "Требуется объект". Как можно исправить?
 
arrTable - это в данном коде массив, не диапазон, его нельзя копировать как диапазон!
Необходимо данные со всего диапазона ячеек А2 собрать в одну ячейку.
 
Добрый день.
1. Данные со всего диапазона ячеек A2 - это ОДНА ячейка, там только одна цифра 1!
2. Если нужно переместить - это формулой не сделать, нужно писать макрос или действовать руками (погуглите значение слова "переместить").
3. " и были выведены через запятую" - а в примере сделано не так, они выведены чере запятую и пробел!
Так что в итоге нужно? Если под А2 понимать всю вторую строку - сколько ячеек нужно обработать?
Подсчёт отработанных часов и дней в графике персонала
 
Код
=ВПР($AL$8;Лист2!A:C;2;0)
=ВПР($AL$8;Лист2!A:C;3;0)
ВПР по части текста
 
Вот ответ на название темы и на первый пост:
Код
=ВПР("*"&A2&"*";$M$2:$O$31;2;0)
Изменено: Hugo - 6 Дек 2019 21:06:49
Выборка приближенных значений по дополнительному условию
 
Цитата
komandirada написал:
как отобрать все совпадения по гос номеру?
- словарь поможет.
Сцепить значения в ячейках по условию в PQ
 
Не в PQ можно используя UDF из копилки:
Код
=VLOOKUPCOUPLE(Таблица4_2[[#Все];[№ линии]:[Номер стыка]];1;[@[№ линии]];2;"; ")
Удалить строки по условию
 
1. удалять строки по одной нужно циклом снизу вверх.
2. чтоб ускорить это - убрать обновление экрана и все селекты и активации.
[ Закрыто] Выборка из двух таблиц по совпадающим значениям
 
Мне проще свою написать, чем ломать голову как сделать встроенными/стандартными.
Если не знаете что такое функция пользователя - см. приёмы -> макросы
[ Закрыто] Выборка из двух таблиц по совпадающим значениям
 
Не хотите применить свою собственную функцию пользователя?
Формат ячейки, при котором отображается прочерк или числовое значение без изменений
Закодировать данные числами и заменить их на эти числа
 
Можно собирать эти названия в словарь, каждому порядковый номер.
Или так - названия в один, сгенерённые случайные номера в другой, всё с проверкой на повтор.
Так для каждого названия будет совершенно случайный уникальный номер.
Перенос из файла в файл значений по условию
 
Есть для этого специально написанные инструменты, но они платные. Но они универсальные.
Мой с такими настройками сработал: http://prntscr.com/q4n345
Можно в следующий раз или подменить файлы, или изменить путь в настройках.
Изменено: Hugo - 1 Дек 2019 18:42:03
Как объявить переменные по количеству не нулевых значений
 
Да была на днях другая тема, где человеку при суммировании мешало то, что по стандартам компании в пустых ячейках должен был быть минус/прочерк, я там подсказал его делать на нули более сложным форматированием, чем сделано у Вас:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=123215&TITLE_SEO=123215-procherki-v-raschetakh-prinimat-za-nuli&MID=1017958&tags=&q=%D0%BA%D0%BE%D1%80%D0%BF%D0%BE%D1%8­0%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9&FORUM_ID%5B0%5D=­1&DATE_CHANGE=7&order=date&s=%D0%9D%D0%B0%D0%B9%D1%82%D0%B8#message1017958
Изменено: Hugo - 30 Ноя 2019 12:13:10
Как объявить переменные по количеству не нулевых значений
 
Чуть поменял код, но это не влияет на функциональность.
Кстати тут на днях говорили про корпоративный минус - оказывается его можно ставить проще! :)
Как объявить переменные по количеству не нулевых значений
 
Полууниверсальный макрос.
Как вариант - сперва выделить нужные ячейки первого столбца (A2:A11), затем выполнить макрос:
Код
Sub tt()
    Dim kol As New Collection, el, c As Range

    For Each c In Selection
        If Not c.Offset(, 3) <> 0 Then
            kol.Add c.Value
        End If
    Next

    Set c = Selection(1).Offset(Selection.Cells.Count + 2, 1)
    For Each el In kol
        c = el: Set c = c.Offset(, 1)
    Next
End Sub
Изменено: Hugo - 29 Ноя 2019 21:03:11
Как объявить переменные по количеству не нулевых значений
 
Да просто когда циклом идёте вниз по столбцу - проверяйте ту колонку.
И не нужно никаких переменных, кроме двух счётчиков - один цикла по столбцу, второй сдвига по строке.
Или как вариант посложнее - можно в цикле по столбцу собрать коллекцию нужных названий, затем вторым циклом по этой коллекции выгрузить её в строку.
Изменено: Hugo - 29 Ноя 2019 20:49:34
Поиск значений (без дублирования), попадающих под условие
 
Для D1. Можно конечно переменные a1 и a2 сократить, но так понятнее.
Код
=TrataPodarkov([@[Потратил (места)]];[@[Подарки (Места)]];", ")

Function TrataPodarkov(s1$, s2$, sep$) As Boolean
Dim a1, a2, el1, el2
    a1 = Split(s1, sep)
    a2 = Split(s2, sep)

    For Each el1 In a1
        For Each el2 In a2
            If el1 = el2 Then TrataPodarkov = True: Exit Function
        Next
    Next

End Function
Изменено: Hugo - 28 Ноя 2019 14:53:51
Поиск значений (без дублирования), попадающих под условие
 
Вот скорректированный под эту задачу код:
Код
Function VLOOKUPCOUPLE(Table As Variant, _
                       SearchColumnNum As Integer, _
                       SearchValue As Variant, _
                        SearchColumnNum2 As Integer, _
                        SearchValue2 As Variant, _
                        RezultColumnNum As Integer, _
                       Separator_ As String, _
                       Optional BezPovtorov As Boolean = True)
 
'Table - таблица, где ищем
'SearchColumnNum - столбец, где ищем
'SearchValue - данные, которые ищем
'RezultColumnNum - колонка, откуда берём результат
'Separator_ - разделитель, желательно вводить с пробелом в конце
'BezPovtorov - если поставить 0, то будут выведены все повторяющиеся совпадения
 
    Dim i As Long, tmp As String, vlk
 
    If TypeName(Table) = "Range" Then Table = Intersect(Table.Parent.UsedRange, Table).Value
    If BezPovtorov Then
        With CreateObject("Scripting.Dictionary")
            For i = 1 To UBound(Table)
                If Table(i, SearchColumnNum) = SearchValue Then
                If Table(i, SearchColumnNum2) = SearchValue2 Then
                    tmp = Table(i, RezultColumnNum)
                    If tmp <> "" Then
                        If Not .exists(tmp) Then
                            .Add tmp, 0&
                            vlk = vlk & Separator_ & Table(i, RezultColumnNum)
                        End If
                    End If
                    End If
                End If
            Next i
        End With
    Else
        For i = 1 To UBound(Table)
            If Table(i, SearchColumnNum) = SearchValue Then
                vlk = vlk & Separator_ & Table(i, RezultColumnNum)
            End If
        Next i
    End If
    If vlk > 0 Then vlk = Mid(vlk, Len(Separator_) + 1) Else vlk = ""
    VLOOKUPCOUPLE = vlk
End Function


В ячйку С1 писать теперь так:
Код
=VLOOKUPCOUPLE(Таблица1;1;A2;2;"Использовал подарок";3;", ")

Ну и в B1 аналогично.
Поиск значений (без дублирования), попадающих под условие
 
Да, что-то так не работает, но в любом случае этот параметр можно добавить непосредственно в код UDF.
Поиск значений (без дублирования), попадающих под условие
 
Ошибки в первом столбце- #VALUE, они мешают работать UDF. В фильтре в самом низу.
Строки 6234, 9702, 9926.
Изменено: Hugo - 28 Ноя 2019 13:47:57
Выполнить сцепку ячеек добавляя пробелы
 
При сцепке к каждой ячейке добавляете максимум (для неё) символов, от этой сцепки берёте только этот максимум (справа или слева, смотря как делать и что нужно)..
Поиск значений (без дублирования), попадающих под условие
 
1. На втором листе убрать ошибки!
2. Теперь можно применить UDF из копилки -
в B1
Код
=IF(Таблица1[Действие]="Потратил";VLOOKUPCOUPLE(Таблица1;1;A2;3;", ");"")

в C1
Код
=IF(Таблица1[Действие]="Использовал подарок";VLOOKUPCOUPLE(Таблица1;1;A2;3;", ");"")

Есть? (да, нет) похоже нужно другую UDF писать... Впрочем таких случаев нет, а на нет и суда нет :)
Изменено: Hugo - 28 Ноя 2019 16:20:38
Excel дробит страницу на много мелких, На других компьютерах файл открывается нормально
 
Потому что эта разбивка на страницы зависит от возможностей принтера, что логично.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 729 След.
Наверх