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

Страницы: 1 2 3 4 5 6 7 След.
Формула для подсчета одинаковых позиций
 
Добрый день. Не очень понятно про отдельную ячейку. Можно в отдельном столбце для каждой строки указать общее количество таких позиций.
Код
=СУММПРОИЗВ(($D$6:$D$304=D6)*($G$6:$G$304))
Или же нужен отдельный список с уникальными значениями, уточните.
Перераспределение товара между складами
 
Цитата
написал:
Давно такое?
Точно не могу сказать, но уже лет 10 с этим сталкивался, причина простая - в макрос можно встроить какой то  вредоносный код, который антивирус не может распознать. Ну и ретивые сисадмины, чтобы не усложнять себе жизнь просто запретили скачивание и использование файлов с макросами.  
Перераспределение товара между складами
 
Добрый день. Формулами такие задачи не решаются, потребуется макрос. С макросами последнее время есть проблемы, во многих организациях они запрещены. У вас то как?  
Расчет чистого времени между датами со временем
 
Добрый вечер. Еще пример для 2021+. Начало и окончание в любое время суток, в том числе и во время обеденного перерыва. Количество дней может быть любым. Учитываются праздники, перенесенные выходные, рабочие субботы и сокращенные предпраздничные дни.  
Рассчитать время, затраченное на полет
 
Цитата
написал:
формула содержит не распознанный текст.
Добрый день. Это для английской версии, для русской это так
Код
=ЕСЛИ(МАКС(G2:H2)-МИН(G2:H2)<=0,75/24;"50";"0")
Сортировка ячеек и столбцов
 
И еще вариант без доп. столбцов.
Применение значка # в формулах, У кого есть опыт применения значка хештега # в формулах?
 
Цитата
написал:
правильный синтаксис для использования #
Добрый вечер. Этот значок используется для работы с динамическими массивами в версиях 365, 2021 и новее. Например в ячейке A1 имеется формула =СТРОКА(B1:B5), получаем вертикальный динамический массив в диапазоне A1:A5. Чтобы сделать горизонтальный массив применим функцию ТРАНСП  
=ТРАНСП(СТРОКА(B1:B5)). Теперь можно использовать этот массив в формулах или в проверке данных указывая не диапазон, а ячейку с формулой и знаком #, например =СУММ(A1#). Изменять значения массива нельзя (кроме первого значения), получим ошибку ПЕРЕНОС, если в A6 добавить какое то значение, то оно не будет учтено при такой форме записи, придется указывать весь диапазон A1:A6. С не динамическими массивами этот значок не работает.
P.S. Разделитель элементов массива запятая используется в английской локализации, в русской, как вы выяснили, это двоеточие.
Имена умных таблиц, Как при помощи VBA задать имена Умных таблиц, используя Имя Листа и значение из Умной таблицы
 
Добрый день. Можно так
Код
Sub Кнопка1_Щелчок()
  Dim t As ListObject, ShName As String, Lname As String
  ShName = ActiveSheet.Name
  For Each t In ActiveSheet.ListObjects
    Lname = t.DataBodyRange(1, 1)
    t.Name = ShName & " " & Lname
  Next
End Sub
На вашем примере выдаст ошибку, в двух таблицах совпадают первые значения, нужно исправить.  
Последовательный выбор ячеек с нужным символом, пропуская ячейки без символа
 
Добрый вечер. Можно формулой
Код
=ЕСЛИОШИБКА(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(B3;",";"</s><s>")&"</s></t>";"//s[contains(., '/')]");"") 
Если офис раньше 2021, то вставить формулу в ячейку E5, выделить диапазон E5:E8 и нажать Ctrl+Shift+Enter
Зависимый выпадающий список для Выборочных данных
 
Добрый вечер. В столбце N выпадающих списков нет. Если списки нужны, то потребуется в параметрах проверки данных снять галку с пункта "Выводить сообщение об ошибке". Тогда можно будет вводить вручную любое значение. А формулу в строке "Источник" используйте ту же самую, если какого то значения нет в списке категорий, то выпадающий список будет пустой.  
Закрепленное значение ячейки ($) не переносится при копировании диапазона
 
Добрый вечер. Вариант без доп. формул и столбцов. Одна формула (массивная), тянуть вниз на сколько нужно.  
Макрос для замены данных в активной ячейки
 
Цитата
написал:
покажите проблему
Проблему я вам объяснил, макрос с таким именем в этом модуле может быть только один. Можно просто собрать эти два макроса в один. Правда я не вижу смысла использовать цикл For Each, Этот макрос будет срабатывать при каждом изменении значения в любой ячейке листа (на изменение значений формулами не срабатывает, только на изменение вручную или макросом). Да и менять режим EnableEvents тоже не нужно, макрос не изменяет значения в контролируемых диапазонах. Попробуйте такой вариант.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
       If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
             With Target.Offset(0, 1)
               .Value = Now
               .EntireColumn.AutoFit
            End With
       ElseIf Not Intersect(Target, Range("K1:K100")) Is Nothing Then
            If IsEmpty(Target) Or Target = "привет" Then
              Target.Offset(0, 1).ClearContents
            Else
              Target.Offset(0, 1) = Date
            End If
       End If
End Sub
Макрос для замены данных в активной ячейки
 
Добрый вечер. Есть одна ошибка - два макроса с одинаковыми именами. Если нужны оба, то нужно их объединить.
Сложение по конкретным артикулам , которые объединённые, EXcel
 
Добрый день. Вы бы показали вручную как это должно выглядеть в результате, из ваших объяснений это совсем не понятно.
Массовая замена текстовых данных, Заменить текстовые данные другими данными по точному совпадению
 
Вероятно проблема с шрифтом, не поддерживает кириллицу. Что можно посоветовать - заменить шрифт, или вручную ввести какое то слово на русской раскладке, скопировать его и вставить в макрос.    
Массовая замена текстовых данных, Заменить текстовые данные другими данными по точному совпадению
 
Здравствуйте. Плохо, что вы пример не приложили. Попробуйте такой макрос. Его нужно вставить в модуль листа. Работать будет в диапазоне A1:A10.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Range("A1:A10"), Target) Is Nothing Or Target.Count <> 1 Then Exit Sub
  Application.EnableEvents = False
  Dim fndList As Variant
  Dim rplcList As Variant
  Dim x As Long, Tmp
  Tmp = Target
  fndList = Array("FHH", "FGA", "+")
  rplcList = Array("FST", "FPT", "проверено")
  'Loop through each item in Array lists
  For x = LBound(fndList) To UBound(fndList)
        Target.Replace What:=fndList(x), Replacement:=rplcList(x), _
          LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
          SearchFormat:=False, ReplaceFormat:=False
  Next x
  If Tmp <> Target Then Target = Target & " - " & Date
  Application.EnableEvents = True
End Sub
Изменено: Старичок - 22.03.2026 10:37:47
Объединить несколько комментариев в одну ячейку после проверки условий ЕСЛИ
 
Kulibinslovoru, Добрый вечер. Вообще то функция АГРЕГАТ появилась в 2010, но это не главное. Самая большая проблема это функция СЦЕПИТЬ, ей нельзя задать в качестве параметра диапазон, нужно будет для каждой строки писать параметры, у вас в имеется 27 строк с условиями, плюс разделители между ними, то есть больше 50 параметров.
Есть вариант попроще, в нужную ячейку вставить формулу
Код
=ЕСЛИ(СУММПРОИЗВ(--(D5:D76<>""))>0;"Не выполнены логические условия  в строках";"Логические условия выполнены")
В соседнюю ячейку справа вставить формулу
Код
=ЕСЛИОШИБКА(ИНДЕКС($A$5:$A$76;НАИМЕНЬШИЙ(ЕСЛИ($D$5:$D$76<>"";СТРОКА($A$1:$A$72));СТОЛБЕЦ(A1)));"")
(формула массива), и протянуть вправо. После этого "причесать" результат, Для ячеек со второй формулой назначить формат ##, подогнать ширину столбцов и сделать заливку белым цветом для всех формул. Будет выглядеть как одна ячейка.
Объединить несколько комментариев в одну ячейку после проверки условий ЕСЛИ
 
Цитата
написал:
у меня почему-то выводит только одну строку
Добрый вечер. Попробуйте ввести формулу как массивную Ctrl+Shift+Enter.  
Объединить несколько комментариев в одну ячейку после проверки условий ЕСЛИ
 
Цитата
написал:
можете объяснить логику
Добрый вечер. Да тут вся логика состоит из одной функции ЕСЛИ, зависящей от столбца D со своими логическими выражениями. При всех выполненных условиях в этом столбце все значения будут равны "", условие  СУММПРОИЗВ(--(D5:D76<>""))>0 выдает ЛОЖЬ и выводится значение "Логические условия выполнены". А если в каких то строках имеется любой текст отличный от "", то выводится значение - "Не выполнены..."  и далее функция СЦЕП(ЕСЛИОШИБКА(ИНДЕКС... выдает через запятую список строк с невыполненными условиями. Вкратце как то так.  
Удаление строк по условию, Удаление строк по условию
 
Цитата
написал:
что-то не выходит
Не вижу примера, а перебирать все способы решения вашей задачи можно долго. Правила форума читайте.
Объединить несколько комментариев в одну ячейку после проверки условий ЕСЛИ
 
Цитата
написал:
отображать список
Например можно так.
Код
=ЕСЛИ(СУММПРОИЗВ(--(D5:D76<>""))>0;"Не выполнены логические условия  в строках "&СЦЕП(ЕСЛИОШИБКА(ИНДЕКС(A5:A76&", ";АГРЕГАТ(15;6;СТРОКА(A1:A72)/(D5:D76<>"");СТРОКА(A1:A72)));""));"Логические условия выполнены")
Для 2021+ можно покороче
Код
=ЕСЛИ(СУММПРОИЗВ(--(D5:D76<>""))>0;"Не выполнены логические условия  в строках "&ОБЪЕДИНИТЬ(", ";;ФИЛЬТР(A5:A76;D5:D76<>""));"Логические условия выполнены")
Изменено: Старичок - 14.03.2026 11:40:07
Объединить несколько комментариев в одну ячейку после проверки условий ЕСЛИ
 
Структура условий нерегулярная, сводить все в одну формулу почти бессмысленно, можно сохранить формулы в столбце D, а ниже вставить формулу
Код
=ЕСЛИ(СУММПРОИЗВ(--(D5:D76<>""))>0;"Не выполнены логические условия";"Логические условия выполнены")
Объединить несколько комментариев в одну ячейку после проверки условий ЕСЛИ
 
Добрый день. Из описания мало что понятно, а пример вообще никакой. Вы хотя бы на нескольких строках покажите какие то данные и желаемый результат.  
Сумма модулей, как посчитать сумму модулей в одной ячейке
 
Цитата
написал:
я где то про числа писал
off;
А разве математика это не про числа? И разве термин "модуль" можно применить к чему то кроме чисел?
Сумма модулей, как посчитать сумму модулей в одной ячейке
 
Цитата
БМВ,  написал:
сумма модулей выражений равна модулю суммы этих выражений
Да ну что вы, это формулируется немного по другому - модуль суммы чисел не может превышать сумму модулей этих чисел. Равенство если все числа положительные.
Сумма модулей, как посчитать сумму модулей в одной ячейке
 
Цитата
написал:
нужна формула в эксель
Добрый день. Вы приложите пример файла и всё станет ясно, что за диапазоны и что с чем складыватью  
работа с текстом. поиск по совпадениям в ячейке, поиск по точному или частичному совпадению значений
 
Добрый день. Вы зачем то в формулу загоняете весь диапазон, а проверять нужно по одной строке. Можно так, для E3.
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК("БОЛТ";B3));"ЕСТЬ";"")
Извлечь дополнительные данные из функции пользователя
 
Добрый вечер. В код особо не вникал, но эта функция возвращает двухмерный массив, а значит можно увеличить второй индекс на единицу, типа
ReDim newarr(1 To RowsCount&, LBound(arr, 2) To UBound(arr, 2)+1)
и вставить туда нужные вам данные. А в вызывающем макросе их извлечь. Это теоретически, а так нужно смотреть не конкретном примере
Как сделать список вперемешку? 111 222 333 - 123 123 123
 
Румата, Похоже мы не понимаем друг друга. Давайте разберем ваш последний пример, для упрощения назовем группы 1, 2 и 3.
В группе 1 - 10 тем, в группе 2 - 24 темы, в группе 3 - 12 тем. Покажите как должен выглядеть конечный результат.
Пока писал пропустил ваш ответ, В примере 3 группы по 24 темы, подставляем в формулу, получаем
=ИНДЕКС(A$1:A$100;СТРОКА(A1)*24-23- ЦЕЛОЕ((СТРОКА(A1)-1)/3)*71)
после удаления пустых строк получаем точно такой же результат как в примере выше у ПавлаW.
Изменено: Старичок - 14.02.2026 09:56:20
Как сделать список вперемешку? 111 222 333 - 123 123 123
 
Румата, Можете делать как вам удобно. Для регулярной структуры общая схема формулы такая:
=ИНДЕКС(A$1:A$100;СТРОКА(A1)*<к-во тем>-<к-во тем -1>- ЦЕЛОЕ((СТРОКА(A1)-1)/<к-во групп>)*(<к-во тем>*<к-во групп>-1))
Для 3-х групп по 10 вопросов будет так
=ИНДЕКС(A$1:A$100;СТРОКА(A1)*10-9- ЦЕЛОЕ((СТРОКА(A1)-1)/3)*29)
Для 4-х групп по 24 вопроса так
=ИНДЕКС(A$1:A$100;СТРОКА(A1)*24-23- ЦЕЛОЕ((СТРОКА(A1)-1)/4)*95)
Страницы: 1 2 3 4 5 6 7 След.
Наверх